资源描述:
《[数学]用matlab学习线性代数_线性方程组与矩阵代数》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、用Matlab学习线性代数线性方程组与矩阵代数实验目的:熟悉线性方程组的解法和矩阵的基本运算及性质验证。Matlab命令:本练习中用到的Matlab命令有:inv,floor,rand,tic,toc,rref,abs,max,round,sum,eye,triu,ones,zeros。本练习引入的运算有:+,-,*,’,,。其中+和-表示通常标量及矩阵的加法和减法运算;*表示标量或矩阵的乘法;对所有元素为实数的矩阵,’运算对应于转置运算。若为一个非奇异矩阵(det!=0)且为一个矩阵,则运算等价于。实验内容
2、:1.用Matlab随机生成的矩阵和。求下列指定的,并确定那些矩阵是相等的。你可以利用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
3、’),H=(inv(A)*inv(B))’(3)(4)中无相等的2.令n=200,并使用命令A=floor(10*rand(n));b=sum(A’)’z=ones(n,1);注释:(n行一列全为1的矩阵)生成一个矩阵和两个中的向量,它们的元素均为整数。(因为矩阵和向量都很大,我们添加分号来控制输出。(1)方程组的真解应为。为什么?【A中的每一行的元素之和正好等于对应b的每一列,故z为其一解,又det不等于0,RA=RAb=n,故z为其解】试说明,可在Matlab中利用””运算或计算,然后用计算来求解。比较这
4、两种计算方法的速度和精度。我们将使用Matlab命令tic和toc来测量每一个计算过程消耗的时间。只需要用下面的命令:tic,x=Ab;toctic,y=inv(A)*b;toc哪一种方法更快?tic,x=Ab;更快!为了比较这两种方法的精度,可以测量求得的解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
5、和n=1000替换(1)中的。如(1)结果一样!1.令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上的每一行的元素同
6、乘以相同的数,则仍等于0】试说明。用Matlab的*运算计算AB进行验证。(3)令C=floor(10*rand(6))和D=B+C,尽管,但乘积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;2.采用如下方式构造一个矩阵。令B=eye(10)-triu(ones(10),1),参见最后附表二:为什么我们知道B必为非奇异的?【上三角矩阵的行列式的值
7、等于对角线上的元素相乘】令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计算它的行最简形。1.生成一个矩阵A:A=floor(20*rand(6))并生成一个向量b:B=floor(20*rand(6,1))-10(1)
8、因为A是随机生成的,我们可以认为它是非奇异的。那么方程组应有唯一解。用运算“”求解。用Matlab计算[Ab]的行最简形U。比较U的最后一列和解x,结果是什么?【相等】在精确算术运算时,它们应当是相等的。为什么?【行最简式中可写出对应元素的实际含义,对应处的未知元就等于最后的数】试说明。为比较他们两个,计算差U(:,7)-x或用formatlong考虑它们。(2)现在改变A,试它成为