MATLAB基础语句(二)


第二部分 矩阵运算求解、变换

一、矩阵的算数运算

说明:检验矩阵阶数的函数:
  [m,n] = size(矩阵变量)

  L = length[矩阵变量]

1、基本算术运算

(1)加减

  运算符:A+BA-B

  注意:要求相加减的矩阵阶数相同。

(2)乘法

  运算符:A*B

  注意:A的列数与B的行数相同

(3)除法

  运算符:A\B(左除)、B/A(右除)

  注意:左除时两矩阵行数相等;右除时两矩阵列数相等

  两者区别:左除时直接对两矩阵进行除运算;而右除是先计算量矩阵的逆再相除

(4)乘方运算

  运算符:矩阵^幂次

>> A = [1,2;3,4];
>> B = [1,1;2,2];
>> Y1 = A+B;
>> Y2 = A-B;
>> Y3 = A*B;
>> Y4 = A\B;
>> Y5 = B/A;
>> Y6 = A^2;
>> disp(Y1)
2 3
5 6

>> disp(Y2)
0 1
1 2

>> disp(Y3)
5 5
11 11

>> disp(Y4)
0 0
0.5000 0.5000

>> disp(Y5)
-0.5000 0.5000
-1.0000 1.0000

>> disp(Y6)
7 10
15 22

 2、矩阵的点运算

矩阵中对应位置元素进行相关运算。

运算符:(1)点乘:.*

    (2)点除:.\,./

    (3)点乘方:.^

注意:参与运算的矩阵行、列相同

>> A = [1,2;3,4];
>> B = [1,1;2,2];
>> Y1=A.*B;
>> Y2 = A.\B;
>> Y3 = A./B;
>> Y4 = A.^2;
>> disp(Y1)
     1     2
     6     8

>> disp(Y2)
    1.0000    0.5000
    0.6667    0.5000

>> disp(Y3)
    1.0000    2.0000
    1.5000    2.0000

>> disp(Y4)
     1     4
     9    16

二、矩阵的关系运算

关系运算符:<、<=、>=、>、==、~=

运算结果:真(1),假(0)

运算法则:

(1)标量比较:直接比较大小。

(2)矩阵比较:两阶数相同的矩阵,其对应位置元素进行比较,最终将结果输出到一个阶数相同的矩阵中。

 注意:相同阶数的矩阵才能比较

三、矩阵的逻辑运算

逻辑运算符:&(与)、|(或)、~(非)

函数:all():全为真(按列运算),输出值为每列的比较值

   any():不全为假(按列运算),输出值为每列的比较值

注意:非0值将按照逻辑“逻辑真”运算

>> A = [0,1,3;4,0,2;0,3,0];
>> disp(A)
     0     1     3
     4     0     2
     0     3     0

>> disp(~A)
   1   0   0
   0   1   0
   1   0   1

>> disp(A|~A)
   1   1   1
   1   1   1
   1   1   1

>> disp(A&~A)
   0   0   0
   0   0   0
   0   0   0

>> disp(all(A))
   0   0   0

>> disp(any(A))
   1   1   1

>> disp(all(A|~A))
   1   1   1

四、矩阵元素的处理

1、矩阵元素的取整

(1)按负无穷方向取整:floor()

(2)按正无穷方向取整:ceil()

(3)四舍五入取整:round()

(4)截尾取整(去掉小数部分):fix()

2、矩阵元素的取余

函数:rem(变量名,取余数)

功能:将变量矩阵的每个位置进行取余

>> A = [2,4;6,7];
>> disp(rem(A,3))
     2     1
     0     1