写出矩阵求逆完整C语言代码
时间: 2023-11-16 09:53:57 浏览: 61
矩阵求逆是一个比较复杂的数学问题,需要使用高斯-约旦消元法等算法来实现。以下是一个简单的矩阵求逆的C语言代码示例:
```c
#include <stdio.h>
#define N 3
void print_matrix(double matrix[N][N*2]) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N*2; j++) {
printf("%f ", matrix[i][j]);
}
printf("\n");
}
}
void swap(double *a, double *b) {
double temp = *a;
*a = *b;
*b = temp;
}
void gauss_jordan(double matrix[N][N*2]) {
for (int i = 0; i < N; i++) {
if (matrix[i][i] == 0) {
int j;
for (j = i+1; j < N; j++) {
if (matrix[j][i] != 0) {
break;
}
}
if (j == N) {
printf("Matrix is singular\n");
return;
}
for (int k = 0; k < N*2; k++) {
swap(&matrix[i][k], &matrix[j][k]);
}
}
double divisor = matrix[i][i];
for (int j = 0; j < N*2; j++) {
matrix[i][j] /= divisor;
}
for (int j = 0; j < N; j++) {
if (i != j) {
double factor = matrix[j][i];
for (int k = 0; k < N*2; k++) {
matrix[j][k] -= factor * matrix[i][k];
}
}
}
}
}
int main() {
double matrix[N][N*2] = {
{1, 2, 3, 1, 0, 0},
{4, 5, 6, 0, 1, 0},
{7, 8, 9, 0, 0, 1}
};
printf("Original matrix:\n");
print_matrix(matrix);
gauss_jordan(matrix);
printf("Inverted matrix:\n");
print_matrix(matrix);
return 0;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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://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://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://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)