转载

matlab for循环的三种类型

学习了一半了,发现一个好网站,就是我想写这篇博客用的,网络真是个好东西!纪念下国庆啦

网址:http://www.yiibai.com/matlab/matlab_for_loop.html

----分割线------------------------

今天在测试时发现一个很有趣的问题:

文件命名是不能用关键字的,我命名一个文件为for.m,结果,无论如何都提示有错:

Error : Incomplete or misformed expression or statement.

最后先换一个名称就好了,记得这个错误吧。

正文:

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);

结果:

matlab for循环的三种类型

在这种情况下,控制表达式产生了一个 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);

结果:

matlab for循环的三种类型

在这种情况下,控制表达式产生了一个 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);

效果:

matlab for循环的三种类型

在这里,控制表达式是一个直接写出的 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);

此时,

matlab for循环的三种类型

在这里,控制表达式是一个直接写出的 2 ⅹ3 的数组,所以语句 1 n 将会执行 3 ,循环指数 ii 在第一次执行时为列向量[1 3]' ,第二次执行时为[2 5]' ,第三次执行时为[3 6]' 。这个例子说明循环指数可以为向量。

跳出循环后,输出的是一个列向量[3 6]'

正文到此结束
Loading...