(转载)从0开始学matlab(第11天)—关系运算符和逻辑运算符

news2024/10/7 12:21:24
        选择结构的运算由一个表达式控制的,这个表达式的结果只有 true(1) false(0)。有两种形式的运算符可以在 MATLAB 中关系得到 true/false:关系运算符和逻辑运算符。跟 C 语言一样, MATLAB 没有布尔型和逻辑数据类型。 MATLAB 0 值作为结果false ,把所有的非 0 值作为结果 ture

1 关系运算符

        关系运算符是指两数值或字符操作数的运算符,这种运算将会根椐两操作数的关系产生结果 true false 。关系运算的基本形式如下
a1 op a2

        其中 a1a2是算术表达式,变量或字符串,op 代表关系运算符中的一个,如表1所示。如果两者的关系为真(true)时,那么这个运算将会返回 1 值;否则将会返回 0 值。

表1 关系运算符

        最后一个运算得到的结果为 1,是因为字符之间的求值要按照子母表的顺序。关系运算符也可用于标量与数组的比较。例如,如果a=[1 0;-2 1]b=0,那么表达式 a>b 将会产生结果[1 0; 1 0]例如a=[1 0;-2 1],b=[0 2;-2 -1],表达式 a>=b 将会产生结果[1 0;1 1].如果这个数组具有不同的大小,那么将会产生运行时错误。注意因为字符串实际上是字符的数组,关系运算符也比较两个相同长度的字符串。如果它们有不同的长度,比较运算将会产生一个错误。在第六章中我们将会学到一个更普遍的方法。等于关系运算符由两个等号组成,而赋值运算符只有一个等号。它们是完全不同 的两个符号,初学者极易混淆。符号==是一个比较运算符,返回一个逻辑数,而符号=是将等号右边的表达式的值赋给左边的变量。当进行比较运算的时候,初学者经常用误用符号=

常见编程错误
小心谨慎不要混淆了等于关系运算符( ==)和赋值运算符(= )。
        在运算的层次中,关系运算在所有数学运算的之后进行。所以下面两个表达式是等价的,均产生结果 1
7 + 3 < 2 + 11
(7 + 3)< (2 + 11)
        等于运算符 == )如果两变量值相同将会返回变量值 1 ,如果不同将返回 0
        不等运算符 ~= )如果两变量值不同则返回 1 ,相则返回 0
        用这两个运算符比较两个字符串他是安全的,不会出现错误。但对两个数字数据的比较,将可能产生异想不到的错误。两个理论上相等的数不能有一丝一毫的差别,而在计算机计算的过程中出现了近似的现象,从而可能在判断相等与不相等的过程中产生错误,这种错误叫做 round off 错误。例如,考虑下面的两个数,两者均应等于 0
a = 0; 
b = sin(pi);
        因为这两个数在理论上相等的,所以关系式 a==b 应当返回值 1。但在事实上,MATLAB 计算所产生的结果的却是
ans = 0

        MATLAB 报告了 a b 不同因为他产生了一个 round off 错误,在计算中 sin(pi)产生了结果 1.2246×10^(-16) 而不是 0。两个理论上相等的值因为 round off 错误而失之发生了细微的差别。我们可以通过检测两数之间在一定的范围内是不是近似相等,在这个精确范围内可能会产生 round off 错误。例如测试

abs(a - b) < 1.0E-14 

        结果就是ans=1

        将会产生正确的结果,不管在 a b 的计算中产不产生的 round off 错误。
好的编程习惯
在我们检测两数值是否相等时一定要小心,因为 round off 错误可能会使两个本来应该相等的值不相等了。这时你可以在 round off 错误的范围内它是不是近似相等。

2 逻辑运算符

        逻辑运算符是联系一个或二个逻辑操作数并能产生一个逻辑结果的运算符。有三个二元运算符:分别为 AND OR 和异或运算符,还有一个一元运算符 NOT。二元逻辑运算的基本形式
a1 op a2
一元逻辑运算的基本形式为
op a1
        a1 a2 代表表达式或变量, op 代表 逻辑运算符,如表2所示。如果 l 1 l 2 的逻辑运算关系为 true ,那么运算将会返回值 1 ,否则将会产生 0

 表2 逻辑运算符

        运算的结果总结在表3 中,它向我们展示每一种运算所有可能的结果。如果一个数的值不为 0 ,那么 MATLAB 将把看作 true,如果它为 0 ,则其为 false 。所以 ~5 的结果为 0 ~0 的结果为 1
