matlab中矩陣元素求和、求期望和均方差 在matlab中求一個矩陣中元素的和可以自己編寫for循環(huán)來完成,這樣比較方便,想求那些數(shù)據(jù)的和都可以做到,然而效率比較低,如果數(shù)據(jù)量大程序會跑好長時間。所以我們可以轉(zhuǎn)而用matlab提供的sum函數(shù)。 設(shè)M為一個矩陣,那么: 1、求和 sum(M):以矩陣M的每一列為對象,對每一列的數(shù)據(jù)分別求和。 sum(M,2):以矩陣的每一行為對象,對每一行的數(shù)據(jù)分別求和。 sum(M(:)):將矩陣中的所有元素相加求和。 2、求期望 matlab中矩陣元素求期望的函數(shù)mean與sum用法雷同。 mean(M):以矩陣M的每一列為對象,對每一列的數(shù)據(jù)分別求期望。 mean(M,2):以矩陣的每一行為對象,對每一行的數(shù)據(jù)分別求期望。 mean(M(:)):以矩陣所有數(shù)據(jù)為對象求期望。 3、求均方差 若要求整個矩陣所有元素的均方差,則要使用std2函數(shù):std2(M) 注:Matlab中有求數(shù)組方差的 函數(shù):var;要注意的是var函數(shù)所采用公式中,分母不是length(X) ,而是length(X)-1 。這是因為var函數(shù)實際上求的并不是方差,而是誤差理論中“有限次測量數(shù)據(jù)的標準偏差的估計值”。var沒有求矩陣的方差功能,可使用std先求均方差,再平方得到方差。std,均方差,std(X,0,1)求列向量方差,std(X,0,2)求行向量方差。 eg: >>X=[1,2,3,4] >>var(X)=1.6667 >> sum((X(1,:)-mean(X)).^2)/length(X)=1.2500 >> sum((X(1,:)-mean(X)).^2)/(length(X)-1)=1.6667 |
|