利用空闲时间把碎片化的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。