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。

相关推荐
水水沝淼㵘5 分钟前
嵌入式开发学习日志(数据结构--单链表)Day20
c语言·开发语言·数据结构·学习·算法
举一个梨子zz6 分钟前
Java—— 可变参数、集合工具类、集合嵌套、不可变集合
java·开发语言·intellij-idea·需求分析
iangyu10 分钟前
【windows server脚本每天从网络盘复制到本地】
开发语言·windows·php
程序员拂雨17 分钟前
Python知识框架
开发语言·python
泽020224 分钟前
C++类和对象之相关特性
java·开发语言·c++
敲键盘的小夜猫30 分钟前
深入理解Python逻辑判断、循环与推导式(附实战案例)
开发语言·python
FAREWELL0007531 分钟前
Unity基础学习(九)输入系统全解析:鼠标、键盘与轴控制
学习·unity·c#·游戏引擎
英英_43 分钟前
MATLAB中矩阵和数组的区别
机器学习·matlab·矩阵
郜太素1 小时前
PyTorch 中神经网络相关要点(损失函数,学习率)及优化方法总结
人工智能·pytorch·python·深度学习·神经网络·学习
L_cl1 小时前
【Python 算法零基础 2.模拟 ④ 基于矩阵】
python·算法·矩阵