最近学了一般线性方程组的直接解法——列主元三角分解。于是我写了一个程序,用来获取三角分解后的上三角矩阵、下三角矩阵以及方程的解。
当然这些用matlab去实现更简单,但是用C的话更能够感受到其中的算法流程。
由于C语言进行矩阵元素的话比较麻烦,所以我把它写在一个叫array_number.txt文件里了。
方便读取~
代码:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double **matrix_input(int n,FILE *file_pointer)//从指针file_pointer指向的文件里边读入二维数组信息
{
int i,j;
double **array;
array=(double **)calloc(n,sizeof(double *));
for(i=0;i<n;i++)
{
array[i]=(double *)calloc(n+1,sizeof(double));//增广矩阵
for(j=0;j<n+1;j++)
fscanf(file_pointer,"%lf",&array[i][j]);
}
return array;
}
void matri