matlab中逻辑运算符怎么使用(MatLab简易教程6.运算符)(1)

Matlab常用运算符包括:算术、关系、逻辑、位等

本节介绍常用运算符及矩阵,更多高级内容请使用help命令及上网查阅。

常用算术运算符:

加法,如为矩阵大小必须一致

>> A = [1 2; 3 4] B = ones(2) A B ​ A = ​ 1 2 3 4 ​ ​ B = ​ 1 1 1 1 ​ ​ ans = ​ 2 3 4 5 >> C = ones(3) % 不一致大小矩阵 A C ​ C = ​ 1 1 1 1 1 1 1 1 1 ​ Error using Matrix dimensions must agree. % 报错 >> % 常规加法 a = 1 b = 2 a b ​ a = ​ 1 ​ ​ b = ​ 2 ​ ​ ans = ​ 3

-减法,如为矩阵大小必须一致,操作与 一致。

*乘法,如为矩阵A*B,A的列数目必须与B行数一致。满足, 乘法规律为的元素为A矩阵的第行的每个元素与B矩阵的第j列每个元素乘积之和。举例来说:

A矩阵为2行3列矩阵:

A= [1,2,3;4,5,6]

B矩阵为3列3行矩阵:

B = [1,2,3;4,5,6;7,8,9]

那么C 为A*B的解,那么C的第一行一列元素计算方法如下:

A的第一行[1,2,3] B的第一列[1;4;7],他们每个元素相乘并累加

1*1 2*4 3*7 = 30,

C的第二行一列元素为A的第二行[4,5,6]与B第一列[1;4;7]元素相乘并累加得到

4*1 5*4 6*7=66,

依次类推,可以得到C最终等于

C = [30,36,42;66,81,96]

>> A =[1,2,3;4,5,6] B= [1,2,3;4,5,6;7,8,9] C=A*B ​ A = ​ 1 2 3 4 5 6 ​ ​ B = ​ 1 2 3 4 5 6 7 8 9 ​ ​ C = ​ 30 36 42 66 81 96 ​

*也可以作为常规乘法运算:

>> A = 5 ​ A = ​ 5 ​ >> B = 3 ​ B = ​ 3 ​ >> C = A*B ​ C = ​ 15

.*点乘,元素按位相乘,矩阵大小必须一致

>> A = [1,2;3,4] B = [2,3;4,5] C =A .* B ​ A = ​ 1 2 3 4 ​ ​ B = ​ 2 3 4 5 ​ ​ C = ​ 2 6 12 20

/右除,对于标量的运算 a、b是两个标量,表示a除b,对于矩阵的运算,a、b是两个矩阵,a/b 表示矩阵a乘矩阵b的逆矩阵,与 a*inv(b) 一致。

首相我们看一下什么是逆矩阵,

例如求3阶可逆矩阵A的逆矩阵,首先做这样的一个矩阵

a11 a12 a13 1 0 0

a21 a22 a23 0 1 0

a31 a32 a33 0 0 1

(也就是 [原矩阵:单位矩阵] )

通过若干次初等行变换(“某行乘以一个数后加到另一行”、“某两行互换位置”、“某行乘以某一个数”,这三种以行做运算的方法),将上面的矩阵变为

1 0 0 b11 b12 b13

0 1 0 b21 b22 b23

0 0 1 b31 b32 b33

(也就是想办法把原来的A矩阵变成单位矩阵,变成这样的形式 [单位矩阵:B矩阵] )

这样B矩阵就是A矩阵的逆矩阵了。

以此类推到N阶可逆矩阵求逆矩阵。

>> A = [1,2;3,4] ​ A = ​ 1 2 3 4 ​ >> B = [2,3;4,5] ​ B = ​ 2 3 4 5 ​ >> A/B ​ ans = ​ 1.5000 -0.5000 0.5000 0.5000

./右点除,矩阵元素按位右除,标量与普通右除一致

>> A = [1,2;3,4] ​ A = ​ 1 2 3 4 ​ >> B = [2,3;4,5] ​ B = ​ 2 3 4 5 >> A./B ​ ans = ​ 0.5000 0.6667 0.7500 0.8000

\左除,对于标量,C = A\B可以简单理解为B/A,对于矩阵可以理解为矩阵a的逆矩阵乘矩阵B,与 inv(A)*B 一致。

>> A = 4 ​ A = ​ 4 ​ >> B = 20 ​ B = ​ 20 ​ >> C = A\B ​ C = ​ 5 >> A = [1,2;3,4] ​ A = ​ 1 2 3 4 ​ >> B = [2,3;4,5] ​ B = ​ 2 3 4 5 ​ >> A\B ​ ans = ​ 0 -1 1 2

.\左点除,矩阵元素按位左除,标量与普通一致

>> A = [1,2;3,4] ​ A = ​ 1 2 3 4 ​ >> B = [2,3;4,5] ​ B = ​ 2 3 4 5 ​ >> C = A.\B ​ C = ​ 2.0000 1.5000 1.3333 1.2500

^ 幂运算,矩阵与标量都进行幂运算

>> A = ones(2) ​ A = ​ 1 1 1 1 ​ >> A^2 ​ ans = ​ 2 2 2 2 >> B = 2 ​ B = ​ 2 ​ >> B^2 ​ ans = ​ 4

.^点幂运算,矩阵按位幂运算,标量与普通^一致

>> A = ones(2) A.^2 ​ A = ​ 1 1 1 1 ​ ​ ans = ​ 1 1 1 1

'转置矩阵,简单理解:行列互换

>> A=[1,2;3,4] ​ A = ​ 1 2 3 4 ​ >> A' ​ ans = ​ 1 3 2 4

常用关系运算符:

关系运算符也可以用于标量和非标量数据。数组的关系运算符在两个数组之间执行逐个元素的比较,并返回相同大小的逻辑数组,如果为真,则元素设置为逻辑1(true),如果为假,则元素设置为逻辑0(false)。

<小于

<=小于等于

>大于

>=大于等于

==等于

~=不等于

>> 1<5 1<=5 A=[1,2] A<5 ​ ans = ​ 1 ​ ​ ans = ​ 1 ​ ​ A = ​ 1 2 ​ ​ ans = ​ 1 1 >> 5>1 5>=1 A=[1,2] A>5 ​ ans = ​ 1 ​ ​ ans = ​ 1 ​ ​ A = ​ 1 2 ​ ​ ans = ​ 0 0 >> 1==1 1==2 ​ ans = ​ 1 ​ ​ ans = ​ 0 >> 1~=1 1~=2 ​ ans = ​ 0 ​ ​ ans = ​ 1

常用位运算符:

&与运算

|或运算

~非运算

>> A = [1,1,0,1] ​ A = ​ 1 1 0 1 ​ >> B =[1,1,1,0] ​ B = ​ 1 1 1 0 ​ >> A&B ​ ans = ​ 1 1 0 0 >> ~A ​ ans = ​ 0 0 1 0 >> A|B ​ ans = ​ 1 1 1 1 ​

,