实验1:矩阵的基本运算.doc

上传人:创****公 文档编号:1856282 上传时间:2019-10-28 格式:DOC 页数:86 大小:3.05MB
返回 下载 相关 举报
实验1:矩阵的基本运算.doc_第1页
第1页 / 共86页
实验1:矩阵的基本运算.doc_第2页
第2页 / 共86页
点击查看更多>>
资源描述

《实验1:矩阵的基本运算.doc》由会员分享,可在线阅读,更多相关《实验1:矩阵的基本运算.doc(86页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1基础篇本篇包含五个线性代数的基础实验,从矩阵运算到方程组的求解;从向量组线性相关 性分析到矩阵的对角化;从矩阵特征值和特征向量求解到二次型的标准化及正定性的分析, 都给出了 MATLAB 的解决方法。实验 5 利用 MATLAB 的绘图功能,对线性代数若干概念的几 何意义进行了分析讨论。实验 1 矩阵的基本运算1.1 实验目的1.掌握 Matlab 软件的矩阵赋值方法; 2.掌握 Matlab 软件的矩阵加法、数乘、转置和乘法运算; 3.掌握 Matlab 软件的矩阵幂运算及逆运算; 4.掌握 Matlab 软件的矩阵元素群运算; 5.通过 Matlab 软件进一步理解和认识矩阵的运算规则。

2、1.2 实验指导MATLAB 是一种功能强大的科学及工程计算软件,它的名字由“矩阵实验室” (Matrix Laboratoy)组成,它具有以矩阵为基础的数学计算和分析功能,并且具有丰富 的可视化图形表现功能及方便的程序设计能力。它的应用领域极为广泛。本实验学习用 MATLAB 软件进行矩阵基本运算。 启动 MATLAB 后,将显示 MATLAB 操作界面,它包含多个窗口,其中命令窗口是最 常用的窗口,如图 1.1 所示。图 1.1 MATLAB 的操作桌面本实验所有例题的 MATLAB 命令都是在命令窗口中键入的。在本实验中用到2MATLAB 的运算符号及命令或函数列举如下: 1、运算符号

3、表 1.1 给出了本实验用到的 MATLAB 基本运算符号。表 1.1 MATLAB 的基本运算符号运算符号*/.说明赋值加减乘左除右除幂运算转置群运算2、命令或函数 表 1.2 给出了与本实验相关的 MATLAB 命令或函数。若要进一步了解和学习某个命令 或函数的详细功能和用法时,MATLAB 提供了一个 help 命令。表 1.2 与本实验相关的 MATLAB 命令或函数命令说明位置help inv在命令窗口中显示函数 inv 的帮助信息 创建矩阵例 1.1,矩阵行元素分割符号例 1.1;矩阵列元素分割符号例 1.1%注释行例 1.1eye(n)创建 n 阶单位矩阵例 1.1zeros(m

4、,n)创建 mn 阶零矩阵例 1.1zeros(n)创建 n 阶零方阵例 1.1ones(m,n)创建 mn 阶元素全为 1 的矩阵例 1.1rand(m,n)创建 mn 阶元素为从 0 到 1 的均匀分布的随机数矩阵例 1.2round(A)对矩阵 A 中所有元素进行四舍五入运算例 1.2inv(A)求矩阵 A 的逆例 1.3A-1用幂运算求矩阵 A 的逆例 1.31.3 实验内容例 1.1 用 MATLAB 软件生成以下矩阵:(1)(2)(3)(4) 066656239 A 100010001 B 0000C1111111111111111D解:(1)在 MATLAB 命令窗口输入: A=

5、9,3,2;6,5,6;6,6,0 % 矩阵同行元素以逗号或空格分割 或:A=9 3 2;6 5 6;6 6 0 % 行与行之间必须用分号或回车分隔 或:A=9 3 26 5 66 6 0结果都为: A =9 3 26 5 66 6 03(2)输入: B=eye(3) 结果为: B =1 0 00 1 00 0 1(3)输入: C = zeros(2)结果为: C =0 00 0(4)输入: D = ones(4)结果为: D =1 1 1 11 1 1 11 1 1 11 1 1 1Matlab 对矩阵赋值有直接输入和命令生成两种方法,本例中矩阵 A 就是键盘直接输入 的;而矩阵 B、C 和

6、 D 都是用 Matlab 命令而生成。例 1.2 随机生成两个 3 阶方阵 A 和 B,分别计算:(1)AB;(2)AB;(3)5A;(4)AB;(5)TA 解:输入: A=round(rand(3)*10) % rand(3):生成 3 阶元素为 01 的随机实数方 阵% round():对矩阵元素进行四舍五入运算 B=round(rand(3)*10)结果为: A =10 2 35 10 99 3 7 B =1 2 30 3 59 7 1(1)输入: AB 结果为: ans =411 4 65 13 14 18 10 8其中“ans”表示这次运算的结果。 (2)输入: AB 结果为: a

7、ns =9 0 05 7 40 -4 6(3)输入: 5*A结果为: ans =50 10 1525 50 4545 15 35(4)输入: A*B结果为: ans =37 47 4386 103 7472 76 49(5)输入 A结果为 ans =10 5 92 10 33 9 7例 1.3 已知矩阵,分别计算:(1);(2) 712010321 A5A1A解:输入: A=1,2,3;0,1,0;2,1,7结果为: A =1 2 30 1 02 1 7(1)输入:5A5结果为: ans =3409 2698 117150 1 07810 6177 26839(2)输入: inv(A)或输入

8、A-1 结果都为: ans =7 -11 -30 1 0 -2 3 1例 1.4 已知矩阵,且满足,计算矩 192250596 A 182401266 BBPA BAQ 阵和。PQ解:方法一:利用求逆矩阵的方法,输入: A=6,9,5;0,5,2;2,9,1 B=6,6,2;1,0,4;2,8,1 P=B*inv(A) Q=inv(A)*B方法二:利用 MATLAB 软件特有的矩阵“左除”和“右除”运算,输入: A=6,9,5;0,5,2;2,9,1 B=6,6,2;1,0,4;2,8,1P=B/A % 矩阵右除 Q=AB % 矩阵左除 两种方法的运算结果都为: A =6 9 50 5 22

9、9 1 B =6 6 21 0 42 8 1 P =0.8043 -1.3043 0.58700.5761 1.1739 -1.22830.0435 -0.0435 0.8696 Q =60.6087 1.4565 -1.20650.0435 0.7826 0.21740.3913 -1.9565 1.4565例 1.5 已知矩阵,分别按以下要求进行矩阵元素的群 107026305 A 254603312 B运算: (1)把矩阵 A 和矩阵 B 所有对应元素相乘,得到 9 个乘积,计算由这 9 个数所构成的同 形矩阵 C。 (2)对矩阵 A 中的所有元素进行平方运算,得到矩阵 D,求该矩阵。

10、解:Matlab 软件提供了矩阵元素群运算的功能,输入: A=5,0,3;6,2,0;7,0,1 B=2,1,3;3,0,6;4,5,-2结果为: A =5 0 36 2 07 0 1 B =2 1 33 0 64 5 -2(1)输入: C=A.*B % 在运算符号前加“.” ,其含义即为矩阵元素的群运算 结果为: C =10 0 918 0 028 0 -2(2)输入: D=A.2 % 在运算符号前加“.” ,其含义即为矩阵元素的群运算 结果为: D =25 0 936 4 049 0 11.4 实验习题1利用函数 rand 和函数 round 构造一个 55 的随机正整数矩阵 A 和 B,

11、验证以下等式是 否成立:(1);(2);(3)BAAB 22BABABATTTABAB72已知向量,请计算它们的内积。要求:43210107(1)用矩阵相乘命令计算;(2)用矩阵元素群运算的方法计算。3已知,用求逆矩阵和矩阵右除两种方法求矩阵 X。 0152095038125231135 X4、已知,其中,用求逆矩阵和矩阵左除两种方法求矩阵ABBA 200012021 BA。5、已知,求,。 4321532154215431543254321A5A1A8实验 2 行列式与方程组的求解2.1 实验目的1.掌握 Matlab 软件求行列式的命令; 2.掌握 Matlab 软件求矩阵秩的命令; 3.

12、掌握 Matlab 软件对矩阵进行初等行变换的命令; 4.掌握 Matlab 软件求解满秩线性方程组的各种方法; 5.掌握 Matlab 软件符号变量的应用; 6.通过 Matlab 软件验证与行列式相关的各种公式和定理,从而加深对相关概念的理解。2.2 实验指导本实验利用 MATLAB 软件来计算与行列式相关的各种运算问题,其中包括:行列式 的求解、矩阵秩的求解、矩阵逆的求解、利用克莱姆法则解方程组、验证行列式按行(列) 展开定理及符号变量在行列式中的应用等。 MATLAB 软件不仅拥有简单明了的命令窗口,而且也提供了程序编辑器。在实验 1 图 1.1 所示的 MATLAB 操作界面中,点击

13、左上方的小按钮,即可打开 MATLAB 的 M 文 件编辑器窗口,如图 2.1 所示,在这个窗口中可以编写扩展名为 M 的文件。图 2.1 MATLAB 的 M 文件编辑器表 2.1 给出了与本实验相关的 MATLAB 命令或函数。表 2.1 与本实验相关的 MATLAB 命令或函数命令功能说明位置A=.;在赋值语句后,若有一个分号“; ” ,它的含义是不在窗口中显示矩阵A。例 2.1U=rref(A)对矩阵 A 进行初等行变换,矩阵 U 为矩阵 A 的最简行阶梯矩阵。例 2.1clear清除工作空间中的各种变量,往往写在一个程序最前。例 2.1n=input()数据输入函数,单引号内的字符串

14、起说明作用。例 2.1ifelseifend条件语句,控制程序流程,和 C 语言功能类似。例 2.1m,n=size(A)计算结果为一个二维行向量,m,n 分别存放矩阵 A 的行数和列数。例 2.19=关系运算符号:等于例 2.1=关系运算符号:不等于例 2.1|逻辑运算符号:逻辑或例 2.1disp(.)显示单引号中的字符串例 2.1det(A)计算矩阵 A 的行列式例 2.1B(:,i)=b把向量 b 赋给矩阵 B 的第 i 列,要求矩阵 B 的列向量和向量 b 同形。例 2.1A,eye(5)创建一个 510 的矩阵,前 5 列为矩阵 A,后 5 列为单位矩阵 I例 2.2B(:,1:5

15、)取矩阵 B 的第 1 列至第 5 列例 2.2rank(A)计算矩阵 A 的秩例 2.2forendfor 循环语句,控制程序流程,和 C 语言功能类似。例 2.2T(1,:)=把一个空行赋给矩阵 T 的第 1 行,即:删除矩阵 T 的第一行。例 2.2A(i,j)引用矩阵 A 中第 i 行第 j 列的元素例 2.2format short以短格式显示例 2.2format long以长格式显示例 2.2syms x定义 x 为符号变量例 2.3factor(D) 对符号变量多项式 D 进行因式分解例 2.3solve(D)求符号变量多项式方程 D0 的解例 2.3randn(m,n)创建

16、mn 阶均值为 0,方差为 1 的标准正态分布的随机矩阵例 2.42.3 实验内容例 2.1 已知非齐次线性方程组:,要求用下列方法851035372227772902116115359131073280543265432154321543215432154321xxxxxxxxxxxxxxxxxxxxxxxxx求解该方程组。 (1)求逆矩阵法; (2)矩阵左除法; (3)初等行变换; (4)克莱姆法则。 解:(1)把齐次线性方程组写为矩阵形式:,则,直接在 MATLAB 的bAx bAx1命令窗口输入: A=6,2,3,4,5;2,-3,7,10,13;3,5,11,-16,21;2,-7,

17、7,7,2;7,3,-5,3,10; % 赋值语句最后的分号“;” ,表示不在窗口中显示矩阵 A b=80;59;90;22;85; x=inv(A)*b %或:x=A-1*b 计算结果为: x =9.00003.0000102.00001.00002.0000(2)矩阵的乘法不遵守乘法交换律,Matlab 软件定义了矩阵左除和矩阵右除运算,针对方程组的矩阵形式,等式两端同时左除 A,得到:“” 。在 MATLAB 命bAx bAx 令窗口中输入: 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

18、;22;85; x=Ab % 符号“”即为左除运算,注意它的方向。 结果为: x =9.00003.00002.00001.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) % 对增广矩阵A,b进行行初等变换 % 矩阵 U 为矩阵 A 的最简行阶梯形矩阵 运算结果为: U =1 0 0 0 0 90 1 0 0 0 30

