教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

用Matlab学习线性代数 - 线性方程组与矩阵代数概要

来源:网络收集 时间:2026-01-24
导读: 用Matlab学习线性代数 线性方程组与矩阵代数 实验目的:熟悉线性方程组的解法和矩阵的基本运算及性质验证。 Matlab命令: 本练习中用到的Matlab命令有:inv,floor,rand,tic,toc,rref,abs,max,round,sum,eye,triu,ones,zeros。 本练习引入的运算

用Matlab学习线性代数 线性方程组与矩阵代数

实验目的:熟悉线性方程组的解法和矩阵的基本运算及性质验证。 Matlab命令:

本练习中用到的Matlab命令有:inv,floor,rand,tic,toc,rref,abs,max,round,sum,eye,triu,ones,zeros。

本练习引入的运算有:+,-,*,’,,\\。其中+和-表示通常标量及矩阵的加法和减法运算;*表示标量或矩阵的乘法;对所有元素为实数的矩阵,’运算对应于转置运算。若A为一个n?n非奇异矩阵(det!=0)且B为一个n?r矩阵,则运算A\\B等价于A?1B。 实验内容:

1. 用Matlab随机生成4?4的矩阵A和B。求下列指定的C,D,G,H,并确定那些矩阵是相等的。你可以利用Matlab计算两个矩阵的差来测试两个矩阵是否相等。

(1)C=A*B,D=B*A,G=(A’*B’)’,H=(B’*A’)’ C=H;D=G; (2)C=A’*B’,D=(A*B)’,G=B’*A’,H=(B*A)’ C=H;D=G; (3)C=inv(A*B),D=inv(A)*inv(B),G=inv(B*A),H=inv(B)*inv(A)

(4)C=inv((A*B)’),D=inv(A’*B’),G=inv(A’)*inv(B’),H=(inv(A)*inv(B))’

(3)(4)中无相等的

2. 令 n=200,并使用命令

A=floor(10*rand(n));

b=sum(A’)’

z=ones(n,1); 注释:(n行一列全为1的矩阵)

