首页 > 编程笔记 > MATLAB笔记 阅读:4

MATLAB for循环语句的用法(附带实例)

除分支结构外,MATLAB 还提供多个循环结构。循环结构一般用于重复计算。被重复执行的语句称为循环体,控制循环结构走向的语句称为循环条件。

MATLAB 提供两种循环结构,分别是 for 循环和 while 循环结构。

for 循环结构常用于知道循环次数的情况,其语法格式如下:
for index=初值(initVal):增量(step):终值(endVal)
    语句 1

    ……
    语句 n
end
index=初值:终值,则增量(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
输入参数的数目不足。

在一般的高级语言中,若没有为变量设置初值,则程序会以 0 作为其初值,但这在 MATLAB 中是不允许的,此处需要给出变量的初值。

与例 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。

相关文章