19、0 1 0 0 20 0 0 1 0 10 0 0 0 1 2矩阵 U 即为方程组增广矩阵的最简行阶梯形矩阵,矩阵的最后一列即为方程组的解。(4)根据克莱姆法则,有:,其中是方程组的系数行列式,是用常数列向DDxi iDiD量 b 代替系数行列式的第 i 列所得到的行列式。用 Matlab 的 M 文件编辑器,编写 la01.m 文件如下: % 用克莱姆法则求解方程组 clear % 清除变量 n=input(方程个数 n) % 请用户输入方程个数 A=input(系数矩阵 A=) % 请用户输入方程组的系数矩阵 b=input(常数列向量 b=) % 请用户输入常数列向量 if (size(

20、A)=n,n) | (size(b)=n,1)% 判断矩阵 A 和向量 b 输入格式是否正确 disp(输入不正确,要求 A 是 n 阶方阵,b 是 n 维列向量)% disp:显示字符串11elseif det(A)=0 % 判断系数行列式是否为零disp(系数行列式为零,不能用克莱姆法则解此方程。) elsefor i=1:n % 计算 x1,x2,.xnB=A; % 构造与 A 相等的矩阵 BB(:,i)=b; % 用列向量 b 替代矩阵 B 中的第 i 列x(i)=det(B)/det(A); % 根据克莱姆法则计算 x1,x2,.xnendx=x % 以列向量形式显示方程组的解 en

