线性代数实验报告_第1页
线性代数实验报告_第2页
线性代数实验报告_第3页
线性代数实验报告_第4页
线性代数实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、线性代数实验报告数学实验报告题目第一次实验题目一、 实验目的1熟悉MATLAB的矩阵初等运算;2掌握求矩阵的秩、逆、化最简阶梯形的命令;3会用MABLAB求解线性方程组二、 问题求解和程序设计流程1 已知,在MATLAB命令窗口中建立A、B矩阵并对其进行以下操作:(1) 计算矩阵A的行列式的值(2) 分别计算下列各式: 、 和、 、 、 、 解: (1) 编写程序如下: A=4 -2 2;-3 0 5;1 5 3;B=1 3 4;-2 0 -3;2 -1 1;a=det(A)运行结果:a =-158 (2)编写程序如下: C=2*A-BD=A*BE=A.*B F=A/BG=ABH=A*AK=A

2、运行结果:C = 7 -7 0 -4 0 13 0 11 5D = 12 10 24 7 -14 -7 -3 0 -8E = 4 -6 8 6 0 -15 2 -5 3F = 0 0 2.0000 -2.7143 -8.0000 -8.1429 2.4286 3.0000 2.2857G = 0.4873 0.4114 1.0000 0.3671 -0.4304 0 -0.1076 0.2468 0H = 24 2 4 -7 31 9 -8 13 36K = 4 -3 1 -2 0 5 2 5 32 在MATLAB中分别利用矩阵的初等变换及函数rank、函数inv求下列矩阵的秩:(1) 求 R

3、ank(A)=? (2) 求解:(1)编写程如下:format ratA=1 -6 3 2;3 -5 4 0;-1 -11 2 4; rref(A)运行结果:ans = 1 0 0 -8/5 0 1 0 0 0 0 1 6/5 由A经初等变换后得到的行最简型可知:A的秩为3。A=1 -6 3 2;3 -5 4 0;-1 -11 2 4;rank(A)直接利用rank函数求出A的秩为3.(2)编写程序如下: B=3 5 0 1;1 2 0 0;1 0 2 0;1 2 0 2; inv(B)运行结果:ans = 2.0000 -4.0000 0 -1.0000 -1.0000 2.5000 0 0

4、.5000 -1.0000 2.0000 0.5000 0.5000 0 -0.5000 0 0.50003. 在MATLAB中判断下列向量组是否线性相关,并找出向量组中的一个最大线性无关组:,解:编写程序如下:format ratA=1 -1 5 -1;1 1 -2 3;3 -1 8 1;2 3 9 7;a=det(A);if a=0 fprintf(以上矩阵线性相关) b=rref(A)else fprintf(以上矩阵线性无关)end运行结果:以上矩阵线性相关b = 1 0 0 12/11 0 1 0 59/33 0 0 1 -2/33 0 0 0 0 分析:由运行结果可知:该向量组的一

5、个极大无关组为:1,2,3.4、在MATLAB中判断下列方程组解的情况,若有多个解,写出通解:(1) (2) 解:(1)编写程序如下: format ratA=1 -1 4 -2;1 -1 -1 2;3 1 7 -2;1 -3 -12 6;a=rank(A)if a=4 fprintf(该方程组只有零解n)else a4 fprintf(该方程组有多组解n) a=null(A,r); syms k1 k2 x=k1*a(:,1)+k2*a(:,2)end运行结果:a = 4 该方程组只有零解(2)编写程序如下: format ratB=2 3 1 4;1 -2 4 -5;3 8 -2 13;4

6、 -1 9 -6; rref(B)运行结果:ans = 1 0 2 -1 0 1 -1 2 0 0 0 0 0 0 0 0 分析:由B的增广矩阵的最简型可知,该方程组有无穷多组解。编程如下: format rat a=null(B,r); syms k1 k2 x=k1*a(:,1)+k2*a(:,2) 运行结果如下: x = -2*k1+k2 k1-2*k2 k1 k2分析:记x3,x4为自由未知量k1,k2,则该方程组的通解为:X1= -2*k1+k2X2= k1-2*k2X3= k1X4= k2 5、化方阵为对角阵.解:编写程序如下: format rat A=2 2 -2;2 5 -4

7、;-2 -4 5;tx,tz=eig(A)运行结果:tx = -963/3230 2584/2889 1/3 -963/1615 -1292/2889 2/3 -963/1292 0 -2/3 tz = 1 0 0 0 1 0 0 0 10 分析:由以上运行结果可直接得出:A的对角矩阵为tz = 1 0 0 0 1 0 0 0 10 6、求一个正交变换,将二次型化为标准型。解:编写程序如下: A=5 -1 3;-1 5 -3;3 -3 3;P,D=eig(A)运行结果:P = 0.4082 0.7071 -0.5774 -0.4082 0.7071 0.5774 -0.8165 0 -0.57

8、74D = -0.0000 0 0 0 4.0000 0 0 0 9.0000 分析与结论: 由以上运行结果可知,求得的正交向量P为:P = 0.4082 0.7071 -0.5774 -0.4082 0.7071 0.5774 -0.8165 0 -0.5774使得p-1Ap=diag(0,4,9).因此,通过正交变换X=py,可以将f化为标准型:f=4y22+9y32.第二次实验题目一、实验目的(1) 熟悉三维空间中的线性变换,加深对正交变换保持距离不变性的理解(2) 深刻理解矩阵特征值的内涵二、问题求解和程序设计流程问题:(1)使用图形窗口的旋转工具,你发现了什么问题?你能否说明上述向量