表3 逻辑真值表

        在运算的顺序中,逻辑运算在所有的数学运算和关系运算之后进行。

        表达式中的运算顺序如下:
        1.所有的数学运算按照前面描述的顺序的进行。
        2.从左向右依次进行关系运算
        3.执行所有 ~ 运算
        4.从左向右依次进行 & 运算
        5.从左向右依次进行 | 运算和数学运算一样,括号能够改变括号的默认顺序。
        下面是关于逻辑运算的一些例子。

1

        假设下面有三个变量被初始和一些表达式及其运算结果。
        value1 = 1
        value2 = 0
        value3 = -10

        因为~运算在其它的逻辑运算之前进行,那么(f)中的括号是必须的。如果去掉括号的话,(f)表达式将等价于(~value1)&value3

        MATLAB 中有大量的逻辑函数,在条件满足时,函数返回 1。条件不满足时,返回0。这些函数和逻辑运算与关系联合在组成选择结构和循环结构。表 4列出了一系列的逻辑函数。

4 MATLAB 逻辑函数

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/552127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

模块一:k8s集群部署与安全配置

模块一&#xff1a;k8s集群部署与安全配置 目录 1、K8s安全运维概述 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PST6trat-1684674016197)(https://bucket-hg.oss-cn-shanghai.aliyuncs.com/img/1665822875941-73d822c8-7bdd-481c-acc1-df97b70c…

python爬虫实战——小说爬取

python爬虫实战——小说爬取 基于requests库和lxml库编写的爬虫&#xff0c;目标小说网站域名http://www.365kk.cc/&#xff0c;类似的小说网站殊途同归&#xff0c;均可采用本文方法爬取。 目标网站&#xff1a;传送门 本文的目标书籍&#xff1a;《我的师兄实在太稳健了》…

软件设计师第4题

首先&#xff0c;我是备考2023年上半年的考试。 一、历年考试题 历年的考题如下&#xff0c;从表中分析可以看出&#xff0c;动态规划法、排序算法、回溯法、分治法是很大概率考察的算法&#xff0c;尤其是动态规划法&#xff0c;本身其理解难度较高&#xff0c;且可以出的题型…

docker:容器的数据卷

1 数据卷概念及作用 1.1 什么是容器数据卷 先来看看Docker的理念&#xff1a; 将应用与运行的环境打包形成容器运行 &#xff0c;运行可以伴随着容器&#xff0c;但是我们对数据的要求希望是持久化的容器之间希望有可能共享数据 Docker容器产生的数据&#xff0c;如果不通过…

什么是人工智能的知识图谱?知识图谱的组成、构建、应用有哪些?

人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;是一种通过计算机模拟人类智能的技术&#xff0c;其应用范围越来越广泛。知识图谱&#xff08;Knowledge Graph&#xff0c;KG&#xff09;则是人工智能技术中的重要组成部分&#xff0c;它是一种结构化…

Redis集群安装之主从集群

1.主从集群 Redis有三种集群模式&#xff0c;分别是&#xff1a;主从模式、哨兵模式、Cluster模式。Rdis最开始使用主从模式做集群&#xff0c;若master宕机需要手动配置slave转为master&#xff1b;后来为了高可用提出来哨兵模式&#xff0c;该模式下有一个哨兵监视master和s…

TCP实现HTTP服务

在之前的篇章中我们已经讲过七层参考模型了&#xff0c;今天我们从传输层实现应用层http服务 使用nodejs原生net模块就可以打通TCP传输层并且提供一个端口号进行监听 创建一个TCP服务 import net from netconst server net.createServer((socket) > {socket.on(data, (da…

【路径规划】基于人工蜂群算法的栅格法路径规划 机器人路径规划【Matlab代码#23】

文章目录 【可更换其他算法&#xff0c;获取资源请见文章第6节&#xff1a;资源获取】1. 原始ABC算法2. 机器人路径规划环境创建3. 路径规划模型建立4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他算法&#xff0c;获取资源请见文章第6节&#xff1a;资源获取】 1. 原…

