天天看點

MATLAB 基礎知識學習

本文主要記錄MATLAB入門學習筆記。

1.在指令的末尾添加分号将會抑制輸出,但仍會執行指令。

2.MATLAB是matrix laboratory,主要是處理整個的矩陣和數組。矩陣是指通常用來進行線性代數運算的二維數組。

3.MATLAB變量區分大小寫,如a=2和A=-2是兩個不同的變量。

4.clear 函數清理工作區;clc指令清理指令行視窗。

5.在指令行視窗中僅顯示前四位小數,可以使用format函數控制顯示的精度,如format long、format short等。

MATLAB 基礎知識學習

6.使用空格(或逗号)分隔數值時,MATLAB會将這些數值組合成一個行向量(1* n)。使用分号分隔數值時,會建立一個列向量(n* 1)。

MATLAB 基礎知識學習
MATLAB 基礎知識學習

對于長向量,可以建立等間距向量:運算符指定起始值和最終值。

當使用冒号運算時,不需要方括号。

x = 1:4

1 2 3 4

預設間距為1。

也可以指定間距:

MATLAB 基礎知識學習

7.利用linspace函數,統計向量中所需元素數目。

MATLAB 基礎知識學習

8.建立随機數矩陣

利用函數rand()建立随機數矩陣。

rand(3):表示指定輸出為一個3*3的随機數矩陣。

rand(m* n):m行n列矩陣。

9.建立零矩陣zeros(m* n):m行n列零矩陣。

10.size(x)函數:矩陣大小

rand(size(x)):建立與矩陣大小相同的矩陣。

11.對數組進行索引:

x(row,col)

關鍵字end作為行或列索引最後一個元素。

y=data(end,1)

擷取表示最後一行第一列的值。

12.提取多個元素:

用作索引時,冒号運算符(:)可指代該次元中的所有元素。

x = data(1,:)

代表建立一個包含data中第1行上所有元素的行向量。

冒号運算符可以引用某個值範圍:

x = data(1:3,:)

代表建立一個包含data的第一行、第二行和第三行的所有元素的矩陣。

索引也可以是非連續數字,如提取data的第一個、第三個元素。

x = data([1 3])

13.矩陣乘法( * )與點乘( .* ):

(1)在進行數值運作和數值乘矩陣,兩種沒有差別,即:

數值a* 數值b = 數值a .* 數值b;

數值a * 矩陣b = 數值a .* 矩陣b。

(2)對于矩陣與矩陣相乘時,

* 表示普通的矩陣乘法,要求前面矩陣的列數等于後面矩陣的行數。

. * 表示兩個矩陣對應元素相乘,要求兩個矩陣行數列數都相等。

14.可以使用 max 函數确定向量的最大值及其對應的索引值。max 函數的第一個輸出為輸入向量的最大值。執行帶兩個輸出的調用時,第二個輸出為索引值。

[xMax,idx] = max(x)

如果隻需函數的第二個輸出,可以使用波浪号字元 (~) 忽略特定輸出。

[~,idx] = max(x)

15.doc 函數可以打開幫助文檔,如doc max則會打開max函數文檔。

16.plot(v)表示繪制一個單向量,x軸資料範圍設定為1到N(向量中元素數目);y軸資料為v.

繪圖注釋中使用變量的值,方法是将字元串與變量串聯起來:

如 title(“A”+data(1)+“B”)

17.在繪圖過程中,如果需要控制橫坐标的範圍,可以在繪圖語句後添加xlim([xmin xmax]).

plot(x,y)

xlim([xmin xmax])

18.可以使用邏輯數組作為數組索引,在這種情況下,MATLAB會提取索引為true的數組元素。

a = data (data>2)

表示提取data中大于2的所有元素,并指派為a.

19.if判斷語句:

if 表達式
語句
elseif
語句
else
語句
end
           

20.for循環

MATLAB 基礎知識學習

如果要對未知長度的向量執行循環,可以使用length函數:

for a = 1:length(data)

21.min()函數可以帶有兩個輸出,其中第二個輸出是最小值的索引。

[a,idx] = min(data)

22.logog()函數用于畫雙對數坐标,對數坐标可以清楚地看到較小值的變化。

23.總結:

MATLAB 基礎知識學習

數組類型:

MATLAB 基礎知識學習

等間距向量:

MATLAB 基礎知識學習

建立矩陣:

MATLAB 基礎知識學習

索引:

MATLAB 基礎知識學習

數組運算:

MATLAB 基礎知識學習

多個輸出:

MATLAB 基礎知識學習

程式設計:

MATLAB 基礎知識學習

繼續閱讀