- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
矩阵学习资料
5.1.1 基本矩阵运算元
--------------------------------------------------------------------------------
我们在第二章已说明过 MATLAB 的运算是以阵列(array)及矩阵 (matrix) 方式在做运算,而这二者在MATLAB的 基本运算性质不同,阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。我们就来说明矩阵运算 的特点。
以下将阵列及矩阵的运算符号及其意义列出
阵列运算符号 矩阵运算符号? 功能 + ?+ ?加 - ?- ?减 .* ?* ?乘 ./ ?/ ?左除 .\ ?\ ?右除 .^ ?^ ?次方 . ? ?转置
利用这些运算符号即可进行以下的矩阵运算。
A=[2 5 1; 7 3 8; 4 5 21; 16 13 0];
A % A的转置矩阵
A =
2 7 4 16
5 3 5 13
1 8 21 0
A=[4 -1 3]; B=[-2 5 2];
dot_prod = sum(A.*B) % 二个阵列做内积
dot_prod =
-7
c=dot(A,B) % 以dot函数也可做内积运算
c =
-7
A=[4; -1; 3];
dot_prod = sum(A.*B); % 如果A是行阵列则先做转置,再做内积
F=[2 5 -1]; G=[0 1 -3];
out_prod=F*G; % 二矩阵做外积
A=[2,5,1; 0,3,-1];
B=[1,0,2; -1,4,-2; 5,2,1];
C=A*B % 矩阵相乘,注意二个矩阵的大小须相容
C =
2 22 -5
-8 10 -7
A=[2 1; 4 3];
A^2 % 矩阵次方
ans =
4 1
16 9
5.1.2 矩阵多项式
--------------------------------------------------------------------------------
函数polyvalm是以矩阵方式做多项式函数计算,有别于polyval是以阵列方式计算函数值。它的语法为 polyvalm(a,X),其中X为一矩阵而a则是一多项式。以下的例子可说明其用法。
X=[1 1 1; 2 2 2; 3 3 3];
a=[1 1 1]; % 注意a=X*X+X+I
f=polyvalm(a,X)
f =
8 7 7
14 15 14
21 21 22
5.3.1 反矩阵、矩阵秩与行列式
--------------------------------------------------------------------------------
一个正方矩阵A的反矩阵的定义是,所以此二矩阵相乘不论是或,结果皆为单位矩阵。但是一 矩阵如果是奇异(singular) 或是条件不足 (ill-conditioned),其反矩阵并不存在。条件不足的矩阵与一组联立方程 组其中的方程式并不独立有关,而一矩阵的秩(rank) 即是代表矩阵中独立方程式个数。如果一矩阵的秩数和 其矩阵的列数相等,则此矩阵为非奇异且其反矩阵存在。
MATLAB的反矩阵函数和秩函数语法分别为inv(A), rank(A),:例如:
A=[2 1; 4 3];
rank(A)
2 % 表示A秩数为2且等于矩阵的列数
inv(A) % 反矩阵
ans =
1.5000 -0.5000
-2.0000 1.0000
B=[2 1; 3 2; 4 5]; % B为奇异矩阵
rank(B)
ans =
2 % 表示B秩数为2,但是其列数为3
inv(B)
??? Error using == inv
Matrix must be square.
相信大家都会计算矩阵行列式的值,但是如一矩阵大小超过4以上,行列式值的计算就会繁复。MATLAB提供 计算行列式的函数,其语法为det(A),例如:
A=[1 3 0; -1 5 2; 1 2 1];
det(A) % 矩阵之行列式值
ans =
10沪p算就会繁复。MATLAB提供 计算行列式的函数,其语法为det(A),例如:
A=[1 3 0; -1 5 2; 1 2 1];
det(A) % 矩阵之行列式值
ans =
10
5.3.2 特徵值与特徵向量
-----------------------------------------------------------------------------
文档评论(0)