matlab矩阵运算函数.docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

matlab矩阵运算函数

-20

0-3

4.考虑一个“数学问题”,该问题用半数学语言描述就是:如何生成一个3x3矩阵,并将自然数1,2,...,9分别置成这9个矩阵元素,才能使得每一行、每一列、且主、反对角线上元素相加都等于一个相同的数。这样的矩阵称为“魔方矩阵”。用MATLAB的magic()函数,我们可以由下面的命令立即生成这样的矩阵:

A=magic(3)

A=

816

357

492

还可以由B=magic(10)一次生成10x10的魔方矩阵。如果想求出矩阵的行列式和特征值,可以分别由det(B)与eig(B)立即得出结果

二、特殊矩阵

zeros函数是形成元素皆为0的矩阵;ones函数是形成元素皆为1的矩阵;eye则是产生一个单位矩阵,之所以称为eye是取其发音与原来单位矩阵符号I相同,而又避免与定义复数中的虚部所用的符号i雷同,所以改以eye替代。

上述三个函数的使用语法都相似,如zeros(m)可以产生一个m×m的正方矩阵,而zeros(m,n)产生的是m×n的矩阵。也可以使用这三个函数将一m×n矩阵原来元素全部取代成0,1或是单位矩阵的值,不过要加上size指令来指出其矩阵大小是m,n,所以语法为zeros(size(A)),其中A是原来矩阵。

A=zero(2)%0的矩阵

A=

00

00

B=zeros(2,3)

B=

000

000

C=[12;34;56];

size(C)%使用size指令得到C矩阵的大小

ans=

32

D=zeros(size(C))%加上size指令将矩阵C原来的元素全部以0取代

A=ones(2),B=ones(2,3)%1的矩阵

A=

11

11

B=

111

111

三、Matlab矩阵运算函数

1.先介绍几个与矩阵转角有关的函数:rot90,fliplr,flipud,它们的用法及说明.请参考以下的例子。

A=[210;-25-1;346];

B=rot90(A)%将A矩阵逆时针转90度

B=

0-16

154

2-23

A=[12;48;-20];

B=fliplr(A);%将A矩阵从左向右翻

C=flipud(A);%将A矩阵从上向下翻

B,C

B=

21

84

0-2

C=

-20

48

12

2.另外函数reshape则是用来调整矩阵改形,即是在矩阵的元素总数不变下,改变其列及行的大小。见以下范例。

A=[256-1;3-2100];

B=reshape(A,4,2);%将A矩阵改成4x2的矩阵

C=reshape(A,1,8);%将A矩阵改成8x1的矩阵

B,C

B=

26

310

5-1

-20

C=

25

61

3-2

100

3.我们如果要将矩阵内的特定元素读取出来,或是将特定元素以其它值取代,以下的函数diag,triu,tril提供了这方面的功能。diag是只保留原矩阵的主对角线(maindiagonal)的元素,其余的元素以零取代。triu,tril则是分别产生上三角形及下三角形矩阵,其余的元素也以零取代。以下的例子详细的说明这三个函数的用法:

V=[123];

A=diag(V)

A=

100

020

003

A=[1:2:7;3:3:12;4:-1:1;1:4]

A=

1357

36912

4321

1234

B=triu(A)

B=

1357

06912

0021

0004

A=[1:2:7;3:3:12;4:-1:1;1:4]

A=

1357

36912

4321

1234

C=triu(A,-1)

C=

1357

36912

0321

0034

D=triu(A,3)

D=

0007

0000

0000

0000

4.我们在前面已说明过MATLAB的运算是以阵列(array)及矩阵(matrix)方式在做运算,而这二者在MATLAB的基本运算性质不同,阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。我们就来说明矩阵运算的特点。

以下将阵列及矩阵的运算符号及其意义列出

利用这

文档评论(0)

175****4659 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档