当前位置:文档之家› 实验二MATLAB矩阵分析和处理

实验二MATLAB矩阵分析和处理

实验二 MATLAB 矩阵分析和处理
一、实验目的
1.掌握生成特殊矩阵的方法。

2.掌握矩阵分析的方法。

4.用矩阵求逆法解线性方程组。

二、实验内容
1.设有分块矩阵⎥⎦
⎤⎢⎣⎡=⨯⨯⨯⨯22322333S O R E A ,其中E,R,O,S 分别为单位矩阵、随机矩阵、零矩阵和对角矩阵,试通过数值计算验证⎥⎦⎤⎢⎣⎡+=22S O
RS R E A 。

解: >> 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.9501 0.4860
0 1.0000 0 0.2311 0.8913
0 0 1.0000 0.6068 0.7621
0 0 0 1.0000 0
0 0 0 0 2.0000
>> A^2
ans =
1.0000 0 0 1.9003 1.4579
0 1.0000 0 0.4623 2.6739
0 0 1.0000 1.2137 2.2863
0 0 0 1.0000 0
0 0 0 0 4.0000
>> [E R+R*S;O S^2] ans =
1.0000 0 0 1.9003 1.4579
0 1.0000 0 0.4623 2.6739
0 0 1.0000 1.2137 2.2863
0 0 0 1.0000 0
0 0 0 0 4.0000
所以⎥⎦
⎤⎢⎣⎡+=22S O RS R E A .
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 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
由上式看出:帕斯卡矩阵性能更好,因为行列式为1,而希尔伯特矩阵条件数很差,使用一般方法求逆矩阵会因原始数据的微小变动产生不可靠的结果
3.建立一个5x5矩阵,求它的行列式的值、迹、秩和范数
解:a=magic(5)
a =
17 24 1 8 15
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> b=det(a)
b =
5070000
>> c=trace(a)
c =
65
>> d=rank(a)
d =
5
>> e=norm(a)
e =
65.0000
>>
4.已知⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡--=5881252018629A ,求特征值和特征向量,并分析其数学意义 解:A=[-29 6 18;20 5 12;-8 8 5]
A =
-29 6 18
20 5 12
-8 8 5
>> b=eig(A)
b =
-25.3169
-10.5182
16.8351
>> [v,b]=eig(A)
v =
0.7130 0.2803 0.2733
-0.6084 -0.7867 0.8725
0.3487 0.5501 0.4050
b =
-25.3169 0 0
0 -10.5182 0
0 0 16.8351
5.下面是一个线性方程组
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解
(2) 将方程右边向量第三个元素0.52改为0.53,并比较解的变化
(3) 计算系数矩阵A 的条件数并分析结论
解: (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.2500
0.3333 0.2500 0.2000
0.2500 0.2000 0.1667
>> C=[0.95;0.67;0.52]
C =
0.9500
0.6700
0.5200
>> B=A\C
B =
1.2000
0.6000
0.6000
>>
(2)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.2500
0.3333 0.2500 0.2000
0.2500 0.2000 0.1667
>> C=[0.95;0.67;0.53]
C =
0.9500
0.6700
0.5300
>> B=A\C
B =
3.0000
-6.6000
6.6000
(3)cond(A)
ans =
1.3533e+003
6.建立A 矩阵,试比较sqrtm(A )和sqrt(A ),并分析他们的区别
解:A=magic(3)
A =
8 1 6
3 5 7
4 9 2
>> sqrtm(A)
ans =
2.7065 + 0.0601i 0.0185 + 0.5347i 1.1480 - 0.5948i
0.4703 + 0.0829i 2.0288 + 0.7378i 1.3739 - 0.8207i
0.6962 - 0.1430i 1.8257 - 1.2725i 1.3511 + 1.4155i
>> sqrt(A)
ans =
2.8284 1.0000 2.4495
1.7321
2.2361 2.6458
2.0000
3.0000 1.4142
区别:sqrt是求矩阵里每个元素的平方根,并组成一个新的矩阵。

而sqrtm是求矩阵的方根并组成一个新的矩阵。

相关主题