21、d在 MATLAB 命令窗口中输入: la01得到以下人机对话结果: 方程个数 n5 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 52 -3 7 10 133 5 11 -16 212 -7 7 7 27 3 -5 3 10常数列向量 b=80;59;90;22;85 b =8059902285 x =93212显然,当方程组的系数矩阵不是方阵,或系数行列式等于零时,逆矩阵法和克莱姆法 都不能实现方程组的求解,而初等行变换的方法适合各种线性方程组的求解,在下一个实 验中将继

22、续讨论 rref 命令的详细应用。关于矩阵的左除运算,有着多种的含义,在实验 3 和实验 5 中将逐步讨论它的其它功能。12例 2.2 求矩阵的逆,要求用以下方法:411183073920325911311363164627A(1)矩阵左除和右除运算; (2)初等行变换;(3)利用伴随矩阵求逆的公式。*AAAA* 1解:在实验 1 中,已经介绍了两种求矩阵逆的方法:一种是命令法:inv(A) ,一种是幂运 算法:A-1。下面分别给出求逆矩阵的其它方法。 (1)Matlab 软件定义了矩阵的左除运算和右除运算,给矩阵运算带来了很大的方便。从公式出发,等式两边同时右除矩阵,得“” ,从而求得矩阵

23、A 的IAA1AAIA/1逆阵;若从公式出发,等式两边同时左除矩阵,得“” ,同样可以求得矩IAA1AIAA1阵 A 的逆阵。需要注意的是,左除和右除不仅是矩阵的左右位置不同,其运算符号也是不 同的。 (2)用笔来计算一个具体 n 阶方阵 A 的逆阵时,往往采用初等行变换法,即:是把 n 阶矩阵和 n 阶单位矩阵并排放在一起,然后对 n2n 矩阵做初等行变换,当其变AIIA|为最简行阶梯矩阵时,如果该矩阵的前 n 列为单位矩阵,则该矩阵的后 n 列就是矩阵I的逆矩阵;如果该矩阵的前 n 列不是单位矩阵,则矩阵不可逆。A1AIA(3)根据,可以得到求逆矩阵公式:,其中为矩阵 AIAAAAA* A

