c语言高斯消去法解线性方程组
时间: 2023-12-21 15:31:01 浏览: 188
以下是使用C语言实现高斯消元法解线性方程组的代码示例:
```c
#include <stdio.h>
#define N 3 // 线性方程组的未知数个数
int main()
{
float a[N][N+1] = {{2, 1, -1, 8}, {-3, -1, 2, -11}, {-2, 1, 2, -3}}; // 线性方程组的系数矩阵和常数矩阵
int i, j, k;
float m;
// 高斯消元
for (i = 0; i < N-1; i++) {
for (j = i+1; j < N; j++) {
m = a[j][i] / a[i][i];
for (k = i; k < N+1; k++) {
a[j][k] -= m * a[i][k];
}
}
}
// 回带求解
float x[N];
for (i = N-1; i >= 0; i--) {
x[i] = a[i][N];
for (j = i+1; j < N; j++) {
x[i] -= a[i][j] * x[j];
}
x[i] /= a[i][i];
}
// 输出结果
printf("The solution is:\n");
for (i = 0; i < N; i++) {
printf("x%d = %f\n", i+1, x[i]);
}
return 0;
}
```
上述代码中,我们首先定义了一个3x4的系数矩阵和常数矩阵,然后进行高斯消元和回带求解,最后输出结果。你可以根据自己的需要修改系数矩阵和常数矩阵的值,以求解不同的线性方程组。
阅读全文