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

相关文章

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件