怎么使用MATLAB的FOR循环

在MATLAB中,FOR循环的次数在程序刚刚进入循环时就被完全决定了,在程序执行循环的过程中,循环的起始、步长、终止等参数实际上是不变的。这对于习惯了Java、C等编程而又刚刚接触MATLAB的同学来

在MATLAB中,FOR循环的次数在程序刚刚进入循环时就被完全决定了,在程序执行循环的过程中,循环的起始、步长、终止等参数实际上是不变的。这对于习惯了Java、C等编程而又刚刚接触MATLAB的同学来说,可能会感到有些不便。今天,小编就和大家讲解一下怎么使用MATLAB的FOR循环,期待能够帮到在这方面有困惑的朋友。

打开MATLAB并新建脚本

首先,打开MATLAB R2018a,(可通过Ctrl N)新建一个脚本,保存为TEST.m。然后,在脚本中输入如下代码:

```MATLAB

clearclcii_record [0];i_step 1;

for i1:i_step:20

i i 2;

i_record [i_record, i];

end

for_count length(i_record) - 1 % 打印循环次数 (for_count 20)

i_record i_record(1, 2:length(i_record));

```

理解MATLAB中的FOR循环

接着,点击编辑器中的运行命令按钮,程序输出for_count 20,即这里执行了20次循环。但如果按照C中的FOR循环功能去理解,这里应该只执行7次循环,且i_record的最终结果为[3, 6, 9, 12, 15, 18, 21]。

实际上,在MATLAB中FOR循环的次数在程序刚刚进入循环时就被完全决定了。对TEST.m而言,for i1:i_step:20这条命令已经决定了该循环要执行20次,如此一来,无论我们在循环中如何修改i、i_step等参数,都无法改变这一既定事实,除非通过continue中止或通过break终止循环。

通过断点查看循环过程

我们可以通过给程序增加断点来查看MATLAB中FOR循环到底是怎么工作的,通过将鼠标指针悬停在变量上,查看它们的当前值。

使用while命令代替FOR循环

我们可以认为MATLAB中的FOR循环有一套内部的控制循环过程的参量,这些参量只在FOR循环第一步从外部取得初始值,那么,MATLAB中的FOR循环第一步相当于C中的如下代码:

```C

i_real i;

i_step_real i_step;

for(i_real; i_reali_step_real; ilt20)

```

如果在MATLAB中编程时需要在循环的过程中改变步长、终止等参数,建议使用while命令,对于TEST.m,直接修改为如下代码即可:

```MATLAB

clearclcii_record [0];ii_step 1;

% for i1:i_step:20

% i i 2;

% i_record [i_record, i];

% end

ii 1;

while ii<20

ii ii 2;

ii_record [ii_record, ii];

ii ii ii_step;

end

for_count length(ii_record) - 1 % 打印循环次数 (for_count 20)

ii_record ii_record(1, 2:length(ii_record));

```

标签: