本文主要記錄MATLAB入門學習筆記。
1.在指令的末尾添加分号将會抑制輸出,但仍會執行指令。
2.MATLAB是matrix laboratory,主要是處理整個的矩陣和數組。矩陣是指通常用來進行線性代數運算的二維數組。
3.MATLAB變量區分大小寫,如a=2和A=-2是兩個不同的變量。
4.clear 函數清理工作區;clc指令清理指令行視窗。
5.在指令行視窗中僅顯示前四位小數,可以使用format函數控制顯示的精度,如format long、format short等。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuITO1QzM0QTM2IjMxAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
6.使用空格(或逗号)分隔數值時,MATLAB會将這些數值組合成一個行向量(1* n)。使用分号分隔數值時,會建立一個列向量(n* 1)。
對于長向量,可以建立等間距向量:運算符指定起始值和最終值。
當使用冒号運算時,不需要方括号。
x = 1:4
1 2 3 4
預設間距為1。
也可以指定間距:
7.利用linspace函數,統計向量中所需元素數目。
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循環
如果要對未知長度的向量執行循環,可以使用length函數:
for a = 1:length(data)
21.min()函數可以帶有兩個輸出,其中第二個輸出是最小值的索引。
[a,idx] = min(data)
22.logog()函數用于畫雙對數坐标,對數坐标可以清楚地看到較小值的變化。
23.總結:
數組類型:
等間距向量:
建立矩陣:
索引:
數組運算:
多個輸出:
程式設計: