迴圈輸出變數
for i=1:4
iend
其中1:4代表乙個行向量1 2 3 4,在matlab中,行向量的另外乙個表示方法是[1 2 3 4],即for i=1:4等價於for i=[1 2 3 4],編寫程式時牢記乙個點:對於某次固定的迭代,i會從這個向量中取乙個值,該值可以參與迴圈中的計算。
執行輸出
i =1
i =2
i =3
i =4
修改迭代步長
例子:遍歷1~10之間的所有奇數
for i=1:2:10
iend
其中1:2:10表示迭代從1開始,步長為2,最大不超過10,即代表行向量1 3 5 7 9。
備註:步長可以為負值
遍歷行向量變數和列向量變數
x=rand(1,5);
for i=x
iend
x=rand(5,1);
for i=x
iend
其中rand(1,5)生成乙個1行5列的矩陣,即行向量;rand(5,1)生成5列1行的矩陣,即列向量。生成的向量會存放在變數x中,然後使用for i=x對向量進行遍歷。
如果x為矩陣,對矩陣進行遍歷
x=magic(3);
xfor i=x
iend
執行輸出
x =8 1 6
3 5 7
4 9 2
i =834
i =159
i =672
其中magic(n)代表魔法函式(任意一行或一列的和值相等)。從執行結果中可以看出,對矩陣的迴圈就是在每次迭代中,依次取出矩陣的每一列。
終止迴圈break
x=[2 8 4 3 9 1];
for i=x
if i==3
disp('3 found');
break;
endend
查詢向量x是否含有3,如果有則終止迴圈。
跳過本次迴圈continue
x=[5 7 -1 3 -8 6];
sum=0;
for i=x
if i<0
continue;
endsum=sum+i;
endsum
計算向量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))]);
endend
執行輸出
x =8 1 6
3 5 7
4 9 2
----- row: 1 -----
col 1 :8
col 2 :1
col 3 :6
----- row: 2 -----
col 1 :3
col 2 :5
col 3 :7
----- row: 3 -----
col 1 :4
col 2 :9
col 3 :2
第一重迴圈遍歷每一行,對於其中一行,在第二重迴圈中對該行進行遍歷。在第二重迴圈中,一般使用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;
endend
endif found==0
disp([num2str(find), ' not found']);
endend
運算輸出
---------- looking 12
12 not found
---------- looking 23
23 not found
---------- looking 9
9 found at position (3,2)
---------- looking 10
10 not found
查詢tofind向量中每乙個值,在x矩陣中是否存在。
while迴圈
MATLAB最基礎矩陣教程,簡單粗暴!
算是just小菜鳥這個號 作,本人不是matlab初學者,寒假重新複習一下基礎,因為發現很多東西知道,但是忘記了函式是啥,腦子畢竟比較愚鈍,每次都得csdn搜一下,單純的當作筆記來記錄,也激勵自己不斷學習,希望能給大家提供一些方便,如有錯誤之處希望各位多多交流指正,也希望各位學有所成。也順便給我科各...
matlab程式設計簡單操作基礎教程(二)
接下來為大家介紹一下matlab的各類語句 1 if語句 2 switch case語句 3 輸入語句 4 迴圈語句 5 while語句 6 break語句 7 continue語句 在了解if語句之前,先來了解一下matlab中的關係運算與邏輯運算吧 1 小於 2 小於等於 3 大於 4 大於等於...
簡單易學Matlab深度學習教程 基本語法及變數
matlab是乙個解釋性的環境。換句話說,使用者只要給出乙個命令,matlab馬上執行它。分號 表示結束語句 抑制和隱藏表示式的matlab輸出。百分比符號 用於指示注釋行。標量和矩陣乘法運算子。陣列乘法運算子。標量和矩陣求冪運算子。陣列求冪運算子 變數命名 變數名稱由乙個字母組成,後跟任意數字的字...