一、算术运算
1.基本算术运算:
(1)基本运算符:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。
1⃣️Matlab的运算符是在矩阵意义下进行的。
2⃣️单个数据的算数运算只是矩阵运算的一种个特例。
(2)加减运算:
1⃣️若两矩阵同型,则运算时两矩阵的相应元素相加减。
2⃣️若两矩阵不同型,则Matlab将给出错误信息。
(3)乘法运算
1⃣️矩阵A和B进行乘法运算,要求A的列数与B的行数相等,此时则称A、B矩阵是可乘的,或称A和B两矩阵维数和大小相容。
2⃣️如果两者的维数或大小不相容,则将给出错误的信息,提示用户两个矩阵是不可乘的。
(4)除法运算
1⃣️如果A矩阵是非奇异方阵,则B/A等效于B*inv(A)
,A\B等效于inv(A)*B
。
2⃣️对于矩阵来说,右除和左除表示两种不同的除数矩阵和被除数矩阵关系。
>> A=[1,2,3;4,2,6;7,4,9];
>> B=[4,3,2;7,5,1;12,7,92];
>> C1=B/A
C1 =
-0.1667 -3.3333 2.5000
-0.8333 -7.6667 5.5000
12.8333 63.6667 -36.5000
>> C2=A\B
C2 =
0.5000 -0.5000 44.5000
1.0000 0.0000 46.0000
0.5000 1.1667 -44.8333
3⃣️对于含有标量的运算,两种除法的运算结果相同。
>> 3/4
ans =
0.7500
>> 4\3
ans =
0.7500
>> a=[10.5,25]
a =
10.5000 25.0000
>> a/5
ans =
2.1000 5.0000
>> 5\a
ans =
2.1000 5.0000
(5)乘方运算
1⃣️一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。
>> 3/4
ans =
0.7500
>> 4\3
ans =
0.7500
>> a=[10.5,25]
a =
10.5000 25.0000
>> a/5
ans =
2.1000 5.0000
>> 5\a
ans =
2.1000 5.0000
2.点运算
(1)点运算符:.*
、./
、.\
和.^
(2)两个矩阵进行点运算是指它们点对应元素进行相关运算,要求两矩阵同型。
>> 3/4
ans =
0.7500
>> 4\3
ans =
0.7500
>> a=[10.5,25]
a =
10.5000 25.0000
>> a/5
ans =
2.1000 5.0000
>> 5\a
ans =
2.1000 5.0000
3.关系运算符
(1)<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。
(2)当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。
>> 3>4
ans =
0
(3)当参与比较当量是两个同型当矩阵时,比较是对两矩阵相同位置对元素按标量关系运算规则逐个进行,最终对关系运算对结果是一个与原矩阵同型对矩阵,它的元素由0或1组成。
(4)当参与比较的量一个是矩阵,另一个是标量时,则把标量与矩阵的每一个元素按标量关系运算规则逐个进行,最终对关系运算对结果是一个与原矩阵同型对矩阵,它的元素由0或1组成。
建立3阶方阵A,判断A的元素是否为偶数:
>> A=[24,35,13;22,63,23;39,47,80]
A =
24 35 13
22 63 23
39 47 80
>> P=rem(A,2)==0
P =
1 0 0
1 0 0
0 0 1
5.逻辑运算
(1)逻辑运算符:&(与)、|(或)、~(非)。
(2)设参与逻辑运算的是两个标量a和b,那么运算规则为:
1⃣️a&b :a、b全为非零时,运算结果为1,否则为0 。
2⃣️a|b :a、b中只要有一个为非零时,运算结果为1 。
3⃣️~a:当a为零时,运算结果为1;当a为非零时,运算结果为0 。
>> 3<4&6>5
ans =
1
>> ~(9==1)
ans =
1
>> ~9==1
ans =
0
(3)若参与逻辑运算的是两个同型矩阵,那么将对矩阵相同位置上对元素按标量规则逐个进行运算,最终运算结果是一个与原矩阵同型对矩阵,其元素由1或0组成。
(4)当参与逻辑运算的量一个是矩阵,另一个是标量时,那么将在标量与矩阵的每一个元素之间按标量规则逐个进行运算,最终运算结果是一个与原矩阵同型对矩阵,它的元素由0或1组成。
例:水仙花数是指各位数字的立方和等于该数本身的三位正整数。求全部的水仙花数。
>> 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)
k =
54 271 272 308
>> s=m(k)
s =
153 370 371 407