Matlab——常用函数的用法总结(部分直接摘自mathwork,持续更新)
Matlab——常用函數的用法總結(部分直接摘自mathwork,持續更新)
文章目錄
- Matlab——常用函數的用法總結(部分直接摘自mathwork,持續更新)
- 一、繪圖篇
- 1.圖像顯示形式
- ①figure(創建圖窗窗口)
- ②subplot(多個子圖畫在同一個圖窗中)
- 2.頻數圖與直方圖
- ①hist(不推薦hist,推薦使用histogram)
- ②histogram
- 3.散點圖
- ①scatter(繪制散點圖)
- 4.曲線繪制
- ①plot(二維曲線)
- 5.圖像附加說明
- ①title(添加標題)
- ②xlabel(為 x 軸添加標簽)
- ③ylabel(為 y 軸添加標簽)
- ④legend(在坐標區上添加圖例)
- ⑤suptitle(添加標題)
- 二、矩陣的特殊操作篇
- 1.查找
- ①find
- 2.容量
- ①length
- 三、數理統計篇
- 1.統計量
- ①mean(均值)
- ②median(中位數)
- ③std(樣本標準差)
- ④var(樣本方差)
- ⑤range(極差)
- ⑥moment(中心距)
- ⑦skewness(偏度)
- ⑧kurtosis(峰度)
- 2.概率分布
- ①norm, χ 2 \chi^2 χ2,t,F分布
- 3.參數估計
- 四、微積分篇
- 1.函數求導(多元函數求偏導)
- ①diff(差分和近似導數)(多元函數求偏導)
- 五、數值分析篇
- 1.擬合
- ①polyfit(多項式曲線擬合)
- 2.插值
- ①csape(三次樣條插值)
- 其他
- ①subs(換元)
- ②expand(展開所有括號)
- ③eval(執行文本中的 MATLAB 表達)
- ④poly2sym(由系數向量創建符號多項式)
- ⑤polyval(多項式計算)
一、繪圖篇
1.圖像顯示形式
①figure(創建圖窗窗口)
figure:使用默認屬性值創建一個新的圖窗窗口。生成的圖窗為當前圖窗(當前圖窗就是你下一次的畫圖命令就在當前圖窗中畫圖)。
f = figure(___):返回 Figure 對象f。可使用 f 在創建圖窗后查詢或修改其屬性。
figure(f):將Figure 對象 f 指定的圖窗作為當前圖窗,并將其顯示在其他所有圖窗的上面
figure(Name,Value):使用一個或多個名稱-值對組參數修改圖窗的屬性
——指定可選的、以逗號分隔的 Name,Value 對組參數。Name 為參數名稱,Value 為對應的值。Name 必須放在單引號 (’ ') 中。您可以指定多個名稱-值對組參數,如 Name1,Value1,…,NameN,ValueN。(詳見figure屬性)
—— figure(‘Name’,‘Results’) 將圖窗的名稱設置為 ‘Results’。
—— figure(‘Color’,‘white’) 創建具有白色背景的圖窗。
——figure(‘position’,[500,200,500,500]);可繪制區域的位置和大小,指定為 [left,bottom,width,height] 形式的向量(一般不用指定窗口的位置與大小,使用默認即可),
left:主畫面左邊緣到窗口的內部左邊緣的距離
bottom:主畫面下邊緣到窗口的內部下邊緣的距離
width:左右內部邊緣之間的距離
height:上下內部邊緣之間的距離
一些顏色參數供參考
②subplot(多個子圖畫在同一個圖窗中)
subplot(m,n,p):將當前圖窗劃分為 m×n 網格,并在 p 指定的位置創建坐標區。第一個子圖是第一行的第一列,第二個子圖是第一行的第二列,依此類推。如果指定的位置已存在坐標區,則此命令會將該坐標區設為當前坐標區。
subplot(m,n,p,‘replace’):刪除位置 p 處的現有坐標區并創建新坐標區。
2.頻數圖與直方圖
①hist(不推薦hist,推薦使用histogram)
[N,X] = hist(Y,M):創建向量(行、列均可)Y 的頻數直方圖。它將區間[min(Y),max(Y)]等分為M 份(缺省時M 設定為10),N 返回M 個小區間的頻數,X 返回M 個小區間的中點。
②histogram
histogram(X,nbins):創建向量(行、列均可)X 的頻數直方圖,nbins指定劃分的份數
3.散點圖
①scatter(繪制散點圖)
scatter(x,y):在向量 x 和 y 指定的位置創建一個包含圓形的散點圖。該類型的圖形也稱為氣泡圖。
scatter(x,y,sz):指定圓大小。要繪制大小相等的圓圈(默認sz=36),請將 sz 指定為標量。要繪制大小不等的圓,請將 sz 指定為長度等于 x 和 y 的長度的向量。
scatter(x,y,sz,c):指定圓顏色。要以相同的顏色繪制所有圓圈(默認c=[0,0,1]),請將 c 指定為顏色名稱或 RGB 三元組。要使用不同的顏色,請將 c 指定為向量或由 RGB 三元組組成的三列矩陣。
scatter(___,mkr):指定標記類型。"___"是指可以將 ‘mkr’ 選項與前面語法中的任何輸入參數組合一起使用。
一些"mkr"參數供參考
4.曲線繪制
①plot(二維曲線)
plot(X,Y):創建 Y 中數據對 X 中對應值的二維線圖
——如果 X 和 Y 都是向量,則它們的長度必須相同。plot 函數繪制 Y 對 X 的圖。
——如果 X 和 Y 均為矩陣,則它們的大小必須相同。plot 函數繪制 Y 的列對 X 的列的圖。
——如果 X 或 Y 中的一個是向量而另一個是矩陣,則矩陣的各維中必須有一維與向量的長度相等。如果矩陣的行數等于向量長度,則 plot 函數繪制矩陣中的每一列對向量的圖。如果矩陣的列數等于向量長度,則該函數繪制矩陣中的每一行對向量的圖。如果矩陣為方陣,則該函數繪制每一列對向量的圖。
——如果 X 或 Y 之一為標量,而另一個為標量或向量,則 plot 函數會繪制離散點。但是,要查看這些點,您必須指定標記符號,例如 plot(X,Y,‘o’)。
plot(X,Y,LineSpec):設置線型、標記符號和顏色。
——線型、標記和顏色,指定為包含符號的字符向量或字符串。符號可以按任意順序顯示。您不需要同時指定所有三個特征(線型、標記和顏色)。例如,如果忽略線型,只指定標記,則繪圖只顯示標記,不顯示線條。
——示例: ‘:or’ 是帶有圓形標記的紅色點線,您可以按任意順序顛倒它們,如:’:or’也可以寫成’r:o’;
——線型、標記和顏色的相應符號表示
plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn):設置每個線條的線型、標記符號和顏色。
——您可以混用 X、Y、LineSpec 三元組和 X、Y 對組,例如:plot(X1,Y1,X2,Y2,LineSpec2,X3,Y3)。
plot(___,Name,Value) 使用一個或多個 Name,Value 對組參數指定線條屬性。有關屬性列表,請參閱 Line 屬性。可以將此選項與前面語法中的任何輸入參數組合一起使用。名稱-值對組設置將應用于繪制的所有線條。
——名稱-值對組參數:里面的屬性內容太多了,若要使用請移步mathwork:https://ww2.mathworks.cn/help/matlab/ref/plot.html#namevaluepairarguments
5.圖像附加說明
①title(添加標題)
title(txt):在當前坐標區中顯示標題txt。
②xlabel(為 x 軸添加標簽)
xlabel(txt):當前坐標區或圖的 x 軸添加標簽。重新發出 xlabel 命令會將舊標簽替換為新標簽。
xlabel(target,txt):為指定的目標對象添加標簽。
③ylabel(為 y 軸添加標簽)
ylabel(txt):當前坐標區或圖的 y 軸添加標簽。重新發出 ylabel 命令會將舊標簽替換為新標簽。
ylabel(target,txt):為指定的目標對象添加標簽。
④legend(在坐標區上添加圖例)
legend(label1,…,labelN):設置圖例標簽。以字符向量或字符串列表形式指定標簽,例如 legend(‘Jan’,‘Feb’,‘Mar’)。
例:
x=[1,2]; y1=[3,4]; y2=[4,3]; plot(x1,y1,x1,y2); legend('y = x+2','y = -x+5');⑤suptitle(添加標題)
suptitle(txt):為圖窗添加標題。
——當您調用函數subplot,將多個子圖畫在同一個圖窗中,且希望在這圖窗上添加標題,而不是在子圖上添加標題時,suptitle函數就十分適用
二、矩陣的特殊操作篇
1.查找
①find
k = find(X):返回矩陣 X 中每個非零元素的序號(先列后行)組成的列向量
k = find(X,n):回矩陣 X 中前n個非零元素的序號(先列后行)組成的列向量
k = find(X,n,‘last’):回矩陣 X 中后n個非零元素的序號(先列后行)組成的列向量
2.容量
①length
length(X):返回 X 中最大數組維度的長度。對于向量,長度僅僅是元素數量。對于具有更多維度的數據,長度為 max(size(X))。空數組的長度為零。
三、數理統計篇
1.統計量
①mean(均值)
mean(X):返回X的均值
——如果 A 是向量,則 mean(A) 返回元素均值。
——如果 A 為矩陣,那么 mean(A) 返回包含每列均值的行向量。
——如果 A 是多維數組,則 mean(A) 沿大小不等于 1 的第一個數組維度計算,并將這些元素視為向量。此維度會變為 1,而所有其他維度的大小保持不變。
M = mean(A,‘all’):計算 A 的所有元素的均值。此語法適用于 MATLAB? R2018b 及更高版本。
②median(中位數)
M = median(A):返回 A 的中位數值。
——如果 A 為向量,則 median(A) 返回 A 的中位數值。
——如果 A 為非空矩陣,則 median(A) 將 A 的各列視為向量,并返回中位數值的行向量。
——如果 A 為 0×0 空矩陣,median(A) 返回 NaN。
——如果 A 為多維數組,則 median(A) 將沿大小不等于 1 的第一個數組維度的值視為向量。此維度的大小將變為 1,而所有其他維度的大小保持不變。
M = median(A,‘all’):計算 A 的所有元素的中位數。此語法適用于 MATLAB? R2018b 及更高版本。
③std(樣本標準差)
S = std(A):返回 A 沿大小不等于 1 的第一個數組維度的元素的標準差。
——如果 A 是觀測值的向量,則標準差為標量。
——如果 A 是一個列為隨機變量且行為觀測值的矩陣,則 S 是一個包含與每列對應的標準差的行向量。
——如果 A 是一個多維數組,則 std(A) 會沿大小不等于 1 的第一個數組維度計算,并將這些元素視為向量。此維度的大小將變為 1,而所有其他維度的大小保持不變。默認情況下,標準差按 N-1 實現歸一化,其中 N 是觀測值數量。
④var(樣本方差)
V = var(A):返回 A 中沿大小不等于 1 的第一個數組維度的元素的方差。 ——如果 A 是一個觀測值向量,則方差為標量。
——如果 A 是一個其各列為隨機變量、其各行為觀測值的矩陣,則 V 是一個包含對應于每列的方差的行向量。
——如果 A 是一個多維數組,則 var(A) 會將沿大小不等于 1 的第一個數組維度的值視為向量。此維度的大小將變為 1,而所有其他維度的大小保持不變。默認情況下,方差按觀測值數量 -1 實現歸一化。
——如果 A 是一個標量,則 var(A) 返回 0。
——如果 A 是一個 0×0 的空數組,則 var(A) 將返回 NaN。
⑤range(極差)
y=range (x):返回 x 中樣本數據的最大值和最小值之間的差。
——如果 x 是一個向量,那么 range (x)就是 x 中值的范圍。
——如果 x 是一個矩陣,那么 range (x)就是一個行向量,包含 x 中每一列的范圍。
——如果 x 是一個多維數組,那么 range 沿著 x 的第一個非單點維度運算,把這些值當作向量。 這個維度的大小變成了1,而所有其他維度的大小保持不變。
——如果 x 是第一維為0的空數組,那么 range (x)返回一個大小與 x 相同的空數組。
⑥moment(中心距)
m = moment(X,order):返回 x 的中心矩,
——如果 x 是一個向量,那么矩(x,階)返回一個標量值,即 x 中元素的 k 階中心矩。
——如果 x 是一個矩陣,那么矩(x,階)返回一個行向量,其中包含 x 中每一列的 k 階中心矩。
——如果 x 是一個多維數組,那么矩(x,階)沿 x 的第一個非單維運算。
⑦skewness(偏度)
y=skewness (x):返回 x 的樣本偏斜度。如果 x 是一個向量,那么 skewness (x)返回一個標量值,即 x 中元素的偏斜度。如果 x 是一個矩陣,那么 skewness (x)返回一個行向量,其中包含 x 中每一列的樣本偏斜度。如果 x 是一個多維數組,那么 skewness (x)沿 x 的第一個非單維運算。
⑧kurtosis(峰度)
k = kurtosis(X):返回 x 的樣本峰度,如果 x 是一個向量,那么峰度(x)返回一個標量值,這個標量值就是 x 中元素的峰度。如果 x 是一個矩陣,那么峰度(x)返回一個行向量,它包含 x 中每一列的樣本峰度。如果 x 是一個多維數組,那么峰度(x)沿 x 的第一個非單維數運算。
2.概率分布
①norm, χ 2 \chi^2 χ2,t,F分布
——4種分布對應的名字字符:
正態分布:norm
χ 2 \chi^2 χ2:chi2
t:t
F:f
——各個分布都有一些對應的函數,這些函數對應的命令符:
pdf:概率密度函數;
cdf:分布函數;
inv:分布函數的反函數;
stat:均值與方差;
rnd:隨機數生成
——當我們需要使用某個分布的某個函數時,將分布的名字字符+函數命令連起來使用就行了:
p=normpdf(x,mu,sigma):均值mu、標準差sigma 的正態分布在x 的密度函數(mu=0,sigma=1 時可缺省)
p=tcdf(x,n):t 分布(自由度n)在x 的分布函數。
x=chi2inv(p,n): χ 2 \chi^2 χ2分布(自由度 n)使分布函數 F(x)=p 的x(即 p 分位數)。
[m,v]=fstat(n1,n2):F 分布(自由度n1,n2)的均值m 和方差v。
3.參數估計
[mu,sigma,muci,sigmaci]=normfit(x,alpha):其中x 為樣本(數組或矩陣),alpha 為顯著性水平α (alpha 缺省時設定為0.05),返回總體均值μ 和標準差σ 的點估計mu 和sigma,及總體均值μ 和標準差σ 的區間估計muci 和sigmaci。當x 為矩陣時,x 的每一列作為一個樣本。
四、微積分篇
1.函數求導(多元函數求偏導)
①diff(差分和近似導數)(多元函數求偏導)
diff(X):計算沿大小不等于 1 的第一個數組維度的 X 相鄰元素之間的差分
——如果 X 是長度為 m 的向量,則 Y = diff(X) 返回長度為 m-1 的向量。Y 的元素是 X 相鄰元素之間的差分。Y = [X(2)-X(1) X(3)-X(2) … X(m)-X(m-1)]
——如果 X 是不為空的非向量 p×m 矩陣,則 Y = diff(X) 返回大小為 (p-1)×m 的矩陣,其元素是 X 的行之間的差分。Y = [X(2,:)-X(1,:); X(3,:)-X(2,:); … X(p,:)-X(p-1,:)]
——如果 X 是 0×0 的空矩陣,則 Y = diff(X) 返回 0×0 的空矩陣。
diff(X,n):通過遞歸應用 diff(X) 運算符 n 次來計算第 n 個差分。在實際操作中,這表示 diff(X,2) 與 diff(diff(X)) 相同。
diff(X,n,dim):是沿 dim 指定的維計算的第 n 個差分。dim 輸入是一個正整數標量。(dim默認為1,dim=2時,為列之間的分差)
關鍵字syms:定義一個符號變量
例:可以用如下命令求函數sinx的一階導數
syms x; f=sinx; f_=diff(f);多元函數求偏導
已知二元函數f(x,y),求 ? m + n f ? x m ? y n \cfrac{\partial^{m+n}f}{\partial x^m\partial y^n} ?xm?yn?m+nf?
或者
f=diff(diff(f,y,n),x,m)五、數值分析篇
1.擬合
①polyfit(多項式曲線擬合)
p = polyfit(x,y,n):返回次數為 n 的多項式 p ( x ) p(x) p(x) 的系數,該階數是 y 中數據的最佳擬合(在最小二乘法中)。p 中的系數按降冪排列,p 的長度為 n+1。
即:
p=[ p 1 p_1 p1? , p 2 p_2 p2? , … , p n p_n pn? , p n + 1 p_{n+1} pn+1?]
p ( x ) = p 1 x n + p 2 x n ? 1 + . . . + p n x + p n + 1 p(x)=p_1x^n+p_2x^{n-1}+...+p_nx+p_{n+1} p(x)=p1?xn+p2?xn?1+...+pn?x+pn+1?
2.插值
①csape(三次樣條插值)
——mathwork:https://ww2.mathworks.cn/help/curvefit/csape.html
——CSND:https://blog.csdn.net/qq_35924276/article/details/79245424
其他
①subs(換元)
subs (s,old,new):返回 s 的一個副本,將所有出現的old替換為new,然后計算 s。
②expand(展開所有括號)
expand(x):乘開x中所有的括號(可以用于多項式展開)
③eval(執行文本中的 MATLAB 表達)
eval(expression) :計算 expression
④poly2sym(由系數向量創建符號多項式)
p = poly2sym(c):從系數向量c創建符號多項式表達式p,多項式的符號變量是x,如果 c = [ c 1 , c 2 , . . . , c n ] c=[c_1,c_2,...,c_n] c=[c1?,c2?,...,cn?],則 p = c 1 x n ? 1 + c 2 x n ? 2 + . . . + c n ? 1 x + c n p=c_1x^{n-1}+c_2x^{n-2}+...+c_{n-1}x+c_n p=c1?xn?1+c2?xn?2+...+cn?1?x+cn?
p = poly2sym(c,var):當從系數c的向量創建符號多項式表達式p時,將var用作多項式符號變量。
⑤polyval(多項式計算)
y = polyval(p,x):系數為 c 的多項式在 x 的每個點處的值。參數 c 是長度為 n 的向量,其元素是 n-1 次多項式的系數(降冪排序):
如果 c = [ c 1 , c 2 , . . . , c n ] c=[c_1,c_2,...,c_n] c=[c1?,c2?,...,cn?],則 p = c 1 x n ? 1 + c 2 x n ? 2 + . . . + c n ? 1 x + c n p=c_1x^{n-1}+c_2x^{n-2}+...+c_{n-1}x+c_n p=c1?xn?1+c2?xn?2+...+cn?1?x+cn?
總結
以上是生活随笔為你收集整理的Matlab——常用函数的用法总结(部分直接摘自mathwork,持续更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 很棒的图片浏览器代码,源码研究
- 下一篇: SEM扫描电镜知识点扫盲,请收好