matlab for循环的三种类型

时间:2022-10-13 17:32:26

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

网址: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数组,所以语句1n将会被重复执行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数组,所以语句1n将会执行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的数组,所以语句1n将会执行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的数组,所以语句1n将会执行3,循环指数ii在第一次执行时为列向量[1 3]' ,第二次执行时为[2 5]' ,第三次执行时为[3 6]' 。这个例子说明循环指数可以为向量。

 

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