循环结构是指按照给定的条件重复执行指定的语句。MATLAB提供了两种循环结构:for循环结构和while循环结构。
1.for循环结构
for循环结构的格式是:
其中,c0是循环变量i的初值;cb是循环变量i的步长,当cb取单位步长时可以省略;cn是循环变量i的终值。
for循环结构必须以end作为循环结构的结束标志,否则以后的语句都被认为是for循环体的内容。
这是一种预设循环次数的结构,循环变量i从取初值c0开始执行循环体;每循环一次i增加一个步长cb,重复执行循环体;直到i大于终值cn时跳出循环体,继续执行end后面的语句。
for循环结构可以嵌套使用,也可以与其他流程控制结构嵌套使用。
素数是大于1,且除了1和它本身以外,不能被其他任何整数整除的整数。用筛选法求素数的基本思想是:要找出2~m的全部素数,首先在其中划去2的倍数(不包括2),然后划去3的倍数(不包括3),由于4已被划去,再找5的倍数(不包括5)……直到再划去不超过的数的倍数,剩下的数都是素数。
运算结果:
M文件中,函数rem(x,k)可获取自然数x与被除数k的余数;关系表达式x~=k表示k不等于自然数x。因此,变量n是记录自然数x中能够被k整除,并且不等于k的自然数x的数组x的下标。(www.xing528.com)
例4-4 在MATLAB函数库中有一个魔方矩阵函数magic(),它能够生成每行、每列和对角线上元素的和都相等的N阶方阵。试编制M文件验证魔方矩阵的特性。
计算结果:
可见,5阶魔方矩阵各行元素、各列元素、各对角线元素之和都等于65。
2.while循环结构
while循环结构的格式是:
其中的“条件”是一个关系表达式,当关系表达式的值为真时自动执行循环体,直到关系表达式的值条件为假,转向循环体结束标志end后面的语句。
应当指出,while循环执行过程中会改变while后面关系表达式的值,否则这个while循环是一个死循环,因此while循环执行次数是不定的。
在for循环结构和while循环结构中,使用“break”命令可终止循环结构(在多重嵌套循环结构中,“break”命令只能跳出包含它的最内层循环)的运行。
例4-5 水仙花数是指一个3位数,其各位数字的立方和等于该数本身,试用while循环结构检索水仙花数。
其中,fix()是截尾取整函数,rem()是求余函数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。