matlab教程 for循环,Matlab简单教程:循环
循環輸出變量
for i=1:4 iend1
2
3
其中1:4代表一個行向量1 2 3 4,在matlab中,行向量的另外一個表示方法是[1 2 3 4],即for i=1:4等價于for i=[1 2 3 4],編寫程序時牢記一個點:對于某次固定的迭代,i會從這個向量中取一個值,該值可以參與循環中的計算。
運行輸出i = 1i = 2i = 3i = 41
2
3
4
5
6
7
8
修改迭代步長
例子:遍歷1~10之間的所有奇數
for i=1:2:10 iend1
2
3
其中1:2:10表示迭代從1開始,步長為2,最大不超過10,即代表行向量1 3 5 7 9。備注:步長可以為負值
遍歷行向量變量和列向量變量X=rand(1,5);for i=X iend1
2
3
4
X=rand(5,1);for i=X iend1
2
3
4
其中rand(1,5)生成一個1行5列的矩陣,即行向量;rand(5,1)生成5列1行的矩陣,即列向量。生成的向量會存放在變量X中,然后使用for i=X對向量進行遍歷。
如果X為矩陣,對矩陣進行遍歷X=magic(3);Xfor i=X iend1
2
3
4
5
運行輸出
X = 8 1 6 3 5 7 4 9 2i = 8 3 4i = 1 5 9i = 6 7 21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
其中magic(n)代表魔法函數(任意一行或一列的和值相等)。從運行結果中可以看出,對矩陣的循環就是在每次迭代中,依次取出矩陣的每一列。
終止循環breakX=[2 8 4 3 9 1];for i=X if i==3 disp('3 found'); break; endend1
2
3
4
5
6
7
查找向量X是否含有3,如果有則終止循環。
跳過本次循環continue
X=[5 7 -1 3 -8 6];sum=0;for i=X if i<0 continue; end sum=sum+i;endsum1
2
3
4
5
6
7
8
9
10
計算向量X中所有大于0的數的和。
雙重循環和多重循環
雙重循環代碼X=magic(3);X[row,col]=size(X);for i=1:row disp(['----- row: ', num2str(i),' -----']); for j=1:col disp(['col ',num2str(j),' :', num2str(X(i,j))]); endend1
2
3
4
5
6
7
8
9
運行輸出
X = 8 1 6 3 5 7 4 9 2----- row: 1 -----col 1 :8col 2 :1col 3 :6----- row: 2 -----col 1 :3col 2 :5col 3 :7----- row: 3 -----col 1 :4col 2 :9col 3 :21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
第一重循環遍歷每一行,對于其中一行,在第二重循環中對該行進行遍歷。在第二重循環中,一般使用X(i,j)這樣的形式取出參與計算的值。這里只是對該值做了輸出。
三重循環代碼toFind=[12,23,9,10];X=magic(3);[row,col]=size(X);for find=toFind disp(['---------- looking ',num2str(find)]); found=0; for i=1:row for j=1:col if X(i,j)==find disp([num2str(find),' found at position (',num2str(i),',',num2str(j),')']); found=1; end end end if found==0 disp([num2str(find), ' not found']); endend1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
運算輸出
---------- looking 1212 not found---------- looking 2323 not found---------- looking 99 found at position (3,2)---------- looking 1010 not found1
2
3
4
5
6
7
8
查找toFind向量中每一個值,在X矩陣中是否存在。
while循環
除了以上常用的for循環以外,在matlab中還可以使用while循環,參考doc while。
總結
以上是生活随笔為你收集整理的matlab教程 for循环,Matlab简单教程:循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 窗口句柄、位置
- 下一篇: 关于DSP数字信号处理技术