用高斯赛德尔迭代公式求方程组解得问题我变了一段代码,是用高斯赛德尔迭代公式求方程组解.调试的时候,显示没有语法错误,但输入数据后,不能得出结果.代码如下:#include#include#includeint mai
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/24 05:06:54
用高斯赛德尔迭代公式求方程组解得问题我变了一段代码,是用高斯赛德尔迭代公式求方程组解.调试的时候,显示没有语法错误,但输入数据后,不能得出结果.代码如下:#include#include#includeint mai
用高斯赛德尔迭代公式求方程组解得问题
我变了一段代码,是用高斯赛德尔迭代公式求方程组解.调试的时候,显示没有语法错误,但输入数据后,不能得出结果.代码如下:
#include
#include
#include
int main()
{int k=1,i,j,n,N;
scanf("%d%d\n",&n,&N);
float e=0.0005,m;
float a[n][n],y[n],x[n],b[n];
for(i=1;i
用高斯赛德尔迭代公式求方程组解得问题我变了一段代码,是用高斯赛德尔迭代公式求方程组解.调试的时候,显示没有语法错误,但输入数据后,不能得出结果.代码如下:#include#include#includeint mai
迷糊,我要睡觉了,我手里有一份高斯赛德尔迭代公式,你参考一下这个进行修改吧:(这样看格式比较乱,建议贴到你的编辑环境中看)
#include
#include
#define MAX_N 20
#define MAXREPT 100
#define epsilon 0.00001
int main()
{
int n;
int i,j,k;
int err;
double mx,tmp;
static double a[MAX_N][MAX_N],b[MAX_N][MAX_N],c[MAX_N],g[MAX_N];
static double x[MAX_N],nx[MAX_N];
printf("\nInput n value(dim of Ax=c):");
scanf("%d",&n);
if (n > MAX_N)
{
printf("The input n is larger than MAX_N,please redefine the MAX_N.\n");
return 1;
}
if (n j)
nx[j] += b[j][k] *x[k];
}
err = 0;
for (j = 0; j < n; j++)
if (err < fabs(nx[j] - x[j]))
err = fabs(nx[j] - x[j]);
for (j = 0; j < n; j++)
x[j] = nx[j];
if (err < epsilon)
{
printf("Solve...x_i=\n");
for (i = 0; i < n; i++)
printf("%f\n",x[i]);
system("pause");
return 0;
}
}
printf("After %d repeat,no result...\n",MAXREPT);
system("pause");
}