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