前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

MatLab简易教程 #6.运算符(matlab中运算符号)

qiguaw 2024-10-01 15:10:49 资源文章 15 ℃ 0 评论

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
?

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表