Matlab-计算协方差矩阵函数「建议收藏」

(42) 2023-08-21 17:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Matlab-计算协方差矩阵函数「建议收藏」,希望能够帮助你!!!。

一、源码

function [ COVMAT ] = covarianceMatrix( inputData )
%   covarianceMatrix( inputData )
%   这是一个计算协方差矩阵的函数
%   inputData   输入数据
%   每一行为一个维度
%   每一列为一个样本


%获得输入数据维度
[m,n] = size(inputData);
%创建协方差矩阵
COVMAT = zeros(m,m);
%取得每维数据平均值
E = zeros(m,1);
for i = 1:m
    E(i) = mean(inputData(i,:));
end
%计算协方差
for i = 1:m
    for j = 1:m
       COVMAT(i,j) = ((inputData(i,:)-E(i))*(inputData(j,:)-E(j))')./(n-1);
    end
end

二、测试数据

数据样本:

MySample = [40 45 6 45 31 4 13 27 47 48;7 48 47 24 40 7 21 45 39 47;32 1 42 46 33 37 37 19 32 8]

运算结果:

>> covarianceMatrix(MySample)

ans =

  301.1556   78.0000 -120.2444
   78.0000  268.9444 -126.9444
 -120.2444 -126.9444  216.0111

 

参考:http://www.cnblogs.com/chaosimple/p/3182157.html

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复