数值分析幂法求矩阵特征值
#include
#include
#define N 3
void matrixx(double A[N][N],double x[N],double v[N])
{
for(int i=0;i
v[i]=0;
for(int j=0;j
}
} double slove(double v[N])
{
double max;
for(int i=0;i
return max; }
void main()
{ //data input double
double A[N][N]={-1.0,1.0,0,-4.0,3.0,0,1.0,0,2.0};
double x[N]={1,1,1};
double v[N]={0,0,0};
double u[N]={0,0,0};
double p[N]={0,0,0};
double e=1e-10,delta=1;
int k=0;
while(delta >= e)
{
for(int q=0;q
matrixx(A,x,v);
for(int i=0;i
delta=fabs(slove(v)-slove(p));
k++;
for(int l=0;l
cout << "迭代次数 " << k << endl;
cout << "矩阵的特征值 " << slove(v) << endl;
cout << "( " ;
for(int i=0;i
cout << ") " <<
endl;
}
相关主题