学习了一半了,发现一个好网站,就是我想写这篇博客用的,网络真是个好东西!纪念下国庆啦
网址:http://www.yiibai.com/matlab/matlab_for_loop.html
----分割线------------------------
今天在测试时发现一个很有趣的问题:
文件命名是不能用关键字的,我命名一个文件为for.m,结果,无论如何都提示有错:
最后先换一个名称就好了,记得这个错误吧。
正文:
for类型的第一种用法:
创建一个脚本文件,并键入下面的代码:
%脚本文件:test.m %for循环的三种类型 使用举例 % 定义变量 % ii ---循环变量,也就是循环次数 clc;clear; for ii = 1:10 fprintf('value of a: %d/n', ii); end fprintf('跳出循环后,value of a: %d/n', ii);
结果:
在这种情况下,控制表达式产生了一个 1 ⅹ10 数组,所以语句 1 到 n 将会被重复执行 10 次。循环系数 ii 在第一次执行的时侯是 1 ,第二次执行的时侯为 2 ,依次类推,当最后一 次执行时,循环指数为 10 。在第十次执行循环体之后,再也没有新的列赋值给控制表达式,程序将会执行 end 语句后面的第一句。注意在循环体在最后一次执行后,循环系数将会一直为 10 。
for类型的第二种用法:
创建一个脚本文件,并键入下面的代码:
%脚本文件:test.m %for循环的三种类型 使用举例 % 定义变量 % ii ---循环变量,也就是循环次数 clc;clear; for ii = 1:2:10 fprintf('value of a: %d/n', ii); end fprintf('跳出循环后,value of a: %d/n', ii);
结果:
在这种情况下,控制表达式产生了一个 1 ⅹ5 数组,所以语句 1 到 n 将会执行 5 次。循环指数 ii 在第一次执行时为 1 ,第二次执行时为 3 ,依此类推,最后一次执行时为 9 。在第五次执行循环体之后,再也没有新的列赋值给控制表达式,程序将会执行 end 语句后面的第一句。注意在循环体在最后一次执行后,循环系数将会一直为 9 。
for类型的第三种用法:
创建一个脚本文件,并键入下面的代码:
% 定义变量 % ii ---循环变量,也就是循环次数 clc;clear; for ii = [5 9 7] fprintf('value of a: %d/n', ii); end fprintf('跳出循环后,value of a: %d/n', ii);
效果:
在这里,控制表达式是一个直接写出的 1 ⅹ3 的数组,所以语句 1 到 n 将会执行 3 次,循环指数 ii 在第一次执行时为 1 ,第二次执行时为 3 ,第三次执行时为 7 。循环指数在循环结束之后一直为 7 。
% 定义变量 % ii ---循环变量,也就是循环次数 clc;clear; for ii = [1 2 3; 4 5 6] fprintf('value of a: %d/n', ii); end fprintf('跳出循环后,value of a: %d/n', ii);
此时,
在这里,控制表达式是一个直接写出的 2 ⅹ3 的数组,所以语句 1 到 n 将会执行 3 次 ,循环指数 ii 在第一次执行时为列向量[1 3]' ,第二次执行时为[2 5]' ,第三次执行时为[3 6]' 。这个例子说明循环指数可以为向量。
跳出循环后,输出的是一个列向量[3 6]'