![MATLAB/Simulink权威指南:开发环境、程序设计、系统仿真与案例实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/629/27111629/b_27111629.jpg)
2.3 矩阵的基本运算
2.3.1 矩阵的加减运算
两个矩阵相加或相减运算的规则是两个同维(相同的行和列)的矩阵对应元素相加减。若一个标量和一个矩阵相加减,规则是标量和所有元素分别进行相加减操作。加减运算符分别是+和﹣。
例如:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P68_28751.jpg?sign=1738889954-IFcGNNu6pgvmuOVLZBHazcWwzhWlT0iO-0-d56851cb8887531da153bad1970a1cb6)
2.3.2 矩阵的乘法运算
两个矩阵相乘运算的规则是第一个矩阵的各行元素分别与第二个矩阵的各列元素对应相乘并相加。假定两个矩阵Am×n和Bn×p,则Mm×p=Am×n∗Bn×p。若一个标量和一个矩阵相乘,规则是标量和所有元素分别进行乘操作。乘法运算符是“∗”。
例如:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P69_28752.jpg?sign=1738889954-oDWQSylERjzr70gt2L7tRpw6Doyd6X4r-0-175f2a51d7ecd69479c00de3ed724ee3)
2.3.3 矩阵的除法运算
在MATLAB语言中,有两种除法运算:左除和右除。左除和右除的运算符分别是\和/。假定矩阵A是非奇异方阵,A\B等效为A的逆矩阵左乘B矩阵,即inv(A)∗B,相当于方程A∗X=B的解;B/A等效为A的逆矩阵右乘B矩阵,即B∗inv(A),相当于方程X∗A=B的解。一般来说,A\B≠B/A。
例如:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P69_28753.jpg?sign=1738889954-ef549xc5cDHkDkjU9r8X5oCkOJZGXLuy-0-5fbacc06909ab1cf497bcdabc51c6135)
2.3.4 矩阵的乘方运算
在MATLAB语言中,当A是方阵,n为大于0的整数时,一个矩阵A的n次乘方运算可以表示成为A^n,即A自乘n次;当n为小于0的整数时,A^n表示A的逆矩阵(A^﹣1)的|n|次方。
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P70_28754.jpg?sign=1738889954-6dkZLqqPNmeEItdw0aUXGJQX32Uupm1M-0-50ed0248abdec300e773861dacad8b10)
显然,由例题可以验证:M=A^2∗A^﹣2=I单位矩阵。
2.3.5 矩阵的点运算
在MATLAB语言中,点运算是一种特殊的运算,其运算符是在有关算术运算符前加点。点运算符有“.∗”“./”“.\”和“.^”4种。点运算规则是对应元素进行相关运算,具体如下:
(1)若两个矩阵A和B进行点乘运算,要求矩阵维度相同,对应元素相乘;
(2)如果A和B两个矩阵同维,则A./B表示A矩阵除以B矩阵的对应元素;B.\A表示A矩阵除以B矩阵的对应元素,等价于A./B;
(3)若A和B两个矩阵同维,则A.^B表示两个矩阵对应元素进行乘方运算;
(4)若b是标量,则A.^b表示A的每个元素与b做乘方运算,若a是标量,则a.^B表示a与B的每个元素进行乘方运算。
例如:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P70_28755.jpg?sign=1738889954-PQzEY9GTHOf2QUQ2QnrphL88BOo6LTRh-0-e2f5cb87ae8f33daaff5297c9d036583)
点运算是MATLAB语言的一个很重要的特殊运算符,有时候点运算可以代替一重循环运算,例如,当x从0到1,增量按照0.1变化时,求函数y=exsin(x)的值。
正常使用别的高级语言编程时,需要用一重循环语句,求出y的值。而用MATLAB语言的点运算,可以很方便地求出y的值,具体代码如下:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P71_28757.jpg?sign=1738889954-m9ZbSGqWytTD7hrac9xaZti6BeSqMtf6-0-d028b926d29ca65be3f095bbf07ee2cd)
其中,y表达式中必须用点乘运算,因为exp(x)和sin(x)是一个同维的矩阵。