matlab实验一

网友投稿 643 2022-11-27

matlab实验一

matlab实验一

实验一 MATLAB矩阵处理 实验要求: 为达到理想的实验效果,同学们务必做到: 1.实验前认真准备,要根据实验目的和实验内容,复习好实验中可能要用到的命令,想好编程的思路,做到胸有成竹,提高上机效率。 2.实验过程中积极思考,要深入分析命令、程序的执行结果以及各种屏幕信息的含义、出现的原因并提出解决办法。 3.实验后认真总结,要总结本次实验有哪些收获,还存在哪些问题,并写出实验报告。实验报告应包括实验目的、实验内容、流程图(较大程序)、程序(命令)清单、运行结果以及实验的收获与体会等内容。 实验目的: 1.掌握生成特殊矩阵的方法 2.掌握矩阵处理的方法 3.掌握用矩阵求逆法解线性方程组的方法 实验内容: 1.设有分块矩阵,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证。 答:步骤1:列出A内的各个矩阵 E=eye(3);

R=rand(3,2); o=zeros(2,3); S=diag([1,2])

S =

1 0 0 2

步骤2:输出矩阵A

A=[E,R;o,S;] A =

1.0000 0 0 0.2785 0.9649 0 1.0000 0 0.5469 0.1576 0 0 1.0000 0.9575 0.9706 0 0 0 1.0000 0 0 0 0 0 2.0000

步骤3:将AA与矩阵A和题中的大致相比较,易知AA中的E,O均未变,S变为S^2,猜测可能符合

A*A

ans =

1.0000 0 0 0.5570 2.8947 0 1.0000 0 1.0938 0.4728 0 0 1.0000 1.9150 2.9118 0 0 0 1.0000 0 0 0 0 0 4.0000

步骤4:计算A=[E,R+RS;o,SS;]与AA的结果相对比,可知符合 A=[E,R+RS;o,S*S;]

A =

1.0000 0 0 0.5570 2.8947 0 1.0000 0 1.0938 0.4728 0 0 1.0000 1.9150 2.9118 0 0 0 1.0000 0 0 0 0 0 4.0000

2.建立一个5×5矩阵,求它的行列式值、迹、秩和范数。

答: 步骤1:建立5*5的矩阵A A=diag([1,2,3,4,5])

A =

1 0 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 4 0 0 0 0 0 5

步骤2:求行列式的值,迹,秩,和范数 det(A)

ans =

120 rank(A)

ans =

5

trace(A)

ans =

15 计算向量A的1—范数

norm(A,1)

ans =

1.0833

计算向量A的2—范数 norm(A)

ans =

5

计算向量A的inf—范数 norm(A,inf)

ans =

1.0833

3.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?

答: 步骤1:产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P H=hilb(5)

H =

1.0000 0.5000 0.3333 0.2500 0.20000.5000 0.3333 0.2500 0.2000 0.16670.3333 0.2500 0.2000 0.1667 0.14290.2500 0.2000 0.1667 0.1429 0.12500.2000 0.1667 0.1429 0.1250 0.1111

P=pascal(5)

P =

1 1 1 1 1 1 2 3 4 5 1 3 6 10 15 1 4 10 20 35 1 5 15 35 70

步骤2:求其行列式的值Hh和Hp

Hh=det(H)

Hh =

3.7493e-12

HP=det-

HP =

1

步骤3:求其三种条件数Th和Tp 计算A的1—范数下的条件数。 Th=cond(H,1)

Th =

9.4366e+05

Tp=cond(P,1)

Tp =

15624

计算A的2—范数数下的条件数。

Th=cond(H)

Th =

4.7661e+05

Tp=cond-

Tp =

8.5175e+03

计算A的∞—范数数下的条件数。

Th=cond(H,inf)

Th =

9.4366e+05

Tp=cond(P,inf)

Tp =

15624

由结果可知,三种条件数TP均小于TH,故帕斯卡矩阵更好,条件数越大,矩阵越病态 。 4. 已知求A的特征值及特征向量,并分析其数学意义。

答: 步骤1:输入矩阵A A=[-29,6,18;20,5,12;-8,8,5;]

A =

-29 6 18 20 5 12 -8 8 5

步骤2:求特征向量和特征值

[V,D]=eig(A)

V =

0.7130 0.2803 0.2733

-0.6084 -0.7867 0.8725 0.3487 0.5501 0.4050

D =

-25.3169 0 0 0 -10.5182 0 0 0 16.8351

步骤3:数学关系 A*[0.7130;-0.6084 ;0.3487 ;]

ans =

-18.0508 15.4024 -8.8277

-25.3169 *[0.7130;-0.6084 ;0.3487 ;]

ans = -18.0509 15.4028 -8.8280

根据上式,矩阵的特征值有三个-25.3169, -10.5182 ,16.8351 ;矩阵的特征向量有三个 :[0.7130,-0.6084 ,0.3487 ],[0.2803,-0.7867 ,0.5501] , [ 0.2733 ,0.8725 ,0.4050] 取出第一个特征向量,与矩阵A作矩阵相乘,可发现其结果,与对应的特征值-25.3169与矩阵第一个特征向量相乘的结果,正好相等: 取第2个特征向量与矩阵A相乘,结果同样与特征值-10.5182乘以第二个特征向量相等 : 取第3个特征向量与矩阵A相乘,结果同样与特征值16.8351乘以第3个特征向量相等 因此,这个例子里可以得出如下数学结论:对于矩阵A,有3个特定输入(三个特征向量)x1和x2,x3,会按固定比例放大(或缩小),放大倍数分别为-25.3169 ,-10.5182 ,16.8351 矩阵A的意义就是线性变换特,征向量x就是线性变换前后总是保持平行的方向而特征值λ就是特征向量x变换之后Ax被拉伸的倍数:Ax=λx

下面是一个线性方程组:

(1)求方程的解。 A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]

A =

0.5000 0.3333 0.25000.3333 0.2500 0.20000.2500 0.2000 0.1667

B=[0.95;0.67;0.52]

B =

0.95000.6700

0.5200

x=inv(A)*B

x =

1.20000.60000.6000

(2)将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。 B=[0.95;0.67;0.53]

B =

0.95000.67000.5300

x=inv(A)*B

x =

3.0000

-6.6000 6.6000 b3的变化很小解的相对变化很大 (3)计算系数矩阵A的条件数并分析结论。 1.计算A的1—范数数下的条件数 cond(A,1)

ans =

2.0150e+03

计算A的2—范数数下的条件数 cond(A)

ans =

1.3533e+03 计算A的inf—范数数下的条件数 cond(A,inf)

ans =

2.0150e+03

实验收获: 1.复习了单位矩阵、随机矩阵、零矩阵、对角阵、阶尔伯特矩阵和阶帕斯卡矩阵; 2.区分了A^2与A.*A; 3.复习了行列式值、迹、秩和范数的求法; 4.掌握了的特征值及特征向量的求法; 5.学会利用条件数判断矩阵性能的好坏;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序开发1
下一篇:论文笔记二:OpenPose(Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields部分
相关文章

 发表评论

暂时没有评论,来抢沙发吧~