- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2讲_matlab数值分析
第二讲 MATLAB的数值分析
2-1矩阵运算与数组运算
矩阵运算和数组运算是MATLAB数值运算的两大类型,矩阵运算是按矩阵的运算规则进行的,而数组运算则是按数组元素逐一进行的。因此,在进行某些运算(如乘、除)时,矩阵运算和数组运算有着较大的差别。在MATLAB中,可以对矩阵进行数组运算,这时是把矩阵视为数组,运算按数组的运算规则。也可以对数组进行矩阵运算,这时是把数组视为矩阵,运算按矩阵的运算规则进行。
1、矩阵加减与数组加减
矩阵加减与数组加减运算效果一致,运算符也相同,可分为两种情况:
(1)若参与运算的两矩阵(数组)的维数相同,则加减运算的结果是将两矩阵的对应元素进行加减,如
A=[1 1 1;2 2 2;3 3 3];
B=A;
A+B
ans=
2 2 2
4 4 4
6 6 6
(2)若参与运算的两矩阵之一为标量(1*1的矩阵),则加减运算的结果是将矩阵(数组)的每一元素与该标量逐一相加减,如
A=[1 1 1;2 2 2;3 3 3];
A+2
ans=
3 3 3
4 4 4
5 5 5
2、矩阵乘与数组乘
(1)矩阵乘
矩阵乘与数组乘有着较大差别,运算结果也完全不同。矩阵乘的运算符为“*”,运算是按矩阵的乘法规则进行,即参与乘运算的两矩阵的内维必须相同。设A、B为参与乘运算的两矩阵,C为A和B的矩阵乘的结果,则它们必须满足关系Cm×n=Am×kBk×n。因此,参与运算的两矩阵的顺序不能任意调换,因为A*B和B*A计算结果很可能是完全不一样的。如:
A=[1 1 1;2 2 2;3 3 3];
B=A;
A*B
ans=
6 6 6
12 12 12
18 18 18
F=ones(1,3);
G=ones(3,1);
F*G
ans
3
G*F
ans=
1 1 1
1 1 1
1 1 1
(2)数组乘
数组乘的运算符为“.*”,运算符中的点号不能遗漏,也不能随意加空格符。参加数组乘运算的两数组的大小必须相等(即同维数组)。数组乘的结果是将两同维数组(矩阵)的对应元素逐一相乘,因此,A.*B和B.*A的计算结果是完全相同的,如:
A=[1 1 1 1 1;2 2 2 2 2;3 3 3 3 3];
B=A;
A.*B
ans=
1 1 1 1 1
4 4 4 4 4
9 9 9 9 9
B.*A
ans=
1 1 1 1 1
4 4 4 4 4
9 9 9 9 9
由于矩阵运算和数组运算的差异,能进行数组乘运算的两矩阵,不一定能进行矩阵乘运算。如
A=ones(1,3);
B=A;
A.*B
ans=
1 1 1
A*A
???Error using= =
Inner matrix dimensions must agree.
3、矩阵除与数组除
矩阵除分为矩阵右除和矩阵左除两种情况。矩阵右除的运算符为“/”,设A、B为两矩阵,则“A/B”是指方程X*B=A的解矩阵X。显然,矩阵右除运算对参与运算两矩阵的维数是有一定要求的,即矩阵A和B的列数必须相等。如
A=[1 1 1 1;2 2 2 2;3 3 3 3];
B=[1 1 1 1];
X=A/B
X=
1
2
X*B
ans=
1 1 1 1
2 2 2 2
矩阵右除允许参与右除运算的矩阵B为标量,这时矩阵右除运算的结果是将矩阵A的每一元素逐一与该标量进行除法运算。如:
A=[2 4 6 8;8 6 4 2];
B=2;
A/B
ans=
1 2 3 4
4 3 2 1
矩阵左除运算符为“\”,设A、B为两矩阵,则“A\B”是指方程B*X=A的解矩阵X。显然,矩阵左除运算对参与运算两矩阵的维数也有一定要求的,即矩阵A和B的行数必须相等。如
数组右除的运算符为“./”,左除的运算符为“.\”。数组右除和左除的运算结果是完全等效的。设A、B为两同维矩阵,则“A./B”的运算结果是将矩阵A的每一个元素与矩阵B的对应元素相除。应注意的是,参与数组运算的两矩阵(数组)的大小必须相等。
A=[2 2 3 3 4 4;1 1 2 2 3 3;4 4 5 5 6 6];
B=[1 2 3 3 2 2;1 1 1 1 1 1;2 2 5 5 3 3];
A./B
ans=
2 2 1 1 2 2
1 1 2 2 3 3
2 2 1 1 2 2
B./A
ans=
0.5000 0.5000 1.0000 1.0000 0.5000 0.5000
1.0000 1.0000 0.5000 0.5000 0.3333 0.3333
0.5000 0.5000 1.0000 1.0000 0.5000 0.5000
4、常用的矩阵运算函数
(1)用size()函数计算矩阵A的维数,调用格式:
d=size(A) %将矩阵A的行数和列数赋给变量d
[m,n]=si
文档评论(0)