实验2-行列式与方程组的求解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 行列式与方程组的求解
1.
求行列式的命令; 2.
求矩阵秩的命令; 3.
求矩阵的最简行矩阵的命令; 4.
满秩线性方程组的各种方法; 5.
符号变量的应用; 6. 验证与行列式相关的公式和定理。
例2.1 已知非齐次线性方程组:
⎪⎪⎪⎩⎪⎪⎪⎨⎧=++-+=+++-=+-++=+++-=++++85
1035372227772902116115359131073280543265432154321
543215432154321x x x x x x x x x x x x x x x x x x x x x x x x x , 要求用下列方法求解该方程组。
(1)求逆矩阵法;
(2)矩阵左除法;
(3)初等行变换;
(4)克莱姆法则。
解:(1)把非齐次线性方程组写为矩阵形式:
b Ax =,则b A x 1-=,直接在MATLAB 的命令窗口输入:
A=[6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,7,7,2;7,3,-5,3,10];
b=[80;59;90;22;85];
x=inv(A)*b
%或:x=A^-1*b
计算结果为:
x =
9.0000
3.0000
2.0000
1.0000
2.0000
(2)矩阵的乘法不遵守乘法交换律,
Matlab 软件定义了矩阵左除和矩阵右除运算,
针对方程组的矩阵形式b Ax =,可用左除法
等式两端同时左除A ,得到:“b A x \=”,即b A x 1
-=
针对矩阵方程B XA =,,可用右除法,等式两端同时右除A ,A B X /=,
即1-=BA X
在MATLAB 命令窗口中输入:
A=[6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,7,7,2;7,3,-5,3,10];
b=[80;59;90;22;85];
x=A\b
% 符号“\”即为左除运算,注意它的方向。
结果为:
x =
9.0000
3.0000
2.0000
1.0000
2.0000
(3)用初等行变换,
把方程组的增广矩阵变换为最简行阶梯形式,
从而得到方程组的解。在MATLAB 命令窗口中输入:
A=[6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,7,7,2;7,3,-5,3,10];
b=[80;59;90;22;85];
U=rref([A,b])
运算结果为:
U =
1 0 0 0 0 9
0 1 0 0 0 3
0 0 1 0 0 2
0 0 0 1 0 1
0 0 0 0 1 2
(4)根据克莱姆法则,有:D
D x i i
, 其中D 是方程组的系数行列式, i D 是用常数列向量b 代替系数行列式的
第i 列所得到的行列式。
用Matlab 的M 文件编辑器,编写la01.m 文件如下:
% 用克莱姆法则求解方程组
clear % 清除变量
n=input('方程个数n =') % 请用户输入方程个数
A=input('系数矩阵A=') % 请用户输入方程组的系数矩阵
b=input('常数列向量b=') % 请用户输入常数列向量
if (size(A)~=[n,n]) | (size(b)~=[n,1])
% 判断矩阵A 和向量b 输入格式是否正确
disp('输入不正确,要求A 是n 阶方阵,b 是n 维列向量')
% disp :显示字符串
elseif det(A)==0 % 判断系数行列式是否为零
disp('系数行列式为零,不能用克莱姆法则解此方程。')
else
for i=1:n % 计算x1,x2,...xn
B=A; % 构造与A 相等的矩阵B
B(:,i)=b; % 用列向量b 替代矩阵B 中的第i 列 x(i)=det(B)/det(A); % 根据克莱姆法则计算x1,x2,...xn end
x=x' % 以列向量形式显示方程组的解 end
在MATLAB 命令窗口中输入:
la01
得到以下人机对话结果:
方程个数n =5
n =
5
系数矩阵A=
[6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,7,7,2;7,3,-5,3,10]
A =
6 2 3 4 5
2 -
3 7 10 13
3 5 11 -16 21
2 -7 7 7 2
7 3 -5 3 10
常数列向量b=[80;59;90;22;85]
b =
80
59
90
22
85
x =
9
3
2
1
2
例2.2求矩阵⎥⎥⎥⎥⎥
⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎣⎡----------=411183073920325911311363164627A 的逆,要求用以下方法:
(1)矩阵左除和右除运算;
(2)初等行变换;