MATLAB的基本运算
算术运算
- 基本算术运算
-
加减运算
- 要求两个矩阵同型,相应运算相加减
- 一个标量与矩阵加减,这个标量与矩阵的每一个元素相加减
-
乘法运算
- 矩阵A和B作乘法运算,要求A的行数与B的列数相等,则称A和B是可乘的,或称A和B的维数和大小相等
-
除法运算
-
分为左除(/)和右除(\)
如果A矩阵是非奇异矩阵,则B/A等效于B*inv(A),A/B等效于A*inv(B) inv函数:求矩阵的逆矩阵
-
一般B/A不等于A/B,如果A或B其中有一个或都是标量,那么 B/A等于A/B
-
-
乘方运算:A^x,x是标量
-
点运算
- 点运算符:.*、./、.\
- 要求两个矩阵同型
- 作用:两个矩阵对应元素作运算
%x为0.1、0.4、0.7、1.0,求y=sinxcosx的值 >> x = [0.1:0.3:1]; >> y = sin(x).*cos(x) y = 0.0993 0.3587 0.4927 0.4546
-
关系运算
- 关系运算符:<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、~=(不等于)
- 关系表达式的结果为1或0
- 运算方法
-
如果作运算的两个量都是标量,则直接运算;如果有一个标量,则这个标量分别与矩阵的每个运算作运算,结果是一个矩阵
-
如果两个都是矩阵,则两个矩阵对应的元素作运算
>> A=[1:3;4:6]; >> B=[7:9;4:6]; >> A==B ans = 0 0 0 1 1 1
-
逻辑运算
-
逻辑运算符:&(与)、|(或)、~(非)
-
结果是1或0
-
~a当a是0时,结果为1;当a是非0时,结果为0
-
运算方法
- 如果作运算的两个量都是标量,则直接运算;如果有一个标量,则这个标量分别与矩阵的每个运算作运算,结果是一个矩阵
- 如果两个都是矩阵,则两个矩阵对应的元素作运算
%求水仙花数 m = 100:999; m1 = rem(m,10); m2 = rem(fix(m/10),10); m3 = fix(m/100); k = find(m==m1.*m1.*m1+m2.*m2.*m2+m3.*m3.*m3); s = m(k) %结果:s = 153 370 371 407
-
优先级
算术运算符>关系运算符>逻辑运算符