一起来学matlab-matlab学习笔记10 10_3关系运算符和逻辑运算符
时间:2022-07-23
本文章向大家介绍一起来学matlab-matlab学习笔记10 10_3关系运算符和逻辑运算符,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一些负面消息对国内各个高校和业界影响很大。但是我们作为技术人员,更是要奋发努力,拼搏上进,学好技术,才能师夷长技以制夷,为中华之崛起而读书!
本文很多摘录自图书资料,不做任何商业用途,仅做技术分享,侵权删除!请不要放弃自己的理想和道路,加油!!
“参考书籍 《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷 《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效
关系运算符
% 示例:关系运算符的用法
format compact % 以紧凑形式的方式输出,以何种方式输出的格式化语句应当事先定义
a=[1 2;3 4]
b=[1 1;1 1]
a>1
a<3
a>=2
a<=2
eq(a,b) %注意a和b的shape应该相同
a==1 %找出a中等于1的元素
a~=b
a =
1 2
3 4
b =
1 1
1 1
ans =
0 1
1 1
ans =
1 1
0 0
ans =
0 1
1 1
ans =
1 1
0 0
ans =
1 0
0 0
ans =
1 0
0 0
ans =
0 1
1 1
逻辑运算及逻辑函数
- 逻辑运算和逻辑函数在计算机语言中是普遍存在的,在MATLAB中包含与、或、非、异或4种基本的逻辑运算。逻辑表达式和逻辑函数的值应该为一个逻辑量“真"或“假"MATLAB系统在给出逻辑运算的结果时,以数值“1”代表逻辑“真",以“0”代表“假",但在判断一个量是否为“真”时,以0代表“假",以任意的非零值代表“真"。MATLAB的逻辑运算也是以矩阵为基本运算单元的。
逻辑运算
示例
- 在M文件中,可以使用and(A,B)、or(A,B)、not(A)分别进行"与","或"*,"非"的操作,和运算符得到的结果一致
逻辑函数
all 判断是否所有元素为非零数
A=[0 1 2;3 4 5]
disp('all(A)')
all(A)
disp('all(all(A))')
all(all(A)) % 按照列进行操作
disp('A>=1')
A>=1
disp('all(A>=1)')
all(A>=1)
% 判断一个矩阵中的所有元素是否都大于等于1 all(all(A>=1))=1
A =
0 1 2
3 4 5
all(A)
ans =
0 1 1
all(all(A))
ans =
0
A>=1
ans =
0 1 1
1 1 1
all(A>=1)
ans =
0 1 1
注意:MATLAB下标索引从1开始
A=[0 1 2;3 4 5]
disp('all(A)') % 按照列的殊顺序
all(A)
disp('all(A,2)') % 按照行的顺序
all(A,2)
c=rand(1,2,3)
all(c)
A =
0 1 2
3 4 5
all(A)
ans =
0 1 1
all(A,2)
ans =
0
1
c(:,:,1) =
0.6787 0.7577
c(:,:,2) =
0.7431 0.3922
c(:,:,3) =
0.6555 0.1712
ans(:,:,1) =
1
ans(:,:,2) =
1
ans(:,:,3) =
1
any 判断是否有一个向量元素为非零数
>> A=[0 1 2; 0 3 4]
A =
0 1 2
0 3 4
>> any(A)
ans =
0 1 1
>> any(A,2)
ans =
1
1
exist 查看变量或函数是否存在
find:找出向量或矩阵中非零元素的位置标识
- 在许多情况下,都需要对矩阵中符合某一特定条件的元素的位置进行定位,如将某一矩阵中为零的元素设为1等。如果这个矩阵的元素非常多,手工修改非常麻烦,灵活运用find函数和各种逻辑及关系运算可以是实现绝大多数条件的元素定位。find函数的基本用法有k=find(A),[i,j]=find(A),[i,j,v]=find(A),这是个很有用的逻辑函数,在对数组元素进行查找,替换和修改变化等操作中占有非常重要的地位。
k=find(A)
- 此函数返回由矩阵A的所有非零元素的位置标识组成的向量。如果没有非零元素会返回空值。二维数组先寻找列再寻找行
三维数组寻找值
[i,j]=find(A)
- 此函数返回矩阵A的非零元素的行和列的表示,其中i代表行标而j代表列标。此函数经常用在稀疏矩阵中。在多维矩阵中通常将第一维用i表示,将其余各维作为第二维,用j表示。
[i,j,v]=find(A)
- 此函数返回矩阵A的非零元素的行和列的标识,其中i代表行标而j代表列表,同时,将相应的非零元素的值放入列向量v中,即i和j的值与[i,j]=find(A)取值相同,只是增加了非零元素的值这一项
利用find()函数实现部分矩阵的替换
isfinite:确认矩阵元素是否为有限值
isempty:确认矩阵是否为空矩阵
- 不要把空矩阵、零矩阵及矩阵不存在3个概念混淆,空矩阵说明矩阵存在,但是矩阵没有元素;零矩阵是指矩阵的所有元素都为零;矩阵不存在是指当前的工作空间中没有定义此矩阵变量。isempty(A)可以判断一个存在的矩阵变量是否为空矩阵,如果矩阵为空矩阵则返回逻辑“真",否则返回逻辑“假",一个空矩阵至少有一维是零,如0×0、0×5、0×3×3等。空矩阵没有任何元素,可以用函数size(A)来判断,如果其中有一维为零,则A就是零矩阵。(因为还有其他多个维度有可能其中只有方括号但是没有值)
isequal:判断几个对象是否相等
- isequal(A,B,C...)如果要判断的所有对象A,B,C...具有相同的类型、大小和内容,对于矩阵来说,就是所有矩阵的维数相同,而且矩阵元素的数值相同,如果满足这样的条件,此函数返回逻辑“真",反之,只要有一个对象与其他对象不相同,就会返回逻辑“假"
isnumeric:判断对象是否是数据
- isnumeric(A)如果是数据矩阵,如稀疏矩阵、双精度矩阵、复数矩阵等,此函数返回逻辑“真",反之,如果A是字符串、结构体矩阵等,则返回逻辑“假”
其他逻辑函数
issparse 判断是否为稀疏矩阵 isstr 判断是否为字符串 islogical 判断一个矩阵是否为逻辑矩阵 isfield 判断对象是否为某个结构体矩阵的域 isstruct 判断是否为结构体 ishandle 判断是否为图像句柄
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Yii2框架自定义类统一处理url操作示例
- tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
- PHP htmlspecialchars_decode()函数用法讲解
- ThinkPHP中获取指定日期后工作日的具体日期方法
- php curl操作API接口类完整示例
- PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
- Python叠加矩形框图层2种方法及效果
- PHP常量define和const的区别详解
- 解决运行出现'dict' object has no attribute 'has_key'问题
- tensorflow之读取jpg图像长和宽实例
- Python数据可视化实现多种图例代码详解
- Python使用tkinter实现摇骰子小游戏功能的代码
- pandas to_excel 添加颜色操作
- Python自带的IDE在哪里
- php+Ajax无刷新验证用户名操作实例详解