初学者,求救:如何用matlab求几个列向量之间的相关系数并形成相关系数矩阵?

问题描述:

初学者,求救:如何用matlab求几个列向量之间的相关系数并形成相关系数矩阵?

相关系数的计算公式应该知道吧
向量X和Y的相关系数=Sigma(xi-xp)(yi-yp)/sqrt(Sigma(xi-xp)^2)*sqrt(Sigma(yi-yp)^2)
xp、yp代表平均值
=(n*Sigma(xiyi)-Sigma(xi)*Sigma(yi))/(sqrt(n*Sigma(xi^2)-(Sigma(xi))^2)*sqrt(n*Sigma(yi^2)-(Sigma(yi))^2))
利用一个循环,分别求出每2个向量的相关系数
向量自身的是自相关系数,这样就形成矩阵了

使用corr求解.
A = rand(4,5);
RHO = corr(A)
% A是一个4x5的随机矩阵,共有5个列向量
% RHO是A的相关系数矩阵,其中的每一个元素是A中的每一对列向量的相关系数
% 比如RHO(1,1)就是A的第一列和第一列的相关系数,值为1
% RHO(1,2)就是A的第一列和第二列的相关系数,RHO(1,2)和RHO(2,1)是相等的
% 所以RHO是一个5x5的矩阵,且是对称阵