生成一个n?n矩阵和两个Rn中的向量,它们的元素均为整数。(因为矩阵和向量都很大,我们添加分号来控制输出。

(1) 方程组 Ax?b的真解应为z。为什么? 【A中的每一行的元素之和

正好等于对应b的每一列,故z为其一解,又det不等于0,RA=RAb=n,故z为其解】试说明,可在Matlab中利用”\\”运算或计算A?1,然后用计算A?1b来求解。比较这两种计算方法的速度和精度。我们将使用Matlab命令tic和toc来测量每一个计算过程消耗的时间。只需要用下面的命令:

tic,x=A\\b;toc tic,y=inv(A)*b; toc

哪一种方法更快? tic,x=A\\b;更快!

为了比较这两种方法的精度,可以测量求得的解x和y与真解z接近的程度。利用下面的命令:

max(abs(x-z)) max(abs(y-z))

哪种方法的到的解更精确?

>> max(abs(x-z))= 4.0168e-013 更精确!

>> max(abs(y-z)) = 6.1107e-013 (2) 用n=500和n=1000替换(1)中的n。 如(1)结果一样!

3. 令A=floor(10*rand(6))。根据构造,矩阵A将有整数元。将矩阵A的第六列更改,使得矩阵A为奇异的。令

B=A’,A(:,6)=-sum(B(1:5,:))’

(1) 设x=ones(6,1),并利用Matlab计算Ax。为什么我们知道A必为奇

异的?【因化简列,————>列成比例】试说明。通过化为行最简形来判断A是奇异的。

(2) 令B=x*[1:6],乘积AB应为零矩阵。为什么?【因A的每一行的前

五个元素之和等于第六个元素的相反数,且在A上的每一行的元素同乘以相同的数,则仍等于0】试说明。用Matlab的*运算计算AB进行验证。

(3) 令C=floor(10*rand(6))和D=B+C,尽管C?D,但乘积AC和AD是

相等的。为什么?试说明。计算A*C和A*D,并验证它们确实相等。

【此处B为令B=x*[1:6];A为A(:,6)=-sum(B(1:5,:))’】 由于A*B=0;故AC=AD;A(B+C)=AB+AC;

4. 采用如下方式构造一个矩阵。令

B=eye(10)-triu(ones(10),1), 参见最后附表二:

为什么我们知道B必为非奇异的?

【上三角矩阵的行列式的值等于对角线上的元素相乘】 令C=inv(B)且x=C(:,10),

现在用B(10,1)=-1/256将B进行微小改变。利用Matlab计算乘积Bx。

由这个计算结果,你可以得出关于新矩阵B的什么结论?【化简此时B,得行最简式,RB=9<10,可以得出B的第10列(从1—9行)与x互为相反数,且都是2的指数幂数,且第十行为0,】 它是否为奇异的?【是】 试说明。用Matlab计算它的行最简形。 5. 生成一个矩阵A: A=floor(20*rand(6)) 并生成一个向量b: B=floor(20*rand(6,1))-10

(1) 因为A是随机生成的,我们可以认为它是非奇异的。那么方程组

Ax?b应有唯一解。用运算“\\”求解。用Matlab计算[A b]的行

最简形U。比较U的最后一列和解x,结果是什么?【相等】在精确算术运算时,它们应当是相等的。为什么?【行最简式中可写出对应元素的实际含义,对应处的未知元就等于最后的数】试说明。为比较他们两个,计算差U(:,7)-x或用format long考虑它们。

(2) 现在改变A,试它成为奇异的。令 A(:,3)=A(:,1:2)*[4 3]’【第一

列乘以4加上第二列乘以3替换到第三列上】,利用Matlab计算rref([A b])。方程组Ax?b有多少组解?【无解】试说明。【RA

(3) 令 y=floor(20*rand(6,1))-10 且 c=A*y,为什么我们知道方程组

Ax=c必为 相容?的?【x此时必有一解y,故为相容的】试说明。计算[A c]的行最简形U。方程组Ax?b有多少组解?【无穷多解】试说明。【RA=RA c<6】

(4) 由行最简形确定的自由变量应为x3。通过考察矩阵U对应的方程

组,可以求得x3?0时所对应的解。将这个解作为列向量w输入Matlab中。为检验Aw?c,计算剩余向量c?Aw。

(5) 令U(:,7)?zeros(6,1)。矩阵U应对应于?A|0?的行最简形。用U求

自变量x3?1时齐次线性方程组的解(手工计算),并将你的结果输入为向量Z。用A*Z检验你的结论。

(6) 令v?w?3*z。向量v应为方程组Ax?c的解。为什么?试说明。

用Matlab计算剩余向量来验证v为方程组的解。在这个解中,自由变量x3的取值是什么? 【x3=3】 如何使用向量w和z来求所有可能的方程组的解?【v=w+n*z,其中n为任意实数】试说明。

6. 考虑下图:

(1) 确定图的邻接矩阵A,将其输入Matlab;

(2) 计算A2并确定长度为2的路的条数【72】,其起止点分别为:【A^2+A

中的数值之和,数字表示有几种路径,具体看程序】

(3) 计算A4、A6、A8并回答(2)中各种情况长度为4、【368】6、【2362】

8、【15800】的路的条数。试推测什么时候从顶点Vi到Vj没有长度为偶数 【即为0】 的路。 【i=1,j=6; i=2,j=5; i=3,j=6或8; i=4,j=7; i=5,j=8;i=6,j=1或3; i=7,j=4; i=8,j=3或6;】

(4) 计算A3、A5、A7并回答(2)中各情况长度为3、【154】5、【922】

7【6098】的路的条数。你由(3)得到的推测对长度为奇数的路是否成立?【不成立】,试说明【见程序】。推测根据i+j+k的奇偶性,

…… 此处隐藏:1261字,全部文档内容请下载后查看。喜欢就下载吧 ……
用Matlab学习线性代数 - 线性方程组与矩阵代数概要.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/608414.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)