当前位置: 首页 > article >正文

Day11_0.1基础学习MATLAB学习小技巧总结(11)——程序流程控制2

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。

素材来源“数学建模清风”

特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步去链接中的视频,观看学习。也欢迎各位在留言区补充,纠错,讨论。

原素材和学习视频地址:MATLAB教程新手入门篇(上部分)(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili

循环语句

循环是一个将某个计算重复多次的结构。循环的每一次重复就是一遍循环的执行(pass)过程。MATLAB中有两类明确的循环:for循环,在事先知道执行循环次数时使用;while循环,当循环过程必须满足指定条件才终止时使用,因此事先并不知道所执行循环的次数。

1 for-end循环

for-end循环的语法如下:

for 循环变量 = m:s:n %向量或者矩阵
   循环体
end

在循环中,循环变量适用于迭代的变量名,它会在每次循环迭代中从向量或矩阵中去处一列的值。数值向量或者矩阵则表示了循环变量可以取值的范围,通常根据实际需要事先给定。

表达式 m:s:n为循环变量赋予一个初始值m,这个循环变量是按值s(也被称为步进值或递增值)进行递增的。在每一次循环执行期间,程序使用循环变量的当前值执行一次循环体。循环过程继续进行,直到循环变量超过终止值为止。例如,在表达式for k=5:10:36中,最终的k值是35。

for循环的流程图:

例子:

for k = 5:10:35
  x = k^2
end

循环变量k的初始值为5,并且程序使用循环体x=k^2 ,计算x的值。每一次循环,k都增加10,k增加到35时循环停止计算x的值,因此k的值为5、15、25、35,而x的取值分别为25、225、625、1225,计算完成后,程序end。

注意:
在对循环变量表达式k=m:s:n 使用 for 循环时应遵循以下规则:

(1)步进值s可以是负数。例如,k=10:-2:4可产生k=10、8、6、4.

(2)如果省略s,那么步进值将默认为 1

(3)如果s是一个正数,那么如果m 大于n,语句将不再执行循环

(4)如果s是一个负数,那么如果m小于n,语句将不再执行循环

(5)如果m等于n,语句将只执行一次循环

(6)如果步进值 s不是一个整数,那么舍入错误有可能会导致循环执行的次数与预期的次数有所不同。

2 while-end循环

当循环过程由于满足了一个指定条件而终止时,程序使用 while 循环,并且因此而使用户事先并不知道循环的执行次数。

while-end循环的典型结构如下:

while 逻辑表达式
   循环体
end

MATLAB首先会测试逻辑表达式的真假。在逻辑表达式中必须包含循环变量。例如,x是语句 whilex~=5中的循环变量。如果逻辑表达式为真,执行语句。要使 while 循环正常运行,必须发生以下两个前提条件:
(1)在执行while 语句之前,循环变量必须有一个值。
(2)语句必须以某种方式改变循环变量的值。

在每一次循环执行期间,程序使用循环变量的当前值执行一次语句。循环继续执行,直到逻辑表达式为假。下图显示了while 循环的流程图。

 例:

已知y(n)= 1+1/2+1/3+1/4+...+1/n,当n最小取多少时,y的值大于10?

y = 1;n = 1;
while y <= 10
  n = n + 1;
  y = y + 1/n;
end
disp(n)

y和的初始值都是1,while 后面的表达式是y<=10,即只要当前的y值小于等于10,循环就会继续执行。在循环体内,会更新n和y的值,直到满足 y>10才会退出循环,此时的n就是最小的满足 y>10的 n。


http://www.kler.cn/a/291321.html

相关文章:

  • 设计模式 行为型 策略模式(Strategy Pattern)与 常见技术框架应用 解析
  • Java重要面试名词整理(二十一):SpringSecurity
  • GPT系统重大升级,开创国内先河:o1支持图片识别功能正式上线
  • 你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗?
  • 【计算机视觉技术 - 人脸生成】2.GAN网络的构建和训练
  • 2025年1月4日蜻蜓q旗舰版st完整开源·包含前后端所有源文件·开源可商用可二开·优雅草科技·优雅草kir|优雅草星星|优雅草银满|优雅草undefined
  • 50ETF期权和股指期权有什么区别?ETF期权应该怎么做?
  • 2018CCPC网络赛 C - Dream
  • windows上的MySql的安装与配置
  • C语言:刷题笔记
  • 鸿蒙界面开发——组件(3):视频组件video
  • 能源交通行业ITSM案例分析报告
  • python学习14:如何读取yaml文件?
  • 跟我一起写 SIPp XML scenario file
  • 【区块链 + 人才服务】教育区域初中综合素质评价系统 | FISCO BCOS应用案例
  • 使用python对股票市场进行数据挖掘的书籍资料有哪些
  • Prometheus+Grafana普罗米修斯,搭建和使用
  • 数据结构集训day12(适合考研、自学、期末和专升本)
  • 2024AEI:Cross-Supervised multisource prototypical network
  • Mac 安装 jdk 8详细教程
  • 【Python】超详细基础语法总结
  • 极米科技:走出舒适圈,推动数据架构现代化升级 | OceanBase 《DB大咖说》
  • Windows11系统本地部署Fooocus结合内网穿透远程AI生成图片
  • armbian cups 远程打印机 1022
  • uniapp底部安全距离(safeAreaInsets)的实际应用
  • 07:【江科大stm32】:编码器通过定时器测速