迭代法解方程组

版权声明:请勿商业化使用 https://blog.csdn.net/qq_40991687/article/details/89527451

问题描述:
使用迭代法求解方程组初始值为0,0,0
在这里插入图片描述
问题分析:
将方程组的各个未知数分别移到等式左边,并且未知数前面的所有参数化为1,再改成迭代式得:

在这里插入图片描述
然后将初始值代入迭代方程组,通过多次运行解出答案
注意:
求解时方程组必须收敛,收敛条件判断详见:
https://wk.baidu.com/view/767df21e2f60ddccda38a06f

迭代法解方程组

输入:

输入题目参数
#include<cstdio>
double x=0,y=0,z=0;
void fact(double x1,double x2,double x3) {
 x=0.2*x2+0.1*x3+0.3;
 y=0.2*x1+0.1*x3+1.5;
 z=0.2*x1+0.4*x2+2;
}
int main() {
 int count =20;
 while(count--) {
  printf("x1=%lf\nx2=%lf\nx3=%lf\n",x,y,z);
  fact(x,y,z);
 }
 return 0;
}

输出:

x1=1.000000
x2=2.000000
x3=3.000000

猜你喜欢

转载自blog.csdn.net/qq_40991687/article/details/89527451