9、序列(点)分布在两个不同的圆周上?若是,你如何证明以及这两个圆的方程是什么?(2)例4与例5生成向量序列(点)在空间分布“形状”不同是因为什么?分别计算例4和例5中变换矩阵的行列式与特征值,你发现了什么?(3)若上述变换矩阵为实对称正交矩阵,情况又如何?解:(1)因为进行迭代并执行程序得:编写程序:x=rand(3,1)A=2/3,1/sqrt(2),1/(3*sqrt(2);1/3,0,-4/(3*sqrt(2);2/3,-1/sqrt(2),1/(3*sqrt(2);ax=x;n=100; for k=1:n x=A*x; ax=ax,x;endplot3(ax(1,:),ax(2,:),

10、ax(3,:),*)运行结果:x = 0.9134 0.6324 0.0975可以观察到上述向量序列(点)分布在两个不同的圆周上。验证如下:编写程序如下:x=0.9134;0.6324;0.0975;A=2/3,1/sqrt(2),1/(3*sqrt(2);1/3,0,-4/(3*sqrt(2);2/3,-1/sqrt(2),1/(3*sqrt(2);ax=x;n=100; for k=1:n x=A*x; ax=ax,x; endfor k=1:99 dot(cross(ax(:,k),ax(:,k+1),ax(:,k+2) end运行结果:ans = -0.2232ans = 0.2232

11、ans = -0.2232ans = 0.2232ans = -0.2232 运行结果按照上述规律依次排列。分析与结论:因为三个向量混合积的结果为相隔一个分别相等,所以可以形成两个半径不同的圆。即上述向量序列(点)分布在两个不同的圆周上。 求圆方程如下: 编写程序如下:x=0.9134;0.6324;0.0975;A=2/3,1/sqrt(2),1/(3*sqrt(2);1/3,0,-4/(3*sqrt(2);2/3,-1/sqrt(2),1/(3*sqrt(2);ax=x;n=100; for k=1:n x=A*x; ax=ax,x; endfor k=3:2:99 if norm(ax(

12、:,1)-ax(:,k)norm(ax(:,1)-ax(:,k+2) d1=norm(ax(:,1)-ax(:,k+2); m1=ax(:,k+2); endendfor t=4:2:98 if norm(ax(:,2)-ax(:,t)norm(ax(:,2)-ax(:,t+2) d2=norm(ax(:,2)-ax(:,t+2); m2=ax(:,t+2); endendr1=d1/2A=(x+m1);A=A;r2=d2/2B=(x+m2);B=B;fprintf(圆1的方程是:(x-%.4f)2+(y-%.4f)2+(z-%.4f)2=%.4f2n,A(1)/2,A(2)/2,A(3)/2

13、,r1)fprintf(圆2的方程是:(x-%.4f)2+(y-%.4f)2+(z-%.4f)2=%.4f2n,B(1)/2,B(2)/2,B(3)/2,r2) 运行结果: r1 = 1.1047r2 = 1.1047圆1的方程是:(x-0.0587)2+(y-0.1072)2+(z-0.0901)2=1.10472圆2的方程是:(x-0.0315)2+(y-0.1026)2+(z-0.1381)2=1.10472分析与结论:上述向量序列(点)分布在两个不同的圆周上,且该两圆半径相等。 (2)两者空间分布不同时由于变换矩阵的行列式互为相反数。 编程如下:formatA=-0.6068,0.44

14、43,-0.6591;-0.4007,-0.8871,-0.2290;-0.6865,0.1251,0.7163;B=2/3,1/sqrt(2),1/(3*sqrt(2);1/3,0,-4/(3*sqrt(2);2/3,-1/sqrt(2),1/(3*sqrt(2);a,tza=eig(A)b,tzb=eig(B)q=det(A)w=det(B) 运行结果:a = 0.3864 + 0.0000i -0.0081 - 0.6521i -0.0081 + 0.6521i 0.0298 + 0.0000i 0.7068 + 0.0000i 0.7068 + 0.0000i -0.9219 + 0.

15、0000i 0.0195 - 0.2734i 0.0195 + 0.2734itza = 1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -0.8888 + 0.4583i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i -0.8888 - 0.4583ib = 0.3819 + 0.0000i 0.6535 + 0.0000i 0.6535 + 0.0000i -0.6982 + 0.0000i 0.2040 + 0.4633i 0.2040 - 0.

16、4633i -0.6056 + 0.0000i 0.1769 - 0.5342i 0.1769 + 0.5342itzb = -1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.9512 + 0.3086i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.9512 - 0.3086iq = 1.0000w = -1.0000 分析与结论:由于两矩阵一行列式为1,另一为-1,导致结果不同。(3)编写程序如下:x=rand(3,1)A=1 0 0;0

17、1 0;0 0 1;ax=x;n=100; for k=1:n x=A*x; ax=ax,x;endplot3(ax(1,:),ax(2,:),ax(3,:),*) 运行结果: 分析与结论: 选取最简单的以实对称正交矩阵,单位矩阵。得到上述结果,只有一个点。 (4) 编写程序如下:x=rand(3,1);A=rand(3,3);ax=x;n=100; for k=1:n B=rand(3,3); A=orth(B); x=A*x; ax=ax,x;endplot3(ax(1,:),ax(2,:),ax(3,:),*)运行结果:分析与结论:由n+1个点够成一个球,且当上述程序中循环次数n增大时,形成的球体越规整。如当n取1000时,结果如下:三、实验总结与体会 通过此次对matlab的上机学习,我掌握了其基本操作方法,对利用matlab对矩阵进行基本计算,和基本编程都有了了解与学习,并对matlab在矩阵方面的应用有了一定程度的了解和认识。学会了如何用matlab对实际线性代数问

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论