1、首先,打开MATLAB R2018a,(可通过Ctrl+N)新建一个脚本,保存为TEST.m。
2、然后,在脚本中输入如下代码:clearclci_record = [0];i_衡痕贤伎step = 1;for i=1:i_step:20 i = i+2; i_record = [i_record, i];endfor_count = length(i_record) - 1 % 打印循环次数 (for_count = 20)i_record = i_record(1, 2:length(i_record));
3、接着,点击编辑器中的运行命令按钮,程序输出for_count = 20,即这里执行了20次循环。但如果按照C++中的FOR循环功能去理解,这里应该只执行7次循环,且i_record的最终结果为[3,6,9,12,15,18,21]。
4、实际上,在MATLAB中FOR循环的次数在程序刚刚进入循环时就被完全决定了。对TEST.m而言,for i=1:i_step:20这条命令已经决定了该循环要执行20次,如此一来,无论我们在循环中如何修改i、i_step等参数,都无法改变这一既定事实,除非通过continue中止或通过break终止循环。
5、我们可以通过给程序增加断点来查看MATLAB中FOR循环到底是怎么工作的,通过将鼠标指针悬停在变量上,查看它们的当前值。
6、我们可以认为MATLAB中的FOR循环有一套内部的控制循环过程的参量,这些参量只在FOR循环第一步从外部取得初始值,那么,MATLAB中的FOR循环第一步相当于潮贾篡绐C++中的如下代码:i_real = i;i_step_real = i_step;for(i_real; i_real+=i_step_real; i<=20)
7、如果在MATLAB中编程时需要在循环的过程中改变步长、终止等参数,建议使用while命令,对于TEST.m,直接修改为如下代码即可:clearclcii_record = [0柯计瓤绘];ii_step = 1;% for i=1:i_step:20% i = i+2;% i_record = [i_record, i];% endii = 1;while ii<=20 ii = ii + 2; ii_record = [ii_record, ii]; ii = ii + ii_step;endfor_count = length(ii_record) - 1 % 打印循环次数 (for_count = 20)ii_record = ii_record(1, 2:length(ii_record));