几代实验求解线性方程组.docx
《几代实验求解线性方程组.docx》由会员分享,可在线阅读,更多相关《几代实验求解线性方程组.docx(8页珍藏版)》请在冰豆网上搜索。
几代实验求解线性方程组
《几何与代数》实验报告
姓名:
闵博雅
学号:
19015204
院系:
化学化工学院
《几何与代数》实验报告
学号:
19015204姓名:
闵博雅得分:
实验2求解线性方程组
实验内容:
用三种不同的方法求解线性方程组
。
其中,常数项列向量
的分量是你的学号,系数矩阵为
实验目的:
1、掌握MATLAB中若干基本命令。
2、利用MATLAB求解齐次线性方程组。
3、掌握不同的方法求解方程组。
方法1:
利用矩阵消元法求解;
实验原理:
将线性方程组的增广矩阵通过行的初等变换化为行简化阶梯形矩阵 ,则以行简化阶梯形矩阵为增广矩阵的线性方程组与原方程组同解。
当方程组有解时,将其中单位列向量对应的未知量取为非自由未知量,其余的未知量取为自由未知量,即可找出线性方程组的解。
实验方案:
>>A=[11000000;12100000;01310000;00141000;00015100;00001610;00000171;00000018],b=[1;9;0;1;5;2;0;4],formatrat,X=A\b
实验结果:
A=
11000000
12100000
01310000
00141000
00015100
00001610
00000171
00000018
b=
1
9
0
1
5
2
0
4
X=
-5133/442
5575/442
-2039/442
1794/1463
148/209
31/133
-156/1463
751/1463
方法2:
利用GRAMER法则求解
实验原理:
用克莱姆法则求解方程组有两个前提,一是方程的个数要等于未知量的个数,二是系数矩阵的行列式要不等于零。
用克莱姆法则求解方程组实际上相当于用逆矩阵的方法求解线性方程组。
实验方案:
>>a=[1;1;0;0;0;0;0;0],b=[1;2;1;0;0;0;0;0],c=[0;1;3;1;0;0;0;0],d=[0;0;1;4;1;0;0;0],e=[0;0;0;1;5;1;0;0],f=[0;0;0;0;1;6;1;0],g=[0;0;0;0;0;1;7;1],h=[0;0;0;0;0;0;1;8],i=[1;9;0;1;5;2;0;4],D=det([a,b,c,d,e,f,g,h]),
a=[1;1;0;0;0;0;0;0];b=[1;2;1;0;0;0;0;0];c=[0;1;3;1;0;0;0;0];d=[0;0;1;4;1;0;0;0];e=[0;0;0;1;5;1;0;0];f=[0;0;0;0;1;6;1;0];g=[0;0;0;0;0;1;7;1];h=[0;0;0;0;0;0;1;8];i=[1;9;0;1;5;2;0;4];D1=det([i,b,c,d,e,f,g,h]),D2=det([aicdefgh]),D3=det([abidefgh]),D4=det([abciefgh]),D5=det([a,b,c,d,i,f,g,h]),D6=det([a,b,c,d,e,i,g,h]),D7=det([a,b,c,d,e,f,i,h]),D8=det([a,b,c,d,e,f,g,i]),
实验结果:
a=
1
1
0
0
0
0
0
0
b=
1
2
1
0
0
0
0
0
c=
0
1
3
1
0
0
0
0
d=
0
0
1
4
1
0
0
0
e=
0
0
0
1
5
1
0
0
f=
0
0
0
0
1
6
1
0
g=
0
0
0
0
0
1
7
1
h=
0
0
0
0
0
0
1
8
i=
1
9
0
1
5
2
0
4
D=
10241
D1=
-118930
D2=
129171
D3=
-47243
D4=
12558
D5=
7252
D6=
2387
D7=
-1092
D8=
5257
>>
方法3利用Gauss消元法求解
实验原理:
高斯消元法可以用来找出一个可逆矩阵的逆矩阵。
设A为一个N*N的矩阵,其逆矩阵可被两个分块矩阵表示出来。
将一个N*N单位矩阵放在A的右手边,形成一个N*2N的分块矩阵B=[A,I]。
经过高斯消元法的计算程序后,矩阵B的左手边会变成一个单位矩阵I,而逆矩阵A^(-1)会出现在B的右手边。
假如高斯消元法不能将A化为三角形的格式,那就代表A是一个不可逆的矩阵
实验方案:
先用MATLAB把该方程组的增广矩阵化为行最简A=[11000000;12100000;01310000;00141000;00015100;00001610;00000171;00000018],b=[1;9;0;1;5;2;0;4],B=[A,b]>>A=[11000000;12100000;01310000;00141000;00015100;00001610;00000171;00000018],b=[1;9;0;1;5;2;0;4],B=[A,b],C=rref(B),
实验结果:
A=
11000000
12100000
01310000
00141000
00015100
00001610
00000171
00000018
b=
1
9
0
1
5
2
0
4
B=
110000001
121000009
013100000
001410001
000151005
000016102
000001710
000000184
C=
1.00000000000-11.6131
01.000000000012.6131
001.000000000-4.6131
0001.000000001.2262
00001.00000000.7081
000001.0000000.2331
0000001.00000-0.1067
00000001.00000.5133
结果分析:
1、克莱姆法则.用克莱姆法则求解方程组有两个前提,一是方程的个数要等于未知量的个数,二是系数矩阵的行列式要不等于零。
用克莱姆法则求解方程组实际上相当于用逆矩阵的方法求解线性方程组,它建立线性方程组的解与其系数和常数间的关系,但由于求解时要计算n+1个n阶行列式,其工作量常常很大,所以克莱姆法则常用于理论证明,很少用于具体求解。
2、应用上,高斯消元法极少被用来求出逆矩阵。
高斯消元法通常只为线性方程组求解。