【实时性】实时性优化的一些参数设置和心得

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

Deformable DETR 论文学习

1. 解决了什么问题&#xff1f; DETR 去除了目标检测算法中的人为设计&#xff0c;取得了不错的表现。但是其收敛速度很慢&#xff0c;对低分辨率特征识别效果差&#xff1a; 模型初始化时&#xff0c;注意力模块给特征图上所有的像素点分配的权重是均匀的&#xff0c;就需要…

chatgpt赋能Python-python5的阶乘

Python5的阶乘介绍 Python是一门广泛应用于编写脚本、自动化、爬虫、数据分析等方面的编程语言&#xff0c;也是很多科研领域使用的首选。Python的功能和灵活性可以帮助用户解决各种问题&#xff0c;而本文要介绍的是Python中计算阶乘的方法。 阶乘是数学中的一个概念&#x…

fullter 学习记录_01_插件整理

flutter学习记录第一节--搭建项目及路由的设置 1.轮播图: flutter_swiper1.1 用处1.2 导入flutter_swiper库1.3 导入库&#xff0c;运行后可能遇到的问题1.4 属性说明1.5 代码案例 2. flutter_screenutil2.1 用处2.2 引用2.3 使用说明2.4 代码实现按理2.5 ScreenUtl 的封装 1.轮…

UNIX环境高级编程——守护进程

13.1 引言 守护进程&#xff08;daemon&#xff09;是生存期长的一种进程。它们常常在系统引导装入时启动&#xff0c;仅在系统关闭时才终止。因为它们没有控制终端&#xff0c;所以说它们是在后台运行的。 13.2 守护进程的特征 系统进程依赖于操作系统实现。父进程ID为0的各…

xxs跨站之原理分类及攻击手法

xss跨站达到原理&#xff0c;危害和特点 他和语言没有太大关系&#xff0c;它大部分都是属于一个前端的漏洞&#xff0c;搭建一个简易的php网站存在xss跨站漏洞 访问这个网站&#xff0c;x1&#xff0c;就输出1&#xff0c; 如果我们把x<script>alert(1)</script&g…

系统分析师考试之论文框架

系统分析师考试之论文框架 系统分析师考试之论文框架

SpringBoot—常用注解

目录 一、注解(annotations)列表 二、注解(annotations)详解 三、JPA注解 四、springMVC相关注解 五、全局异常处理 一、注解(annotations)列表 SpringBootApplication&#xff1a; 包含了ComponentScan、Configuration和EnableAutoConfiguration注解。其中ComponentScan…

linux 读写锁 pthread_rwlock

专栏内容&#xff1a;linux下并发编程个人主页&#xff1a;我的主页座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物&#xff0e; 目录 前言 概念介绍 应用场景 接口说明 头文件 rwlock定义 初始化/销毁 两种初始化方…

算法设计与智能计算 || 专题九: 基于拉普拉斯算子的谱聚类算法

谱聚类 文章目录 谱聚类1. 信息增益的度量2. 谱聚类: 寻找最优的函数向量 f \boldsymbol{f} f2.1 : 寻找一个最优的函数向量 f \boldsymbol{f} f2.2 寻找鲁棒性更强的多个函数向量2.3 谱聚类(spectral clustering)算法 小结 1. 信息增益的度量 由于数据集 X [ x 1 , x 2 ,…

自动化仓储管理系统(WMS)

仓储是现代物流的一个重要组成部分&#xff0c;在物流系统中起着至关重要的作用&#xff0c;是厂商研究和规划的重点。高效合理的仓储可以帮助厂商加快物资流动的速度&#xff0c;降低成本&#xff0c;保障生产的顺利进行&#xff0c;并可以实现对资源有效控制和管理。 随着我…

CVE-2023-27363 FOXIT PDF READER与EDITOR任意代码执行漏洞复现

目录 0x01 声明&#xff1a; 0x02 简介&#xff1a; 0x03 漏洞概述&#xff1a; 0x04 影响版本&#xff1a; 0x05 环境搭建&#xff1a; 文件下载&#xff1a; 0x06 漏洞复现&#xff1a; POC下载&#xff1a; 利用POC&#xff1a; RCE&#xff1a; 0x07 修复建议&a…