用c语言求矩阵的最简行矩阵
时间: 2023-12-02 08:03:09 浏览: 48
要求矩阵的最简行矩阵,需要进行高斯-约旦消元法,以下为C语言代码实现:
```c
#include <stdio.h>
#define ROW 3 // 矩阵行数
#define COL 4 // 矩阵列数
void print_matrix(float matrix[ROW][COL]) { // 打印矩阵
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%.2f ", matrix[i][j]);
}
printf("\n");
}
}
void gaussian_jordan(float matrix[ROW][COL]) { // 高斯-约旦消元法
for (int i = 0; i < ROW; i++) {
float tmp = matrix[i][i];
for (int j = 0; j < COL; j++) {
matrix[i][j] /= tmp;
}
for (int j = 0; j < ROW; j++) {
if (i == j) continue;
tmp = matrix[j][i];
for (int k = 0; k < COL; k++) {
matrix[j][k] -= matrix[i][k] * tmp;
}
}
}
}
int main() {
float matrix[ROW][COL] = {{1, 2, 3, 4},
{2, 3, 4, 5},
{3, 4, 5, 6}}; // 待求矩阵
printf("Original matrix:\n");
print_matrix(matrix);
gaussian_jordan(matrix);
printf("\nSimplified row echelon form:\n");
print_matrix(matrix);
return 0;
}
```
以上代码会输出矩阵的最简行矩阵。