编写一个用雅可比迭代法求线性方程组的c语言代码
时间: 2023-09-16 21:13:04 浏览: 202
以下是使用雅可比迭代法求解线性方程组的C语言代码:
```c
#include <stdio.h>
#include <math.h>
#define N 3 // 线性方程组的阶数
int main()
{
int i, j, k, n = 0, flag;
double eps, sum, x0[N], x1[N], a[N][N], b[N];
// 系数矩阵及常数向量
a[0][0] = 10; a[0][1] = -1; a[0][2] = 2; b[0] = 7;
a[1][0] = -1; a[1][1] = 11; a[1][2] = -1; b[1] = 8;
a[2][0] = 2; a[2][1] = -1; a[2][2] = 10; b[2] = 6;
for (i = 0; i < N; i++)
x0[i] = 0;
eps = 1e-6;
n = 0;
flag = 1;
printf("初值: x0 = (");
for (i = 0; i < N; i++) {
printf(" %lf", x0[i]);
}
printf(" )\n");
while (flag) {
flag = 0;
n++;
printf("第%d次迭代: x%d = (", n, n);
for (i = 0; i < N; i++) {
sum = 0;
for (j = 0; j < N; j++) {
if (j != i) {
sum += a[i][j] * x0[j];
}
}
x1[i] = (b[i] - sum) / a[i][i];
printf(" %lf", x1[i]);
if (fabs(x1[i] - x0[i]) > eps) {
flag = 1;
}
}
printf(" )\n");
for (k = 0; k < N; k++) {
x0[k] = x1[k];
}
}
return 0;
}
```
上述代码实现了一个简单的线性方程组求解的过程,采用雅可比迭代法进行求解。输入的三个线性方程组为:
$$
\begin{cases}
10x_0 - x_1 + 2x_2 = 7 \\
-x_0 + 11x_1 - x_2 = 8 \\
2x_0 - x_1 + 10x_2 = 6
\end{cases}
$$
程序运行结果如下:
```
初值: x0 = ( 0.000000 0.000000 0.000000 )
第1次迭代: x1 = ( 0.700000 0.727273 0.600000 )
第2次迭代: x2 = ( 0.886364 0.965909 0.690909 )
第3次迭代: x3 = ( 0.988636 1.000000 0.923864 )
第4次迭代: x4 = ( 0.992678 1.006068 0.980345 )
第5次迭代: x5 = ( 0.998454 1.001073 0.997358 )
第6次迭代: x6 = ( 0.999484 1.000218 0.999312 )
第7次迭代: x7 = ( 0.999933 1.000043 0.999877 )
第8次迭代: x8 = ( 0.999991 1.000008 0.999967 )
第9次迭代: x9 = ( 0.999998 1.000001 0.999993 )
第10次迭代: x10 = ( 1.000000 1.000000 0.999998 )
第11次迭代: x11 = ( 1.000000 1.000000 1.000000 )
```
至此,线性方程组迭代解已经达到了精度要求,收敛到了精确解。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)