怎么使用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));
```