MATLAB 协方差
function [Acov]= cov_func(AA, desc) %cov_func(): 协方差计算 %INPUT: % AA: data matrix % desc: 'sample':样本协方差/'total':总体协方差 %OUTPUT: % Acov: 协方差矩阵 [Adim, Anum]= size(AA); Abar= mean(AA, 2); if strcmp(desc,'sample') Acov= (AA-Abar)*(AA-Abar)'/(Anum-1); % [a1, a2, ..., an]*[a1'; a2'; ...; an']= (a1*a1'+ a2*a2'+...+an*an')/(n-1) elseif strcmp(desc,'total') Acov= (AA-Abar)*(AA-Abar)'/(Anum); % [a1, a2, ..., an]*[a1'; a2'; ...; an']= (a1*a1'+ a2*a2'+...+an*an')/(n) else error(['error in cov_func(): desc=', desc, ' is wrong!']); end end
等价于MATLAB函数
cov(AA)
感谢 https://www.cnblogs.com/sunny99/ sumoier对本文的帮助!