资源描述
实验二 MATLAB矩阵分析与处理(2学时)
一、实验目的
1、掌握生成特殊矩阵的方法。
2、掌握矩阵分析的方法。
3、用矩阵求逆法解线性方程组。
二、实验内容
1、设有分块矩阵,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证。
>> E=eye(3);
>> R=rand(3,2);
>> O=zeros(2,3);
>> S=diag(1:2);
>> A=[E,R;O,S]
A =
1.0000 0 0 0.4565 0.4447
0 1.0000 0 0.0185 0.6154
0 0 1.0000 0.8214 0.7919
0 0 0 1.0000 0
0 0 0 0 2.0000
>> H=R+R*S;
>> D=S^2;
>> A^2
ans =
1.0000 0 0 0.9129 1.3341
0 1.0000 0 0.0370 1.8463
0 0 1.0000 1.6428 2.3758
0 0 0 1.0000 0
0 0 0 0 4.0000
>> [E,H;O,D]
ans =
1.0000 0 0 0.9129 1.3341
0 1.0000 0 0.0370 1.8463
0 0 1.0000 1.6428 2.3758
0 0 0 1.0000 0
0 0 0 0 4.0000
由上述ans=A^2验证了。
2、产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?
>> H=hilb(5)
H =
1.0000 0.5000 0.3333 0.2500 0.2000
0.5000 0.3333 0.2500 0.2000 0.1667
0.3333 0.2500 0.2000 0.1667 0.1429
0.2500 0.2000 0.1667 0.1429 0.1250
0.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
>> Hh=det(H)
Hh =
3.7493e-012
>> Hp=det(P)
Hp =
1
>> Th=cond(H)
Th =
4.7661e+005
>> Tp=cond(P)
Tp =
8.5175e+003
答:5阶帕斯卡矩阵P的性能好。矩阵的性能是由条件数决定的,条件数越接近于1其性能就越好。由上机操作求得Th=4.7661e+005,Tp=8.5175e+003。Tp的值更接近于1则其性能要好。所以5阶帕斯卡矩阵P的性能好。
3、建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
>> A=[1:5;6:10;11:15;16:20;21:25]
A =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
>> B=det(A)
B =
0
>> C=trace(A)
C =
65
>> D=rank(A)
D =
2
>> E=norm(A)
E =
74.2541
4、已知
求A的特征值及特征向量,并分析其数学意义。
>> A=[-29,6,18;20,5,12;-8,8,5]
A =
-29 6 18
20 5 12
-8 8 5
>> [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
在数学上,特别是线性代数中,对于一个给定的线性变换,它的特征向量(本征向量或称正规正交向量)是这样一个非零的向量v:当v 经过这个线性变换的作用之后,得到的新向量(长度也许改变)仍然与原来的v 保持在同一条线上。一个特征向量的长度在该线性变换下缩放的比例称为其特征值(本征值)。如果特征值为正,则表示v 在经过线性变换的作用后方向也不变;如果特征值为负,说明方向会反转;如果特征值为0,则是表示缩回零点。但无论怎样,仍在同一条直线上。
5、下面是一个线性方程组:
(1) 求方程的解。
(2) 将方程右边向量元素b3改为0.53,再求解,并比较b3的变化和解的相对变化。
(3) 计算系数矩阵A的条件数并分析结论。
>> format rat
>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]
A =
1/2 1/3 1/4
1/3 1/4 1/5
1/4 1/5 1/6
>> format
>> b=[0.95;0.67;0.52]
b =
0.9500
0.6700
0.5200
>> X=A\b
X =
1.2000
0.6000
0.6000
>> b2=[0.95;0.67;0.53]
b2 =
0.9500
0.6700
0.5300
>> X2=A\b2
X2 =
3.0000
-6.6000
6.6000
>> D=cond(A)
D =
1.3533e+003
矩阵的条件数决定矩阵的性能,条件数越接近于1其性能越好,通过上机操作,求出系数矩阵的条件数为1.3533e+003,和1相差很大,则其性能不好。
6、建立A矩阵,试比较sqrtm(A)和sqrt(A),分析它们的区别。
>> A=[1,2,3,4,;5,6,7,8;9,10,11,12;13,14,15,16]
A =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
>> B=sqrtm(A)
B =
0.3989 + 0.9420i 0.4517 + 0.4830i 0.5045 + 0.0240i 0.5573 - 0.4349i
0.9216 + 0.3669i 1.0436 + 0.1881i 1.1656 + 0.0094i 1.2876 - 0.1694i
1.4443 - 0.2081i 1.6355 - 0.1067i 1.8267 - 0.0053i 2.0179 + 0.0961i
1.9669 - 0.7831i 2.2274 - 0.4016i 2.4878 - 0.0200i 2.7483 + 0.3616i
>> C=sqrt(A)
C =
1.0000 1.4142 1.7321 2.0000
2.2361 2.4495 2.6458 2.8284
3.0000 3.1623 3.3166 3.4641
3.6056 3.7417 3.8730 4.0000
验证过程:
>> D=B*B
D =
1.0000 - 0.0000i 2.0000 - 0.0000i 3.0000 - 0.0000i 4.0000 - 0.0000i
5.0000 - 0.0000i 6.0000 - 0.0000i 7.0000 - 0.0000i 8.0000 + 0.0000i
9.0000 - 0.0000i 10.0000 - 0.0000i 11.0000 + 0.0000i 12.0000 + 0.0000i
13.0000 - 0.0000i 14.0000 - 0.0000i 15.0000 + 0.0000i 16.0000 + 0.0000i
>> E=C.^2
E =
1.0000 2.0000 3.0000 4.0000
5.0000 6.0000 7.0000 8.0000
9.0000 10.0000 11.0000 12.0000
13.0000 14.0000 15.0000 16.0000
>> D==A
ans =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
此验证没有还原A矩阵,不知道为什么?请老师帮忙解答。
通过上机操作,sqrtm是对一个矩阵求平方根,即其值乘其值将还原成A矩阵,sqrt是对矩阵里的每一个元素求平方根,要对其还原,则要用点乘。
三、实验小结
通过本次实验对矩阵的一些求值由了很好的了解,对一些特殊矩阵也掌握了其生成方法。特别是对矩阵函数的一些区别有了一定的了解,通过这次实验,相信在以后的操作中不会出现对矩阵函数的混淆。但是对矩阵的性能知识还是不很了解,当一个矩阵性能好了又有什么用处呢?通过此次上机操作,掌握了线性方程组的求解方法。相比起线性代数的笔算要方便多了,体会到了计算机软件的强大功能。
展开阅读全文