我试着用Matlab计算二维正态律的相关系数。
mu = [1 2];
SIGMA = [9 4; 4 3];
X = mvnrnd(mu,SIGMA);
p = mvnpdf(X,mu,SIGMA);
变量p存储遵循二维法律的向量X的概率密度。我必须用概率函数p来计算相关系数,而函数R= corrcoef(X)不这样做。
发布于 2014-01-02 17:24:22
实际上,您正在代码的第三行中创建一个多元正常随机数(1x2),但您需要更多。
根据这些文件:
R = corrcoef(X)返回由输入矩阵X计算的相关系数的矩阵R,该输入矩阵的行是观测的,列是变量。
在您的例子中,您有一个观察和两个变量,corrcoef函数将返回1。
所以你可以这样做:
mu = [1 -1];
SIGMA = [.9 .4; .4 .3];
X = mvnrnd(mu,SIGMA,10); % a 10 x 2 matrix
p = mvnpdf(X,mu,SIGMA); % a 10 x 1 vector
corrcoef(X)
ans =
1.0000 0.7846
0.7846 1.0000
https://stackoverflow.com/questions/20887196
复制相似问题