Matlab之for迴圈語句
For迴圈允許一組命令以固定的和預定的次數重複。For迴圈的一般形式是:
for 變數 = 矩陣;
運算式;
end
在for和end語句之間的運算式按陣列中的每一列執行一次。在每一次迭代中,x被指定為陣列的下一列,即在第n次迴圈中,x=array(:, n)。
?n=0:1:10;
?y=n;
?for i=1:11
y(i)=sin(n(i));
end
?y
y =
Columns 1through 7
0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794
Columns 8through 11
0.6570 0.9894 0.4121 -0.5440
l For迴圈不能用For迴圈內重新賦值迴圈變數n來終止。
l 在For迴圈內接受任何有效的MATLAB陣列。
?a=1;
?for i=n
y=sin(n(a))
a=a+1
end
y =
0
a =
2
y =
0.8415
a =
3
y =
0.9093
a =
4
y =
0.1411
a =
5
y =
-0.7568
a =
6
y =
-0.9589
a =
7
y =
-0.2794
a =
8
y =
0.6570
a =
9
y =
0.9894
a =
10
y =
0.4121
a =
11
y =
-0.5440
a =
12
l For迴圈可按需要巢狀。
?for i=1:11
for j=1:11
y(i)=sin(n(i));
n(j)=n(j)*10;
end
end
?y
y =
Columns 1 through 7
0 -0.5064 0.9300 -0.8027 -0.1425 -0.9765 -0.5118
Columns 8 through 11
0.8586 -0.9957 0.9917 0.9287
?n
n =
1.0e+012 *
Columns 1 through 7
0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000
Columns 8 through 11
0.7000 0.8000 0.9000 1.0000
l 為了得到最大的速度,在For迴圈(While迴圈)被執行之前,應預先分配陣列。建議最好先使用zeros或ones等命令來預先配置所需的記憶體(即矩陣)大小
l 可以利用break命令跳出for迴圈
出處:http://cs.nju.edu.cn/yangxc/dcc2003.files/matlab/matlab/6_1.htm