迭代数组算法帮忙看一下
//求方程组:x1-x2-x3=2,2x1-x2-3x3=1,3x1+2x2-5x3=0
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define MAX 10
#define epsilon 1e-10
int main()
{
float x[MAX],y[MAX],delta[MAX];
int i,n=3;
for (i=1;i<=n;i++){ //输入初始近似解
printf("please input x%d:",i);
scanf("%f",&x[i]);
}
do{
for (i=1;i<=n;i++)
y[i]=x[i];
x[1]=x[2]+x[3]+2;
x[2]=2*x[1]-3*x[3]-1;
x[3]=(3*x[1]+2*x[2])/5;
for (delta[1]=0.0,i=1;i<=n;i++)
if (fabs(y[i]-x[i])>delta[i]) delta[i]=fabs(y[i]-x[i]);
}while(delta[1]>epsilon && delta[2]>epsilon && delta[2]>epsilon);
for (i=1;i<=n;i++)
printf("x[%d]=%f ",i,x[i]);
printf("\n");
system("PAUSE");
return 0;
}
上面执行只有输入这个方程的本身解5 0 3 才能得到正确答案,其余输入全部是-1.
还有就是请问一下"初始近似解"是怎什么意思.高手帮忙看一下.谢了