1. 程式人生 > >Matlab之for迴圈語句

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迴圈)被執行之前,應預先分配陣列。建議最好先使用zerosones等命令來預先配置所需的記憶體(即矩陣)大小

l        可以利用break命令跳出for迴圈

出處:http://cs.nju.edu.cn/yangxc/dcc2003.files/matlab/matlab/6_1.htm