Matlab 基本語法

2021-10-24 05:55:50 字數 3501 閱讀 2878

注釋

使用%進行注釋,選中對應區域,按ctrl + r可以一鍵注釋

%注釋內容

邏輯運算

在matlab中,和c語言一樣,可以使用&&和||,但是也有不一樣的地方,例如~=是不等於的意思,而不能使用!=

四則運算

1 + 1

1 - 1

1 * 1

1 / 1

在matlab中輸出的結果如果沒有變數表示,預設使用ans表示:

例如:

4

ans =

4

x = 4

x =

4

在matlab中如果想要輸入π,可以直接輸入pi

例如:

pi

ans =

3.1416

在matlab命令列模式中,如果在輸入的指令後新增分號,就不會顯示該指令執行的結果,反之則顯示執行結果,在編寫的指令碼中適當新增分號,減少不必要的顯示輸出,可以提高執行效率

在matlab中可以直接輸入函式進行計算,比如sincostan這種函式可以直接輸入

但是在matlab裡使用log需要注意:

直接輸入log表示底數為e的log,即現實中的ln

可以輸入log10,log2,分別表示以10為底和以2為底的log,因為matlab中內建了這兩種函式

log10(100)

ans =

2

如果需要使用其他底數的log,可以使用換底公式計算

例如:計算log37

log(7)/log(3)

ans =

1.7712

matlab是弱型別語言,定義變數時不需要寫變數的型別:

例如:定義乙個變數x,值為3

x = 3;

matlab中如果直接輸入沒有賦值過的的變數,會直接報錯:

例如:

x + y;(沒有賦值)

...報錯內容....

在matlab中可以定義向量和矩陣,進行矩陣運算

例如:定義乙個矩陣(可以使用』,』,也可以使用空格代替)

行之中的元素按逗號(空格)隔開,行之間使用分號隔開(也可以使用回車)

x = [1 2 3 ;4 5 6;7 8 9]

x =

[ 1 2 3

4 5 6

7 8 9

]

定義乙個向量:

y = [1 2 3 4 5]

y =

[1 2 3 4 5]

矩陣乘法:

x = [1 2;1 2];

y = [3 4;3 4];

x*yans =

[ 9 12

9 12

]

矩陣點乘:

x = [1 2;1 2];

y = [3 4;3 4];

x.*y

ans =

[ 3 8

3 8]

x = input(『輸入』);

1儲存為inputx.m檔案

再到matlab命令列中輸入inputx,(執行inputx指令碼)

inputx(執行inputx指令碼)

25(鍵盤輸入,給x賦值)

x(鍵盤輸入,檢視賦值情況)

x =

25(可以看到x已經被賦值為25)

你可以使用matlab直接輸出內容,使用fprintf()函式就可以做到,使用它一般需要設定格式化的方式

%d 整數

%f 小數

%g 智慧型選取格式(使用這個會比較魯棒一點)

%s 字串

例如:

x = 3.2

fprintf('%f',x);(小數格式)

3.2

如果只是顯示乙個數值的內容,那麼我們大可不用去使用fprintf函式,可以使用輕量級的disp()函式

例如:

x = 5;

disp(x);

5

在matlab中,有使用if 、elseif、else進行條件分支,需要使用end結尾

例如:

x = 0;

if x > 0

disp('>0');

elseif x == 0

disp('=0');

else

disp('<0');

end

以上**實現了乙個判斷大於等於還是小於零的功能

在matlab中有求餘數的功能,在c語言中使用%來求餘數,但是在matlab中,%用來表示注釋,不能用來求餘數,於是matlab提供了mod()函式來求餘數

例如:

mod(8,3)

ans =

2

在matlab中,也是擁有迴圈的結構的,for和while,它們都需要使用end作為結尾

例如:

for i = 1 :3	

disp(i);

end

ans =

1 2

3

這裡插入介紹一下for的語法:

for i = 1 :3

表示i從1開始步長為1,終點為3進行迭代,i的值依次為1,2,3

for的使用還有另一種寫法:

for i = 1 : -1:-3

disp(i);

end

ans =

-1-2

-3

步長可以手動設定,步長可以為負數,

for i = -1 : -1:-3

表示i從1開始,步長為-1,終點為-3進行迭代,i的值依次為-1,-2,-3

matlab中的自定義函式都需要使用function進行標記,如果沒有標記,就會被matlab當成普通指令碼儲存

函式格式:

%函式使用functioin標記,緊跟著的使返回值,如下,返回值為output,函式結束後會自動返回output

%等號後面跟的是函式名稱,使用該函式時的名字,需要和檔案地名稱一致,如該函式地名稱為fun,括號內的時傳入該函式的引數

function [output] = fun(input)

%這裡為**段,在這裡可以完成函式功能

...end

%和for、while、if一樣,function也需要使用end結束

Matlab 基本語法

檔案 1.改變路徑 直接路徑 cd d workspaces matlab 資料夾名稱 到上層路徑 cd 到上上層路徑 cd 到當前資料夾的子資料夾 cd 子資料夾名稱 2.m檔案執行 open 檔名 3.檢視路徑 dir 畫圖 1.讀取 imdata imread 名.格式 或者 imdata i...

matlab基本語法

2019 08 07 17 50 10 從0到10之間均勻分布的 s 0 10 0 rand 2,3 產生從a到b之間均勻分布的隨機數 s a b a rand n,m 產生均值為u,方差為s的正太分配的隨機矩陣 y u sqrt s randn n,m 魔方矩陣 magic 5 產生了5 5的矩陣...

MATLAB中基本語法整理

參考 1.size 獲取矩陣的行數和列數 1 s size a 當只有乙個輸出引數時,返回乙個行向量,該行向量的第乙個元素時矩陣的行數,第二個元素是矩陣的列數。2 r,c size a 當有兩個輸出引數時,size函式將矩陣的行數返回到第乙個輸出變數r,將矩陣的列數返回到第二個輸出變數c。3 siz...