1.8 matlab基本运算(算术运算、关系运算和逻辑运算)

您所在的位置:网站首页 matlab矩阵的建立及基本运算 1.8 matlab基本运算(算术运算、关系运算和逻辑运算)

1.8 matlab基本运算(算术运算、关系运算和逻辑运算)

2023-08-04 21:51| 来源: 网络整理| 查看: 265

在这里插入图片描述

1、算术运算 MATLAB的算术运算分为矩阵运算和矩阵内元素运算,矩阵内元素运算在矩阵运算符前加“.”, 如表2.12所示。除了一些矩阵的运算符以外,MATLAB算术运算符要求参与运算的矩阵必须是维数相同,但如果运算对象是标量和矩阵,则是标量和矩阵内每一个元素相运算。 在这里插入图片描述

在这里插入图片描述例1、点运算 在这里插入图片描述

x = 0.1:0.3:1

x =

0.1000 0.4000 0.7000 1.0000

y = sin(x).*cos(x)

y =

0.0993 0.3587 0.4927 0.4546

2、关系运算 MATLAB关系运算符如表2.13所示。关系运算符两侧的矩阵维数必须相同,关系运算是对矩阵内元素运算。 如果参与运算的元素使关系运算式为真则返回值为逻辑1,反之返回值为逻辑0。标量与矩阵进行关系运算时,是将标量与矩阵内每一个元素进行运算。 在这里插入图片描述

在这里插入图片描述在这里插入图片描述例2:判断矩阵a的元素是否为偶数?

>> a = [1:4;5:8;9:12] a = 1 2 3 4 5 6 7 8 9 10 11 12 >> b = rem(a,2)==0 b = 3×4 logical 数组 0 1 0 1 0 1 0 1 0 1 0 1

3、逻辑运算 MATLAB提供3种类型的逻辑运算,分别为逻辑矩阵的元素运算、整型数据或数组的按位运算和短路运算。 MATLAB编程时可以用除了位运算以外的逻辑运算的返回值作逻辑索引。参与矩阵元素逻辑运算的逻辑矩阵必须是维数相同的矩阵,如果逻辑运算符的一侧为标量,则是标量和逻辑矩阵的每一个元素进行逻辑运算。逻辑运算符有:与运算“&”、或运算“|”、非运算“~”和异或“xor”。MATLAB也提供了与逻辑运算符对应的函数来完成逻辑运算,如表2.14所示。 在这里插入图片描述 逻辑运算是对参与运算的矩阵的对应元素进行逻辑与、逻辑或、逻辑非和逻辑异或。可以采用运算符,也可以采用函数。参与逻辑运算的矩阵如果是两个,则这两个矩阵必须有相同的维数。 MATLAB中提供两个快速逻辑运算符,快速逻辑与(&&)和快速逻辑或(||),快速运算只在if语句或while语句中应用。 在执行if语句或while语句中的表达式时,如果快速逻辑运算符左侧的操作数可以确定整个逻辑运算式的值,那么逻辑运算符右侧的操作数自动被短路。 程序中利用快速逻辑与运算(&&)时,第一个表达式为假,直接返回假,不再计算第二个表达式。利用快速逻辑或运算(||)时,当第一个表达式为真时,直接返回真,不再计算第二个表达式。

例3

>> 35 ans = logical 1 >> ~(9==1) ans = logical 1 >> ~9==1 ans = logical 0

三种运算中,算术运算的优先级最高,逻辑运算优先级最低,但逻辑非运算是单目运算,它的优先级比双目运算要高

在这里插入图片描述例4 水仙花数是指各位数字的立方之和等于该数本身的三位正整数

>> a = 100:999; *生成所有三位数的向量 a1 = rem(a,10); *取个位数 a2 = rem(fix(a/10),10); *取十位数 a3 = fix(a/100); *取百位数 k = find(a == a1.*a1.*a1 + a2.*a2.*a2 + a3.*a3.*a3) *找水仙花数的序号 b = a(k) *找出具体的水仙花数 k = 54 271 272 308 b = 153 370 371 407

4、运算优先级 MATLAB表达式可以使用的任何组合运算、关系和逻辑运算符。优先级别确定MATLAB表达式的运算顺序。如果两个运算符的优先级相同,则从左向右运算。MATLAB 的运算符的优先级从最高到最低如下: 括号运算; 转置运算,幂运算,复数共轭转置运算,矩阵幂运算; 正号,负号,逻辑非运算; 点乘法,点除法,矩阵乘法、矩阵除法; 加法,减法; 冒号运算; 小于,小于等于,大于,大于等于,恒等于,不等于; 逻辑与; 逻辑或; 短路逻辑与; 短路逻辑或。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3