一般程序设计语言都包含算术运算、关系运算和逻辑运算。要注意的是,MATLAB的运算都是针对矩阵而言的,既有矩阵意义下的运算,也有针对矩阵元素的运算。
算术运算
基本算术运算
大致就是数学四则运算:
+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)
加减运算
要求两个矩阵同型(矩阵维数和大小相同),两矩阵相应元素相加减。一个标量也可以和矩阵进行加减运算,此时把标量和矩阵中每个元素进行加减运算。
乘法运算
若矩阵A和矩阵B进行乘法运算,则要求A的列数和B的行数相等。
除法运算
对于矩阵来说,右除和左除表示两种不同的除数矩阵和被除数矩阵关系。一般
如果A为非奇异方阵(即A对应行列式不为0),则:
,即 B / A等价于B*inv(A)(A的逆右乘B)
,即 A \ B等价于inv(A)*B(A的逆左乘B)
不过对于标量来说,两种除法结果相同。
>> 3/4 %3右除以4
ans =
0.7500
>> 4\3 %4左除以3与3右除以4等价
ans =
0.7500
>> 3\4 %3左除以4等于4右除以3,即3\4 = 4/3
ans =
1.3333
>> n = [10, 25] %定义向量n
n =
10 25
>> n/5 %向量n右除以5
ans =
2 5
>> 5\n %5左除以向量n等价于向量n右除以5
ans =
2 5
乘方运算
矩阵的乘方可表示为A^m,要求A为方阵,m为标量。
点运算
点运算是MATLAB很有特色的运算符,两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵同型。一般有:
.*(点乘)、./(点除)、.^(点乘方)
关系运算
关系运算符
与数学中的写法不尽相同:
>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、~=(不等于)
当两个比较元素是标量时
直接比大小,若关系成立则运算结果为1,否则为0。
当两个比较元素是两个同型矩阵时
对两矩阵相同位置的元素按标量的关系运算规则逐个进行,运算结果是一个与原矩阵同型的矩阵,其元素由0或1构成。
当两个比较元素一个是标量,另一个是矩阵时
把标量与矩阵的每一个元素按标量的关系运算规则逐个进行,运算结果是一个与原矩阵同型的矩阵,其元素由0或1构成。
>> A = [24,35,13; 22,63,23; 39,47,80] %建立矩阵A
A =
24 35 13
22 63 23
39 47 80
>> B = rem(A, 2) %生成矩阵A的每个元素除以2的余数矩阵B
B =
0 1 1
0 1 1
1 1 0
>> P = B == 0 %把矩阵B与0进行等于比较运算
P =
1 0 0
1 0 0
0 0 1
逻辑运算
逻辑运算符
&(与)、|(或)、~(非)
运算符优先级:
一般情况下:算术运算 > 关系运算 > 逻辑运算 ;特殊的:逻辑运算~的优先级也是最高的。
当两个参与运算的元素为两个标量a和b时
a&b a、b全不为0时,运算结果为1,否则为0
a|b a、b中只要有一个不为0,运算结果为1,否则为0
~a 当a为0时,运算结果为1;当a不为0时,运算结果为0
>> 3<4 & 6>5
ans =
1
>> ~(9==1)
ans =
1
>> ~9==1 %注意优先级
ans =
0
当两个参与运算的元素为两个同型矩阵时
对两矩阵相同位置的元素按标量的逻辑运算规则逐个进行,运算结果是一个与原矩阵同型的矩阵,其元素由0或1构成。
当两个比较元素一个是标量,另一个是矩阵时
把标量与矩阵的每一个元素按标量的逻辑运算规则逐个进行,运算结果是一个与原矩阵同型的矩阵,其元素由0或1构成。