选主元的三角分解法(2)

2019-02-15 14:13

} //交换行 double temp;

for( i = k ; i < N ;i++ ) {

temp = A[index][i]; A[index][i] = A[k][i]; A[k][i] = temp; }

temp = B[index]; B[index] = B[k];

B[k] = temp; // 构造L、U矩阵 for (j = k ; j < N; j++) {

double temp = 0;

for (int m = 0 ;m < k; m++ ) {

temp = temp + A[k][m] * A[m][j]; }

A[k][j] = A[k][j] - temp; //先构造U一行的向量 }

for( i = k+1; i < N; i++) {

double temp = 0;

for (int m =0 ; m < k; m++ ) {

temp = temp + A[i][m] * A[m][k]; }

A[i][k] = (A[i][k] - temp)/A[k][k]; //再构造L一列的向量 }

}

//求解LY = B Y[0] = B[0];

for (i = 1; i < N ; i++) {

double temp = 0; for (int j =0 ; j < i; j++ ) {

temp = temp + A[i][j] * Y[j]; }

Y[i] = B[i] - temp;

}

//求解UX = Y

X[N-1] = Y[N-1]/A[N-1][N-1]; for (i = N-2 ; i >= 0 ; i-- ) {

double temp = 0;

for (int j =i+1 ; j < N; j++ ) {

temp = temp + A[i][j] * X[j]; }

X[i] = (Y[i] - temp)/A[i][i]; }

//打印X

cout << \线性方程组的解(X1,X2,X3......Xn)为:\ for( i = 0; i < N ;i++) {

cout << X[i] <<\ } }

四、算法实现

例1. 用选主元(列)的三角分解法解

解:利用软件的解答方法为:

(1)先将程序中的维数N改为3。

(2)输入1 2 3 14回车,输入2 5 2 18 回车,输入3 1 5 20回车。 (3)显示结果 1 2 3

例2. 用选主元(列)的三角分解法解

解:利用软件的解答方法为:

(1)先将程序中的维数N改为3。

(2)输入0 3 4 1回车,输入1 -1 1 2回车,输入2 1 2 3回车。 (3)显示结果 1.27273 -1.18182 0.818182


选主元的三角分解法(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:导入新课方法举隅

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: