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

相关文章

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

在 Spring Boot 中使用 @Autowired和 @Bean注解的示例详解

《在SpringBoot中使用@Autowired和@Bean注解的示例详解》本文通过一个示例演示了如何在SpringBoot中使用@Autowired和@Bean注解进行依赖注入和Bean... 目录在 Spring Boot 中使用 @Autowired 和 @Bean 注解示例背景1. 定义 Stud

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景