实验02MATLAB矩阵分析与处理第3章.docx
- 文档编号:10910048
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:34
- 大小:64.04KB
实验02MATLAB矩阵分析与处理第3章.docx
《实验02MATLAB矩阵分析与处理第3章.docx》由会员分享,可在线阅读,更多相关《实验02MATLAB矩阵分析与处理第3章.docx(34页珍藏版)》请在冰豆网上搜索。
实验02MATLAB矩阵分析与处理第3章
《数学软件》课内实验
27
13信科
19
3
王平
王文娜、余艳
李倩
15
实验02MATLAB矩阵分析与处理
(第3章MATLAB矩阵分析与处理)
一、实验目的
1.掌握生成特殊矩阵的方法。
2.掌握矩阵分析的方法。
3.用矩阵求逆法解线性方程组。
4.掌握MATLAB各种表达式的书写规则以及常用函数的使用。
二、实验内容
1.分块矩阵
设有分块矩阵
,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证
。
命令窗口中的执行过程:
formatcompact
>>E=eye(3);
>>R=rand(3,2);
>>O=zeros(2,3);
>>S=diag([1,2]);
>>A=[E,R;O,S]
A=
Columns1through4
1.0000000.6787
01.000000.7577
001.00000.7431
0001.0000
0000
Column5
0.3922
0.6555
0.1712
0
2.0000
>>A^2
ans=
Columns1through4
1.0000001.3575
01.000001.5155
001.00001.4863
0001.0000
0000
Column5
1.1767
1.9664
0.5136
0
4.0000
>>C=[E,R+R*S';O,S^2]
C=
Columns1through4
1.0000001.3575
01.000001.5155
001.00001.4863
0001.0000
0000
Column5
1.1767
1.9664
0.5136
0
4.0000
2.希尔伯特矩阵、帕斯卡矩阵及其行列式的值和条件数
产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好(注:
条件数越接近1,矩阵的性能越好)。
命令窗口中的执行过程:
H=hilb(5);P=pascal(5);
>>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
3.求矩阵的行列式值、迹、秩和范数
建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
命令窗口中的执行过程:
A=rand(5);
>>B=det(A),R=rank(A),T=trace(A),V=norm(A)
B=
0.0249
R=
5
T=
2.0045
V=
2.5684
4.求A的特征值及特征向量
已知
命令窗口中的执行过程:
A=[-29,6,18;20,5,12;-8,8,5];
>>[V,D]=eig(A,'nobalance')
V=
1.00000.35640.3132
-0.8533-1.00001.0000
0.48900.69920.4642
D=
-25.316900
0-10.51820
0016.8351
5.解线性方程组
下面是一个线性方程组:
(1)求方程的解。
(2)将方程右边向量元素b3改为0.53再求解,并比较b3的变化和解的相对变化。
(3)计算系数矩阵A的条件数并分析结论。
命令窗口中的执行过程:
A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];
>>b=[0.95,0.67,0.52]';
>>x1=inv(A)*b,x2=A\b
x1=
1.2000
0.6000
0.6000
x2=
1.2000
0.6000
0.6000
6.建立A矩阵,计算sqrtm(A)和sqrt(A),注意其区别
命令窗口中的执行过程:
A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];
>>sqrtm(A)
ans=
0.60020.31440.2023
0.31440.30410.2422
0.20230.24220.2589
>>sqrt(A)
ans=
0.70710.57740.5000
0.57740.50000.4472
0.50000.44720.4082
三、实验提示
1.分块矩阵提示
设有分块矩阵
,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证
。
提示1:
注意!
此处的运算是代数(矩阵)运算,不是数组点运算。
用eye,rand,zeros函数,可以用diag函数。
第1步,分别求出E,R,O,S;
第2步,拼接出A;
第3步,计算A2;
第4步,拼接
;
比较。
%需要显示结果的,行后不加分号
2.希尔伯特矩阵、帕斯卡矩阵及其行列式的值和条件数提示
产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。
为什么?
提示1:
条件数越接近1,矩阵的性能越好。
四、教程:
第3章MATLAB矩阵分析与处理
3.1特殊矩阵p39
3.1.1通用的特殊矩阵
表产生通用特殊矩阵的函数及其含义p39
函数名
含义
zeros
全0矩阵(零矩阵)
ones
全1矩阵(幺矩阵)
eye
单位矩阵
rand
0~1间均匀分布的随机矩阵
randn
均值为0,方差为1的标准正态分布随机矩阵
例3.1分别建立3×3、3×2和与矩阵A同样大小的零矩阵p39
>>zeros(3)%1个输入参数
ans=
000
000
000
>>zeros(3,2)%2个输入参数
ans=
00
00
00
>>A=[123;456]%给出一个2×3阶矩阵A
A=
123
456
>>size(A)
ans=
23
>>zeros(size(A))%产生与A同型的零矩阵
ans=
000
000
>>zeros(2,3)%产生与A同型的零矩阵
ans=
000
000
例3.2建立随机矩阵p40
(1)在区间[20,50]内均匀分布的4阶随机矩阵。
(2)均值为0.6、方差为0.1的4阶正态分布随机矩阵。
>>rand(4)%0~1
ans=
0.19660.35170.91720.3804
0.25110.83080.28580.5678
0.61600.58530.75720.0759
0.47330.54970.75370.0540
>>x1=20+(50-20)*rand(4)%20~50
x1=
35.923937.064724.865524.9695
43.375034.081743.828538.0595
48.020320.357129.336527.8891
23.897230.113735.856039.6224
>>randn(4)%均值为0、方差为1
ans=
0.7394-0.83960.1240-1.2078
1.71191.35461.43672.9080
-0.1941-1.0722-1.96090.8252
-2.13840.9610-0.19771.3790
>>x2=0.6+sqrt(0.1)*randn(4)%均值0.6、方差0.1
x2=
0.26540.51210.33960.6106
0.45180.82180.10130.1783
0.5138-0.04880.76060.9565
0.94740.48810.68920.7107
3.1.2用于专门学科的特殊矩阵p40
表产生专门学科特殊矩阵的函数及其含义
函数名
含义
magic(n)
求魔方矩阵
vander(V)
生成指定向量为V的范得蒙矩阵
hilb(n)
生成希尔伯特矩阵
invhilb(n)
求n阶希尔伯特矩阵的逆
toeplitz(x,y)
生成托普利兹矩阵
toeplitz(x)
用向量x生成一个对称的托普利兹矩阵
compan(p)
生成伴随矩阵
pascal(n)
生成一个n阶帕斯卡矩阵
(1)魔方矩阵
每行、每列及两条对角线上的元素和都相等。
magic(n)求n阶魔方矩阵,其元素由1,2,3,…,n2共n2个整数组成。
例3.3将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。
>>M=magic(5)
M=
17241815
23571416
46132022
101219213
11182529
>>sum(M,1)%按列累加
ans=
6565656565
>>sum(M,2)%按行累加
ans=
65
65
65
65
65
>>M1=100+magic(5)
M1=
117124101108115
123105107114116
104106113120122
110112119121103
111118125102109
(2)范得蒙(Vandermonde)矩阵
最后一列全为1;
倒数第二列为一个指定的向量;
其他各列是其后列与倒数第二列的点乘积。
vander(V)生成指定向量为V的范得蒙矩阵。
例
>>A=vander([1,2,3,5])%V为行向量
A=
1111
8421
27931
1252551
>>B=vander([1,2,3,5]')%V为列向量
B=
1111
8421
27931
1252551
(3)希尔伯特矩阵
元素
hilb(n)生成n阶希尔伯特矩阵。
条件数很差,用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。
invhilb(n)求n阶希尔伯特矩阵的逆。
例3.4求4阶希尔伯特矩阵及逆矩阵。
>>formatrat;%以有理形式输出
>>H=hilb(4)
H=
11/21/31/4
1/21/31/41/5
1/31/41/51/6
1/41/51/61/7
>>H1=invhilb(4)
H1=
16-120240-140
-1201200-27001680
240-27006480-4200
-1401680-42002800
>>formatshort;
(4)托普利兹矩阵
除第一行第一列外,其他每个元素都与左上角的元素相同。
toeplitz(x,y)生成一个以x为第一列,y为第一行的托普利兹矩阵。
这里x,y均为向量,两者不必等长。
toeplitz(x)用向量x生成一个对称的托普利兹矩阵。
>>T=toeplitz(1:
5,-1:
-1:
-4)
Warning:
Firstelementofinputcolumndoesnotmatchfirstelementofinputrow.
Columnwinsdiagonalconflict.
>Intoeplitzat25
T=
1-2-3-4
21-2-3
321-2
4321
5432
第1列的第1个元素
(1)≠第1行的第1个元素(-1)
取前者为T(1,1)
(5)伴随矩阵
compan(p)生成伴随矩阵的函数
其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
例求多项式的x3-7x+6的伴随矩阵。
>>p=[1,0,-7,6];
>>compan(p)
ans=
07-6
100
010
(6)帕斯卡(Pascal)矩阵
二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。
由杨辉三角形表组成的矩阵称为帕斯卡矩阵。
pascal(n)生成一个n阶帕斯卡矩阵。
例3.5求(x+y)5的展开式。
>>pascal(6)
ans=
111111
123456
136101521
1410203556
15153570126
162156126252
矩阵次对角线上的元素1,5,10,10,5,1即为展开式的系数。
3.2矩阵结构变换p43
表矩阵结构变换函数及其含义
函数名
含义
diag(A)
提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量
diag(A,k)
提取第k条对角线的元素
diag(V)
产生一个m×m对角矩阵,其主对角线元素为向量V的元素
diag(V,k)
产生一个n×n(n=m+|k|)对角阵,其第k条对角线的元素为向量V的元素
triu(A)
求矩阵A的上三角阵
triu(A,k)
求矩阵A的第k条对角线以上的元素
tril(A)
求矩阵A的下三角阵
tril(A,k)
求矩阵A的第k条对角线以下的元素
rot90(A,k)
将矩阵A旋转90º的k倍,按逆时针方向
fliplr(A)
对矩阵A实施左右翻转
flipud(A)
对矩阵A实施上下翻转
3.2.1对角阵与三角阵
1.对角阵
只有对角线上有非0元素。
数量矩阵—对角线上的元素相等的对角阵。
单位矩阵—对角线上的元素为1的对角阵。
(1)提取矩阵的对角线元素
设A为m×n矩阵。
Ødiag(A)提取主对角线元素,产生有min(m,n)个元素的列向量。
Ødiag(A,k)提取第k条对角线的元素。
>>A=[0,1,2;-1,0,1;-2,-1,0]
A=
012
-101
-2-10
>>diag(A,0)
ans=
0
0
0
>>diag(A,1)
ans=
1
1
>>diag(A,2)
ans=
2
>>diag(A,-1)
ans=
-1
-1
>>diag(A,-2)
ans=
-2
(2)构造对角矩阵
V为m个元素的向量。
Ødiag(V)产生m×m对角矩阵,主对角线元素为V。
Ødiag(V,k)产生n×n(n=m+|k|)对角阵,第k条对角线元素为V。
(注)
例3.6先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。
>>A=ones(5)
A=
11111
11111
11111
11111
11111
>>D=diag(1:
5)
D=
10000
02000
00300
00040
00005
>>D*A
ans=
11111
22222
33333
44444
55555
2.三角阵p44
三角阵分为上三角阵和下三角阵。
Ø上三角阵对角线以下的元素全为0。
Ø下三角阵对角线以上的元素全为0。
(1)上三角矩阵
Øtriu(A)求矩阵A的上三角阵。
Øtriu(A,k)求矩阵A的第k条对角线以上的元素。
triu(A,0)功能同triu(A)。
>>A=[9,1,2,3,4;-1,9,1,2,3;...
-2,-1,9,1,2;-3,-2,-1,9,1;...
-4,-3,-2,-1,9]
A=
91234
-19123
-2-1912
-3-2-191
-4-3-2-19
>>B=triu(A)
B=
91234
09123
00912
00091
00009
>>C=triu(A,2)
C=
00234
00023
00002
00000
00000
(2)下三角矩阵
Øtril(A)求矩阵A的下三角阵。
Øtril(A,k)求矩阵A的第k条对角线以下的元素。
tril(A,0)功能同tril(A)。
>>A=[9,1,2,3,4;-1,9,1,2,3;...
-2,-1,9,1,2;-3,-2,-1,9,1;...
-4,-3,-2,-1,9]
A=
91234
-19123
-2-1912
-3-2-191
-4-3-2-19
>>B=tril(A)
B=
90000
-19000
-2-1900
-3-2-190
-4-3-2-19
>>C=tril(A,-2)
C=
00000
00000
-20000
-3-2000
-4-3-200
3.2.2矩阵的转置与旋转
1.矩阵的转置
转置运算符是单撇号:
'。
>>A=[11,12,13;21,22,23;31,32,33]
A=
111213
212223
313233
>>B=A'
B=
112131
122232
132333
2.矩阵的旋转
rot90(A,k)将矩阵A旋转90º的k倍,按逆时针方向。
当k为1时可省略。
>>A=[1,2;4,3]
A=
12
43
>>B=rot90(A)
B=
23
14
>>B1=rot90(A,1)
B1=
23
14
>>B2=rot90(A,2)
B2=
34
21
>>B0=rot90(A,0)
B0=
12
43
>>B_1=rot90(A,-1)
B_1=
41
32
3.矩阵的左右翻转
对矩阵实施左右翻转是将原矩阵的
第一列和最后一列调换;
第二列和倒数第二列调换;
…,依次类推。
%每一行逆序
fliplr(A)对矩阵A实施左右翻转。
>>A=[1,2,3,4;1,2,3,4;1,2,3,4;1,2,3,4]
A=
1234
1234
1234
1234
>>B=fliplr(A)
B=
4321
4321
4321
4321
>>C=1:
5
C=
12345
>>fliplr(C)%逆序
ans=
54321
4.矩阵的上下翻转
flipud(A)对矩阵A实施上下翻转。
>>A=[1,1,1,1;2,2,2,2;3,3,3,3;4,4,4,4]
A=
1111
2222
3333
4444
>>B=flipud(A)
B=
4444
3333
2222
1111
>>C=(1:
5)'
C=
1
2
3
4
5
>>flipud(C)%逆序
ans=
5
4
3
2
1
3.3矩阵求逆与线性方程组求解p46
3.3.1矩阵的逆与伪逆
表求矩阵的逆与伪逆函数及其含义
函数名
含义
inv(A)
求方阵A的逆矩阵
pinv(A)
求A的伪逆矩阵
1.矩阵的逆
对于方阵A,若存在与其同阶的方阵B,使:
A·B=B·A=I(I为单位矩阵)
则称B为A的逆矩阵,A也是B的逆矩阵。
inv(A)求方阵A的逆矩阵。
例3.7求方阵A的逆矩阵
clc;
A=[1,-1,1;5,-4,3;2,1,1]
B=inv(A)
B*A
A=
1-11
5-43
211
B=
-1.40000.40000.2000
0.2000-0.20000.4000
2.6000-0.60000.2000
ans=
1.00000.0000-0.0000
-0.00001.00000.0000
0.0000-0.00001.0000
矩阵的伪逆
若A不是方阵,或A是非满秩的方阵时,A没有逆矩阵。
但可找到与A'同型的矩阵B,使得:
A·B·A=AB·A·B=B
称B为矩阵A的伪逆,也称为广义逆矩阵。
pinv(A)求A的伪逆矩阵。
clc
A=[3,1,1,1;1,3,1,1;1,1,3,1]
B=pinv(A)
A*B*A
B*A*B
A=
3111
1311
1131
B=
0.3929-0.1071-0.1071
-0.10710.3929-0.1071
-0.1071-0.10710.3929
0.03570.03570.0357
ans=
3.00001.00001.00001.0000
1.00003.00001.00001.0000
1.00001.00003.00001.0000
ans=
0.3929-0.1071-0.1071
-0.10710.3929-0.1071
-0.1071-0.10710.3929
0.03570.03570.0357
3.3.2用矩阵求逆方法求解线性方程组
Ax=b
其解为:
x=A-1b
例3.8解线性方程组
clc;
A=[1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 02 MATLAB 矩阵 分析 处理