matlab教程 for循环,Matlab简单教程:循环
循環(huán)輸出變量
for i=1:4 iend1
2
3
其中1:4代表一個(gè)行向量1 2 3 4,在matlab中,行向量的另外一個(gè)表示方法是[1 2 3 4],即for i=1:4等價(jià)于for i=[1 2 3 4],編寫(xiě)程序時(shí)牢記一個(gè)點(diǎn):對(duì)于某次固定的迭代,i會(huì)從這個(gè)向量中取一個(gè)值,該值可以參與循環(huán)中的計(jì)算。
運(yùn)行輸出i = 1i = 2i = 3i = 41
2
3
4
5
6
7
8
修改迭代步長(zhǎng)
例子:遍歷1~10之間的所有奇數(shù)
for i=1:2:10 iend1
2
3
其中1:2:10表示迭代從1開(kāi)始,步長(zhǎng)為2,最大不超過(guò)10,即代表行向量1 3 5 7 9。備注:步長(zhǎng)可以為負(fù)值
遍歷行向量變量和列向量變量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)生成一個(gè)1行5列的矩陣,即行向量;rand(5,1)生成5列1行的矩陣,即列向量。生成的向量會(huì)存放在變量X中,然后使用for i=X對(duì)向量進(jìn)行遍歷。
如果X為矩陣,對(duì)矩陣進(jìn)行遍歷X=magic(3);Xfor i=X iend1
2
3
4
5
運(yùn)行輸出
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)代表魔法函數(shù)(任意一行或一列的和值相等)。從運(yùn)行結(jié)果中可以看出,對(duì)矩陣的循環(huán)就是在每次迭代中,依次取出矩陣的每一列。
終止循環(huá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,如果有則終止循環(huán)。
跳過(guò)本次循環(huán)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
計(jì)算向量X中所有大于0的數(shù)的和。
雙重循環(huán)和多重循環(huán)
雙重循環(huán)代碼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
運(yùn)行輸出
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
第一重循環(huán)遍歷每一行,對(duì)于其中一行,在第二重循環(huán)中對(duì)該行進(jìn)行遍歷。在第二重循環(huán)中,一般使用X(i,j)這樣的形式取出參與計(jì)算的值。這里只是對(duì)該值做了輸出。
三重循環(huán)代碼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
運(yùn)算輸出
---------- 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向量中每一個(gè)值,在X矩陣中是否存在。
while循環(huán)
除了以上常用的for循環(huán)以外,在matlab中還可以使用while循環(huán),參考doc while。
總結(jié)
以上是生活随笔為你收集整理的matlab教程 for循环,Matlab简单教程:循环的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 窗口句柄、位置
- 下一篇: 【学习笔记】matlab进行数字信号处理