列主元素消去法Word下载.doc
《列主元素消去法Word下载.doc》由会员分享,可在线阅读,更多相关《列主元素消去法Word下载.doc(9页珍藏版)》请在冰点文库上搜索。
![列主元素消去法Word下载.doc](https://file1.bingdoc.com/fileroot1/2023-5/7/197d9772-e164-4727-863f-b276a73ee55b/197d9772-e164-4727-863f-b276a73ee55b1.gif)
经过第1次消元计算得到与原方程组等价的方程组
其中
上述过程可记为
重复上述计算过程,现假设已完成第步的选主元素过程,交换两行并进行消元计
此时约化为
其中的元素仍记为,的元素仍记为.
第步选主元素(在右下角方阵的第1列内选),即确定,使
交换第行与行的元素,再进行消元计算,最后将原线性方程组化为
回代可求解得
二、算法框图
输出迭代失败标志
交换中两行
输入(增广矩阵)
开始
输出奇异标志
结束
三、算法程序
#include<
stdio.h>
#include<
conio.h>
math.h>
stdlib.h>
#definemax_dimension20
intn;
staticfloata[max_dimension][max_dimension];
staticfloatb[max_dimension];
staticfloatx[max_dimension];
voidmain()
{
inti;
intj;
intd;
introw;
floattemp;
floatknown_items;
floatl[max_dimension][max_dimension];
system("
cls"
);
printf("
PleaseInputMatrixjieshu:
"
scanf("
%d"
&
n);
\n"
PleaseInputMatrixFactors:
"
for(i=0;
i<
n;
i++)
printf("
inputdi%dhangdezhi:
i+1);
for(j=0;
j<
j++)
{
scanf("
%f"
a[i][j]);
}
}
PleaseInputChangshuxiang:
b[i]);
TheAugmented(zenguang)Matrixis:
\n\n"
printf("
a[i][j]);
b[i]);
for(d=0;
d<
n-1;
d++)
row=d;
for(i=d+1;
if(fabs(a[i][d])>
fabs(a[row][d]))
row=i;
if(row!
=d)
for(j=d;
j<
{
temp=a[row][j];
a[row][j]=a[d][j];
a[d][j]=temp;
}
temp=b[row];
b[row]=b[d];
b[d]=temp;
l[i][d]=-a[i][d]/a[d][d];
a[i][j]=a[i][j]+a[d][j]*l[i][d];
b[i]=b[i]+b[d]*l[i][d];
TheshangsanjiaozenguangMatrixafterpredigestionis:
for(i=n-1;
i>
-1;
i--)
known_items=0;
for(j=1;
n-i;
known_items=known_items+a[i][i+j]*x[i+j];
x[i]=(b[i]-known_items)/a[i][i];
TheRootXis:
printf("
%.5f"
x[i]);
getch();
四、算法实现
例1.求解方程组:
用四位浮点数进行计算,精确解舍入到四位有效数字为
解:
运行程序
(1)显示PleaseInputMatrixjieshu:
输入的值为3,回车。
(2)显示inputdi1hangdezhi:
输入,回车。
(3)显示inputdi2hangdezhi:
(4)显示inputdi3hangdezhi:
(5)显示PleaseInputChangshuxiang:
:
(6)显示结果:
例2.用列主元素消去法解该方程
(1)显示出PleaseInputMatrixjieshu:
输入的值为4,回车。
输入回车。
(5)显示inputdi4hangdezhi:
(6)显示出PleaseInputChangshuxiang:
(7)显示结果: