1

我正在尝试使用 Matlab 计算二维正态定律的相关系数。

mu = [1 2]; 
SIGMA = [9 4; 4 3]; 
X = mvnrnd(mu,SIGMA); 
p = mvnpdf(X,mu,SIGMA);

变量 p 存储了向量 X 的概率密度,它遵循二维法线定律。我必须使用概率函数 p 来计算相关系数,而函数 R = corrcoef(X) 不会这样做。

4

1 回答 1

0

您实际上是在代码的第三行创建一个多元正态随机数 (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
于 2014-01-02T17:24:22.697 回答