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

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

素材来源"数学建模清风"

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

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

循环语句

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

1 for-end循环

for-end循环的语法如下:

Matlab 复制代码
for 循环变量 = m:s:n %向量或者矩阵
   循环体
end

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

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

for循环的流程图:

例子:

Matlab 复制代码
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循环的典型结构如下:

Matlab 复制代码
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?

Matlab 复制代码
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。

相关推荐
枕星而眠几秒前
C++ String类精讲:从基础用法到进阶底层原理
开发语言·c++·后端·学习方法
江屿风1 分钟前
【C++笔记】模板初阶流食般投喂
开发语言·c++·笔记
Shadow(⊙o⊙)2 分钟前
qt信号和槽链接的接入与断开
开发语言·前端·c++·qt·学习
想你依然心痛4 分钟前
HarmonyOS 6 悬浮导航 + 沉浸光感:打造鸿蒙智能体驱动的沉浸式编程学习伴侣
学习·华为·ar·harmonyos·智能体
AI玫瑰助手4 分钟前
Python运算符:逻辑运算符(and/or/not)的短路特性
开发语言·python·信息可视化
m0_474606785 分钟前
JAVA - 使用Apache POI 自定义报表字段手写导出(支持-合并单元格)
java·开发语言·apache
肩上风骋5 分钟前
C++基本知识点积累之d指针,invokemethod函数(一)
开发语言·c++·d指针·invokemethod()
明志数科6 分钟前
具身智能数据标注工具对比评测:6大平台横向测评
开发语言·python
念何架构之路6 分钟前
Go pprof性能剖析
开发语言·后端·golang
码界筑梦坊9 分钟前
132-基于Python的中老年体检数据可视化分析系统
开发语言·python·信息可视化·flask·毕业设计