24、AA* 1*A的伴随矩阵。 在 MATLAB 的 M 文件编辑器中,编写程序 la02.m: % 逆矩阵各种求法: clear A=-7,-2,-6,4,6;1,3,-6,3,11;3,-11,9,5,-2;-3,0,-2,9,-3;7,30,- 18,11,4;% 1.命令法: An1=inv(A)% 2.幂运算法: An2=A-1% 3.右除法: An3=eye(5)/A % eye(5)为 5 阶单位矩阵 % 4.左除法: An4=Aeye(5)% 5.初等行变换法:13B=rref(A,eye(5); % 对矩阵A , I 进行初等行变换 % B 为矩阵 A 的最简行阶梯矩阵 if(r

25、ank(B(:,1:5)=5) % 判断最简行阶梯矩阵 B 的前 5 列是否为单位 阵 An5=B(:,6:10) % 取出矩阵的后 5 列,并显示 elsedisp(A 不可逆); end% 6.伴随矩阵求逆法: for i=1:5 % 构造伴随矩阵的 55 个元素for j=1:5T=A; % 把矩阵 A 赋给矩阵 TT(i,:)=; % 删去矩阵 T 的第 i 行T(:,j)=; % 删去矩阵 T 的第 j 列% 此时,|T| 为矩阵 A 元素 aij 的余子式AA(j,i)=(-1)(i+j)*det(T); % 算出 aij 的代数余子式 % 并放入矩阵 AA 的第 j 行、第 i

26、列 % 当循环结束,矩阵 AA 即为 A 的伴随矩阵end end if det(A)=0 An6=AA/det(A) elsedisp(A 不可逆); end运算程序 la02,前四个方法计算结果相同:1.0e+004 *-1.5895 1.3448 -1.0646 1.6206 -0.63081.6298 -1.3789 1.0916 -1.6617 0.64682.5392 -2.1483 1.7007 -2.5889 1.00770.3631 -0.3072 0.2432 -0.3702 0.14410.9860 -0.8342 0.6604 -1.0053 0.3913后两个方法计算

27、结果相同:-15895 13448 -10646 16206 -630816298 -13789 10916 -16617 646825392 -21483 17007 -25889 100773631 -3072 2432 -3702 14419860 -8342 6604 -10053 3913从计算结果可以发现,前四个方法得到的是实数矩阵,而后两个方法得到的是整数矩 阵。如果在 Matlab 环境下,键入:format long(以上结果是在 format short 格式下得到的) , 然后再重新运行该程序,会发现前四个方法的运算结果存在误差,这是计算机做数值运算 时,存在舍入误差的原

28、因。为了进一步观察计算机做数值运算所产生的误差,现在用上述14六种方法来计算矩阵的逆,前四种方法得到以下类似结果: 131211101010321 AWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 2.135044e-018. ans =1.0e+015 *-4.5036 -4.5036 4.50369.0072 9.0072 -9.0072-4.5036 -4.5036 4.5036显然此结果是不正确的,因为 A 不可逆。例 2.3 解方程:。02317231512

29、23112322 xx解:Matlab 软件定义了“符号变量”的概念。在 MATLAB 的 M 文件编辑器中,应用“符 号变量”编写程序 la03.m: % 求解符号行列式方程 clear all % 清除各种变量 syms x % 定义 x 为符号变量 A=3,2,1,1;3,2,2-x2,1;5,1,3,2;7-x2,1,3,2 % 给矩阵 A 赋值 D=det(A) % 计算含符号变量矩阵 A 的行列式 D f=factor(D) % 对行列式 D 进行因式分解% 从因式分解的结果,可以看出方程的 解 X=solve(D) % 求方程“D0”的解 在 MATLAB 的命令窗口输入: la

30、03运行结果为: A = 3, 2, 1, 1 3, 2, 2-x2, 1 5, 1, 3, 2 7-x2, 1, 3, 2 D = -6+9*x2-3*x4 f = -3*(x-1)*(x+1)*(x2-2) X = 1 -115 2(1/2) -2(1/2)向量 x 即为方程的解,MATLAB 针对符号变量可以得出解析解。例 2.4 请用 Matlab 软件验证行列式按行(列)展开公式:nkjkikjijiAAa1,0, 当当解:用 Matlab 程序构造了一个 5 阶随机数方阵 A。首先,按第一行展开:,验证 s 是否与 A 的行列式相等;其次,计算 A 的第一151512121111A

31、aAaAas行元素与第三行元素对应的代数余子式乘积之和:,验351532123111AaAaAas算是否为 0。在 MATLAB 的 M 文件编辑器中,编写程序 la04.m:s % 验证行列式按行(列)展开公式 clearA=round(10*randn(5); % 构造 5 阶随机数方阵 D=det(A); % 计算矩阵 A 的行列式 % 矩阵 A 按第一行元素展开:s=a11*A11+a12*A12+a15*A15 s=0; for i=1:5T=A;T(1,:)=; % 删去阵矩第 1 行T(:,i)=; % 删去矩阵第 i 列% 此时,|T| 为矩阵 A 元素 a1i 的余子式s=s

32、+A(1,i)*(-1)(1+i)*det(T); ende=D-s % 验算 D 与 s 是否相等 在 MATLAB 的命令窗口中输入: la04计算结果为: e =0在 MATLAB 的 M 文件编辑器中,编写程序 la05.m: % 计算 5 阶方阵 A 的第一行元素与第三行元素对应的代数余子式乘积之和: % s=a11*A31+a12*A32+a15*A35 clearA=round(10*randn(5); % 构造 5 阶随机数方阵 s=0; for i=1:5T=A;T(3,:)=; % 删去矩阵第 3 行T(:,i)=; % 删去矩阵第 i 列% 此时,|T| 为矩阵 A 元素

33、 a3i 的余子式s=s+A(1,i)*(-1)(3+i)*det(T); end16s % 验算 s 是否为 0 在 MATLAB 命令窗口中输入: la05计算结果为: s =02.4 实验习题1利用函数 randn 和函数 round 构造一个 66 的随机整数矩阵 A,验证矩阵 A 的行列式 满足下列性质:(1),验证;TAB AB (2)把矩阵 A 的第二行和第五行进行对调后的矩阵为 B,验证AB(3)把矩阵 A 的第三列加到第一列后的矩阵为 B,验证AB 2构造 5 阶方阵,验证公式:,其中为矩阵的伴随矩阵,AIAAAAA*AA为同阶单位阵。I3. 求解非齐次线性方程组。12010

34、9956007421292954114146221047141413235432154321543215432154321xxxxxxxxxxxxxxxxxxxxxxxxx4求下列矩阵的逆:(1) (2)931154161420221171351126112176552016101011010120007111230615351821071355求下列含符号变量的行列式,并要求把结果因式分解。(1);(2);(3)aaaaaaaaa110001100011000110001abbbabaaaababbba444422221111dcbadcbadcba17实验 3 向量组的相关性及方程组的通解

35、3.1 实验目的1.掌握 Matlab 软件分析向量组线性相关性的方法; 2.掌握 Matlab 软件求解线性方程组通解的各种方法; 3.通过 Matlab 软件进一步理解和认识齐次线性方程组解空间的概念。3.2 实验指导本实验利用 MATLAB 软件来分析向量组的线性相关性;向量的线性表示;齐次线性 方程组的通解及非齐次线性方程组的通解。 表 3.1 给出了与本实验相关的 MATLAB 命令或函数。表 3.1 与本实验相关的 MATLAB 命令或函数命令功能说明位置R,s=rref(A)把矩阵 A 的最简行阶梯矩阵赋给 R;s 是一个行向量,它的元素由 R 的基准元素所在的列号构成。例 3.

36、1length(s)计算向量 s 的长度,即向量 s 的维数。例 3.1end矩阵的最大下标,即:最后一行或最后一列。例 3.1null(A,r)计算齐次线性方程组 Ax0 的基础解系例 3.1x0=Ab求非齐次线性方程组 Axb 的一个特解 x0例 3.1fprintf按指定格式写文件,和 C 语言功能类似。例 3.2find(s)计算向量 s 中非零元素的下标例 3.2subs(A,k,n)将 A 中的所有符号变量 k 用数值 n 来替代例 3.33.3 实验内容例 3.1 求非齐次线性方程组的通解。 43192522319646372362632164425432154321543215

37、4321xxxxxxxxxxxxxxxxxxxx解:在 MATLAB 命令窗口,输入以下命令: A=2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19;% 输入系数矩阵 A b=-2;7;-23;43; % 输入常数列向量 b R,s=rref(A,b) % 把增广矩阵的最简行阶梯矩阵赋给 R% 而 R 的所有基准元素在矩阵中的列号构成了行向量 s 计算结果为: R =1 2 0 2 9 30 0 1 0 2 80 0 0 0 0 0180 0 0 0 0 0 s =1 3在得出该方程组增广矩阵的最简行阶梯矩阵 R 后,根据线性代数知识可以得到该

38、齐次 线性方程组的通解。下面,在 MATLAB 的 M 文件编辑器中,编写程序 la06.m,可以给出 该方程组的一个具体特解和对应齐次方程组的通解。 % 求齐次线性方程组的通解 clear A=2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19;% 输入系数矩阵 A b=-2;7;-23;43; % 输入常数列向量 b R,s=rref(A,b); % 把增广矩阵的最简行阶梯矩阵赋给 R% 而 R 的所有基准元素在矩阵中的列号构成了行向量 s m,n=size(A); % 矩阵 A 的行数、列数赋给了变量 m、n x0=zeros(n,1);

39、% 将特解 x0 初始化为 N 维零列向量 r=length(s); % 矩阵 A 的秩赋给变量 r x0(s,:)=R(1:r,end); % 将矩阵 R 的最后一列按基准元素的位置给特解 x0 赋 值 disp(非齐次线性方程组的特解为:) x0 % 显示特解 x0 disp(对应齐次线性方程组的基础解系为:) x=null(A,r) % 得到齐次线性方程组 Ax0 的基础解系 x 在 MATLAB 命令窗口中输入: la06运算结果为: 非齐次线性方程组的特解为: x0 =30800对应齐次线性方程组的基础解系为: x =-2 -2 -91 0 00 0 -20 1 00 0 119则方

40、程组的通解为:00803102090100200012321kkk此计算方法和与传统的笔算方法一致,所以其结果也是一致的。齐次线性方程组的特 解还可以用 Matlab 的矩阵左除运算来求得,直接在 MATLAB 命令窗口输入以下命令: A=2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19; b=-2;7;-23;43; x0=Ab % 用矩阵左除运算求得方程组特解 x0 x=null(A,r) % 得到齐次线性方程组 Ax0 的基础解系 x 运算结果为: Warning: Rank deficient, rank = 2 tol = 4.309

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com