实验2-行列式与方程组的求解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)初等行变换;

相关文档
最新文档