杜利特尔分解Doolittle转化为克洛特分解Crout_解线性方程组的直接解法
标签:计算方法实验
const int maxn = 15;
int main(){
double a[maxn][maxn], b[maxn], y[maxn], x[maxn], l[maxn][maxn], u[maxn][maxn], d[maxn];
int i, j, k, r, n, sum;
freopen("lu.txt", "r", stdin);
scanf("%d", &n);
for(int i = 1; i <= n; i++){
for(int j = 1; j <= n; j++) scanf("%lf", &a[i][j]);
scanf("%lf", &b[i]);
}
for(i = 1; i <= n; i++) u[1][i] = a[1][i]; //U的第一行元素
for(i = 1; i <= n; i++) l[i][1] = a[i][1] / u[1][1]; //L的第一列元素
for(k = 2; k <= n; k++){
for(j = k; j <= n; j++){ //计算U的第k行元素