MATLAB使用速成 第四章(逻辑函数和控制结构)

2024-04-20 12:52

本文主要是介绍MATLAB使用速成 第四章(逻辑函数和控制结构),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、关系运算和逻辑运算

1、关系运算

(1)关系运算符:

<

小于

<=

小于等于

>

大于

>=

大于等于

==

等于

~=

不等于

(2)与大多数编程语言一样,关系运算符用于比较两个操作数,如果结论是真则返回1,否则返回0。

(3)关系操作符可以比较两个同样大小的矩阵(或矢量),两个矩阵(或矢量)中的每一个元素相比较,返回一个由各元素比较结果(0和1)构成的矩阵(或矢量);关系操作符还可以用来比较一个矩阵(或矢量)和一个标量,标量和矩阵(或矢量)中的每一个元素相比较,返回一个由标量与矩阵(或矢量)各元素比较结果(0和1)构成的矩阵(或矢量)。

(4)举例:

2、逻辑运算

(1)逻辑运算符:

&

与【A&B等价于and(A,B)】

|

或【A | B等价于or(A,B)】

~

非【~ A等价于not(A)】

xor(x,y)

异或

(2)逻辑运算规则(0表示“假”,非零表示“真”):

运算对象

异或

A

B

A&B

A|B

~A

Xor(A,B)

0

0

0

0

1

0

0

1

0

1

1

1

1

0

0

1

0

1

1

1

1

1

0

0

(3)逻辑运算函数:

①any(X):如果向量X中存在非零元素则返回1,否则返回0。(若X为矩阵,则按列运算,返回一个由0和1构成的向量)

②all(X):如果向量X中所有元素都非零则返回1,否则返回0。(若X为矩阵,则按列运算,返回一个由0和1构成的向量)

(4)一些测试函数:

isfinite(x)

若x为有限值,返回真值1,否则返回0

isinf(x)

若x为无穷大,返回真值1,否则返回0

isnan(x)

若x为不定值,返回真值1,否则返回0

isreal(x)

若x无虚部,返回真值1,否则返回0

isstr(x)

若x为一个字符串,返回真值1,否则返回0

isempty(x)

若x为空,返回真值1,否则返回0

3、find命令

(1)find(A):找出矩阵(或矢量)A中所有非零元素所在的下标。

(2)find(条件):找出矩阵(或矢量)A中符合条件的元素所在的位置。

4、运算符的优先级

二、程序控制结构

1、顺序结构

(1)顺序结构按排列顺序依次执行各条语句,直到程序的最后。

(2)顺序结构是最简单的一种程序结构,一般涉及数据的输入输出、数据的计算或处理等。

2、选择结构

(1)选择结构根据给定的条件成立或不成立,分别执行不同的语句。

(2)if条件语句:

①if语句的三种结构:

[1]单分支结构:

if <条件表达式>

        <满足条件执行的语句组>

end

[2]双分支结构:

if <条件表达式>

        <满足条件执行的语句组>

else

        <不满足条件执行的语句组>

end

[3]多分支结构:

if <条件表达式1>

        <满足条件1执行的语句组>

elseif 条件表达式2

        <不满足条件1而满足条件2执行的语句组>

 ... ...

elseif <条件表达式m>

        <仅满足条件m执行的语句组>

else

        <不满足所有条件执行的语句组>

end

②if的条件表达式中如果是向量,只有在向量的全部元素为真时条件表达式才为真。

(3)switch语句:

①switch语句可根据表达式的不同取值,分别执行不同的语句。

②switch语句的通式与执行流程:

switch <表达式>      %switch后面的表达式的值可以是一个标量或字符串

        case <表达式1>

                <语句组1>

        case <表达式2>

                <语句组2>

        ... ...

        case <表达式m>

                <语句组m>

        otherwise        %otherwise 指令可以不出现

                <语句组>

end

[1]先计算表达式的值,然后将它依次与各个case指令后表达式的值进行比较,当比较结果为真时,就执行相应语句组,然后跳出switch结构。

[2]如果所有的比较结果都为假,则执行otherwise后面的语句组。

(4)menu语句:

①menu语句可让用户通过图形化的菜单选项来选择需要执行的功能(对应的语句)。

②menu可以有若干个参数(一般参数类型都是字符串),第一个参数可认为是菜单的标题,第二个参数开始可认为是菜单的选项,从左至右分别为菜单的第一选项、第二选项……,选项对应的序号从1开始依次递增1,用户选择第几个选项,menu就会返回该选项对应的序号。

3、循环结构

(1)循环结构根据给定的循环条件,重复执行指定的语句,直到循环条件不满足为止。

(2)for语句:

①for语句的通式与执行流程:

for <循环变量> = <取值列表>    %取值列表通常是一个向量

        <循环体>                 %不要在循环体内改变循环变量的值

end                   %循环语句可以嵌套使用

        for语句将取值列表中的值依次赋给循环变量,直到取值列表的值全部取完,循环结束。

②举例:

[1]已知y=1+\frac{1}{3}+\frac{1}{5}+\frac{1}{2n-1},当 n=100 时,求y的值。

[2]计算s = 1 + 3 + 10 - 28 + 30 + 50 - 12 - 8。

(3)while语句:

①while语句的通式与执行流程:

while <条件表达式>

        <循环体>

end                   %循环语句可以嵌套使用

        当条件表达式的值为真(非0)时,执行循环体语句。

②举例:计算MATLAB中eps的值。

(4)break语句和continue语句:

①break语句用于终止循环的执行,即跳出最内层循环。

②continue语句用于结束本次循环,进行下一次循环。

这篇关于MATLAB使用速成 第四章(逻辑函数和控制结构)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920316

相关文章

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

python中的flask_sqlalchemy的使用及示例详解

《python中的flask_sqlalchemy的使用及示例详解》文章主要介绍了在使用SQLAlchemy创建模型实例时,通过元类动态创建实例的方式,并说明了如何在实例化时执行__init__方法,... 目录@orm.reconstructorSQLAlchemy的回滚关联其他模型数据库基本操作将数据添

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Java使用Spire.Doc for Java实现Word自动化插入图片

《Java使用Spire.DocforJava实现Word自动化插入图片》在日常工作中,Word文档是不可或缺的工具,而图片作为信息传达的重要载体,其在文档中的插入与布局显得尤为关键,下面我们就来... 目录1. Spire.Doc for Java库介绍与安装2. 使用特定的环绕方式插入图片3. 在指定位

Springboot3 ResponseEntity 完全使用案例

《Springboot3ResponseEntity完全使用案例》ResponseEntity是SpringBoot中控制HTTP响应的核心工具——它能让你精准定义响应状态码、响应头、响应体,相比... 目录Spring Boot 3 ResponseEntity 完全使用教程前置准备1. 项目基础依赖(M

Java使用Spire.Barcode for Java实现条形码生成与识别

《Java使用Spire.BarcodeforJava实现条形码生成与识别》在现代商业和技术领域,条形码无处不在,本教程将引导您深入了解如何在您的Java项目中利用Spire.Barcodefor... 目录1. Spire.Barcode for Java 简介与环境配置2. 使用 Spire.Barco

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

C# 预处理指令(# 指令)的具体使用

《C#预处理指令(#指令)的具体使用》本文主要介绍了C#预处理指令(#指令)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录1、预处理指令的本质2、条件编译指令2.1 #define 和 #undef2.2 #if, #el