Matlab簡單教程 迴圈

2021-10-05 19:56:12 字數 2493 閱讀 7603

迴圈輸出變數

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輸出。百分比符號 用於指示注釋行。標量和矩陣乘法運算子。陣列乘法運算子。標量和矩陣求冪運算子。陣列求冪運算子 變數命名 變數名稱由乙個字母組成,後跟任意數字的字...