求解方程组的解向量:Ax=b,
令 A=LU; //求解L矩阵和U矩阵可以利用一般高斯消元法,也可以用直接法
则 LUx=b;
令 y=Ux;
则 Ly=b;
所以根据L矩阵和b向量,可求出y向量,再根据y向量和U矩阵求解x向量即可
#include<cstdio>
#include<cmath>
using namespace std;
const int N=100;
double a[N][N],b[N];
double set0_cal(double a[N][N],int k,int j){ //求u[][]的求和部分
double sum=0;
for(int i=1;i<=k-1;i++)
sum+=a[k][i]*a[i][j];
return sum;
}
double set_cal(double a[N][N],int i,int k){ //求l[][]的求和部分
double sum=0;
for(int j=1;j<=k-1;j++)
sum+=a[i][j]*a[j][k];
return sum;
}
double get0_cal(double a[N][N],double y[N],int k){ //求y[][]的求和部分
double sum=0;
for(int j=1;j<=k-1;j++)
sum+=a[k][j]*y[j];
return sum;
}
double get_cal(double a[N][N],double x[N],int k,int n){ //求x[][]的求和部分
double sum=0;
for(int