MATLAB for循环语句的用法(附带实例)
除分支结构外,MATLAB 还提供多个循环结构。循环结构一般用于重复计算。被重复执行的语句称为循环体,控制循环结构走向的语句称为循环条件。
MATLAB 提供两种循环结构,分别是 for 循环和 while 循环结构。
for 循环结构常用于知道循环次数的情况,其语法格式如下:
for 循环结构流程图如下图所示:

图 1 for 循环结构流程图
【实例 1】设计一段计算 1+2+…+100 结果的程序。在编辑器窗口中编写如下程序,并保存为 forloop1.m。
【实例 2】请说明下列程序运行后得不到正确结果的原因。在编辑器窗口中编写如下程序,并保存为 forloop2.m:
在编辑器窗口中编写如下程序,并保存为 forloop3.m:
与例 1 中的程序相比,程序 forloop2 中没有 clear,则程序可能会调用内存中已经存在的 sum 值,其结果就成了 sum=10100;程序 forloop3 中少了 sum=0,因为程序中有 clear 语句,但未对 sum 赋初值,故出现错误信息。
【实例 3】请说明下列程序运行后得不到正确结果的原因。在编辑器窗口中编写如下程序,并保存为 forloop4.m。
MATLAB 提供两种循环结构,分别是 for 循环和 while 循环结构。
for 循环结构常用于知道循环次数的情况,其语法格式如下:
for index=初值(initVal):增量(step):终值(endVal) 语句 1 …… 语句 n endindex=初值:终值,则增量(step)为 1。初值、增量、终值可正可负,可以是整数,也可以是小数,只要符合数学逻辑即可。
for 循环结构流程图如下图所示:

图 1 for 循环结构流程图
【实例 1】设计一段计算 1+2+…+100 结果的程序。在编辑器窗口中编写如下程序,并保存为 forloop1.m。
clear sum=0; % 设置初值(必须有) for ii=1:100; % for 循环, 增量为1 sum=sum+ii; end sum执行程序,在命令行窗口中输出如下运行结果:
>> forloop1 sum = 5050
【实例 2】请说明下列程序运行后得不到正确结果的原因。在编辑器窗口中编写如下程序,并保存为 forloop2.m:
for ii=1:100; % for 循环, 增量为1 sum=sum+ii; end sum执行程序,在命令行窗口中输出如下运行结果:
>> forloop2 sum = 10100
在编辑器窗口中编写如下程序,并保存为 forloop3.m:
clear for ii=1:100; % for 循环, 增量为1 sum=sum+ii; end sum执行程序,在命令行窗口中输出如下运行结果:
>> forloop3
错误使用 sum
输入参数的数目不足。
与例 1 中的程序相比,程序 forloop2 中没有 clear,则程序可能会调用内存中已经存在的 sum 值,其结果就成了 sum=10100;程序 forloop3 中少了 sum=0,因为程序中有 clear 语句,但未对 sum 赋初值,故出现错误信息。
【实例 3】请说明下列程序运行后得不到正确结果的原因。在编辑器窗口中编写如下程序,并保存为 forloop4.m。
clear for ii=1:10; x(ii)=ii.^2; end x执行程序,在命令行窗口中输出如下运行结果:
>> forloop4 x = 1 4 9 16 25 36 49 64 81 100与其他程序设计语言不同,MATLAB 的变量是以矩阵为基本运算元素的。x 代表一个 1×10 的矩阵,所以结果是行矩阵,而不是 x=100。