在MATLAB中,std
函數用于計算給定數據的標準差。標準差是一種測量數據分散程度的方法,用于衡量數據集的離散程度。
std
函數的語法如下:
s = std(A)
s = std(A, 'all')
s = std(A, dim)
s = std(___, nanflag)
參數說明:
A
:表示輸入數據的矩陣或向量。'all'
:指定將整個輸入數據矩陣視為一個向量進行計算。dim
:指定計算標準差的維度。如果dim
的值為1,則計算每列的標準差;如果dim
的值為2,則計算每行的標準差。nanflag
:指定對包含NaN值的數據如何處理。可以選擇的值有:
'omitnan'
:忽略NaN值。'includenan'
:將包含NaN值的數據作為標準差的一部分。std
函數的輸出為標準差的值。如果使用了dim
參數,則輸出將是一個向量,其中每個元素表示指定維度上的標準差。如果使用了'all'
參數,則輸出將是一個標量。
以下是一些示例:
A = [1 2 3 4 5];
s = std(A) % 輸出:1.5811
B = [1 2 3; 4 5 6; 7 8 9];
s = std(B) % 輸出:2.5810 2.5810 2.5810
s = std(B, 'all') % 輸出:2.7386
s = std(B, 1) % 輸出:3.2659 3.2659 3.2659
s = std(B, 2) % 輸出:0.8165 0.8165 0.8165
C = [1 NaN 3 4];
s = std(C) % 輸出:NaN
s = std(C, 'omitnan') % 輸出:1.5275
請注意,對于樣本標準差而言,MATLAB中的std
函數默認使用的是除以N-1的標準差公式,其中N為樣本的大小。如果需要使用除以N的標準差公式,請使用std(A, 'all', 0)
或std(A, 0)
。