上节我们一起学习了matlab基础的数据类型,今天呢我们来学习一下matlab的运算符。
在matlab中,提供了丰富的运算符,主要包括算数运算符、关系运算符和逻辑运算符。算数运算符用于数值计算;关系运算符和逻辑运算符的返回值作为逻辑型变量,其中1代表逻辑真,0代表逻辑假。
一、算数运算符
matlab提供的基本算术运算有:加(+)、减(-)、乘(*)、除(/)和乘方(^)。对于标量和数组,是以元素为单元进行运算。
算数运算符二、关系运算符
关系运算符用于比较两个操作数的大小,返回为逻辑型变量。在matlab中,关系运算符如表2.9所示。当2个操作数都是数组或者矩阵时,这2个操作的维数必须相同,否则会显示出错信息。
关系运算符实例:
clear all;
%大于运算符
a=3>2
%取3行4列的随机数(0-1)
b1=rand(3,4)
%判断矩阵b1的元素是否大与0.5
b2=b1>=0.5
%判断矩阵b1的元素是否小于0.8
b3=b1<=0.8
%判断矩阵b2中的元素是否与矩阵b3中的元素相等
c1=eq(b2,b3)
%判断矩阵b2中的元素是否与矩阵b3中的元素不相等
c2=b2~=b3
比较浮点数
实例:
clear all;
format long;
a=3.14159+eps
b=3.14159
%1
c1=a==b
%0
c2=a>b
%判断a与b是否相等
%即判断a减b的绝对值是否小于1e-10
% 1
c3=abs(a-b)<1e-10
% 转换为默认显示格式
format short;
三、逻辑运算符
在matlab中,逻辑运算符分为3类,分别是逐个元素的逻辑运算、快速逻辑运算和逐位逻辑运算。逐个元素的逻辑运算有3种,分别是逻辑与(&)、逻辑或(|)和逻辑非(~)。在进行两个数组或者矩阵的逻辑与和逻辑或时,必须具有相同的维数。
逻辑运算符1、逐个元素的逻辑运算符
实例:
clear all;
%3行4列的随机数(0-1)
A=rand(3,4)
B=A>0.6
C=A<0.4
%矩阵B与矩阵C进行与
d1=B&C
%矩阵B与矩阵C进行或
d2=B|C
%矩阵B取非操作
d3=~B
%矩阵B与矩阵C进行异或
d4=xor(B,C)
2、快速逻辑运算
在matlab中,有两个快速逻辑运算符,逻辑与(&&)和逻辑或(||),(&&)运算符和(&)运算符非常相近;(&&)运算符,在参与运算的第一个操作数为假时,直接返回假,不再计算第二个操作数;(||)操作符,在参与运算的第一个操作数为真时,直接返回真,不再判断第二个操作数。
实例:
clear all;
a=0;
%快速逻辑与 0
(a>0)&&(3/a>0)
%逻辑与 0
(a>0)&(3/a>2)
3、逐位逻辑运算符
在matlab中,可以对二进制进行逐位逻辑运算,并将运算的结果转换为十进制数。
实例:
clear all;
a=20
b=23
%十进制转换为2进制数
c1=dec2bin(a)
c2=dec2bin(b)
%逐位逻辑与
d1=bitand(a,b)
d2=dec2bin(bitand(a,b))
%逐位逻辑或
d3=dec2bin(bitor(a,b))
%逐位逻辑异或
d4=dec2bin(bitxor(a,b))
%逐位逻辑非
d5=dec2bin(bitcmp(a,6))
四、运算优先级
在matlab中进行算数运算、逻辑运算和关系运算时,不同的运算符有不同的优先级。在进行运算时,按照运算符的优先级,从高到低进行运算,对于相同优先级的运算符,按照从左到右的顺序进行。
运算符优先级实例:
clear all;
%先乘法然后比较大小
a=3*2>=5
%先乘法
b=5*2:15
%先乘方,再乘法
c=3*5^2
好了,今天的matlab运算符学到这里就结束了,喜欢的朋友可以给我点个赞哦!!!
网友评论