重要的算法C语言实现源代码9
9.幂法C/C++ code
#include<stdio.h>
#include<math.h>
#define N 100
#define e 0.00001
#define n 3
float x={0,0,1};
float a={{2,3,2},{10,3,4},{3,6,1}};
float y;
main()
{ int i,j,k;
float xm,oxm;
oxm=0;
for(k=0;k<N;k++)
{ for(j=0;j<n;j++)
{ y=0;
for(i=0;i<n;i++)
y+=a*x;
}
xm=0;
for(j=0;j<n;j++)
if(fabs(y)>xm) xm=fabs(y);
for(j=0;j<n;j++)
y/=xm;
for(j=0;j<n;j++)
x=y;
if(fabs(xm-oxm)<e)
{ printf("max:%f\n\n",xm);
printf("v:\n");
for(k=0;k<n;k++) printf("%f\n",y);
break;
}
oxm=xm;
}
getch();
}
关于本帖内容欢迎大家踊跃讨论,与在下交流!
超喜欢的,写的不错,棒棒的
页:
[1]