实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx

上传人:b****7 文档编号:25770257 上传时间:2023-06-13 格式:DOCX 页数:36 大小:119.54KB
下载 相关 举报
实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx_第1页
第1页 / 共36页
实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx_第2页
第2页 / 共36页
实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx_第3页
第3页 / 共36页
实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx_第4页
第4页 / 共36页
实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx

《实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx》由会员分享,可在线阅读,更多相关《实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx(36页珍藏版)》请在冰豆网上搜索。

实验02讲评参考答案MATLAB矩阵分析与处理第3章.docx

实验02讲评参考答案MATLAB矩阵分析与处理第3章

实验02讲评、参考答案

讲评

未交实验报告的同学名单

数学:

13-17,11、12级6人

信科:

13-39,13-47,12-04,12-22,12-29

批改情况:

本实验报告不批改,请参考答案!

除第1题稍复杂外,其它题按书上操作即可,注意细心点!

答案中有一些操作技巧,供参考!

附参考答案:

实验02MATLAB矩阵分析与处理

(第3章MATLAB矩阵分析与处理)

一、实验目的

1.掌握生成特殊矩阵的方法。

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

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

4.掌握MATLAB各种表达式的书写规则以及常用函数的使用。

二、实验内容

1.分块矩阵

设有分块矩阵

,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证

命令窗口中的执行过程:

>>formatcompact%紧凑输出格式

>>formatshortg%小数部分后面0不显示

>>E=eye(3);R=rand(3,2);O=zeros(2,3);S=diag([5,10]);

>>A=[E,R;O,S]

A=

1000.27850.96489

0100.546880.15761

0010.957510.97059

00050

000010

>>A^2

ans=

1001.67110.614

0103.28131.7337

0015.74510.677

000250

0000100

>>[E,R+R*S;O,S^2]

ans=

1001.67110.614

0103.28131.7337

0015.74510.677

000250

0000100

>>

2.希尔伯特矩阵、帕斯卡矩阵及其行列式的值和条件数

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

为什么?

命令窗口中的执行过程:

>>formatrat%有理式输出格式

>>H=hilb(5)

H=

11/21/31/41/5

1/21/31/41/51/6

1/31/41/51/61/7

1/41/51/61/71/8

1/51/61/71/81/9

>>formatshortg

>>P=pascal(5)

P=

11111

12345

1361015

14102035

15153570

>>%H的行列式Hh、条件数Th

>>[det(H),cond(H,1),cond(H,2),cond(H,inf)]

ans=

3.7493e-129.4366e+054.7661e+059.4366e+05

>>%P的行列式Hp、条件数Tp

>>[det(P),cond(P,1),cond(P,2),cond(P,inf)]

ans=

1156248517.515624

>>

条件数越接近1,矩阵的性能越好。

H的条件数更大于1,所以P比H性能好。

3.求矩阵的行列式值、迹、秩和范数

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

命令窗口中的执行过程:

>>formatcompact;formatshortg

>>A=round(rand(5)*10)

A=

38673

108726

02812

45358

447103

>>[det(A),trace(A),rank(A),norm(A,1),norm(A,2),norm(A,Inf)]

ans=

185012753126.233

>>

4.求A的特征值及特征向量

已知

命令窗口中的执行过程:

>>A=[-29,6,18;20512;-8,8,5];

>>[V,D]=eig(A)%V的列向量为特征向量,D对角线元素为对应特征值

V=

0.712970.280340.27328

-0.60836-0.786660.8725

0.348670.550060.40505

D=

-25.31700

0-10.5180

0016.835

>>A*V-V*D%验证,根据定义,近似0则正确

ans=

2.1316e-141.3767e-140

-2.3093e-14-1.4211e-141.7764e-15

1.0658e-149.77e-154.4409e-15

>>

5.解线性方程组

下面是一个线性方程组:

(1)求方程的解。

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

(3)计算系数矩阵A的条件数并分析结论。

命令窗口中的执行过程:

>>formatrat;

>>A=1./[2:

4;3:

5;4:

6]

A=

1/21/31/4

1/31/41/5

1/41/51/6

>>formatshortg;

>>b=[0.95;0.67;0.52];b1=[0.95;0.67;0.53];%第3个元素细微变化

>>[A\b,A\b1]%两个解列向量对比

ans=

1.23

0.6-6.6

0.66.6

>>cond(A)

ans=

1353.3

>>%A条件数远离1,矩阵的性能不好。

b只做微小的变化,但两个解变化很大。

A的条件数>>1。

6.建立A矩阵,计算sqrtm(A)和sqrt(A),注意其区别

命令窗口中的执行过程:

>>formatshortg;

>>A=round(rand(3)*10)

A=

5101

753

918

>>B=sqrtm(A)

B=

1.5736+0.89293i2.5287-1.2892i-0.032604+0.29296i

1.5419-0.56518i1.6257+0.81599i0.62237-0.18543i

1.9886-0.73582i-0.55322+1.0624i2.8381-0.24142i

>>abs(A-B*B)>10^(-10)

ans=

000

000

000

>>C=sqrt(A)

C=

2.23613.16231

2.64582.23611.7321

312.8284

>>abs(A-C.*C)>10^(-10)

ans=

000

000

000

>>

三、实验提示

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)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1