首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >利用Matlab中的概率密度计算相关系数

利用Matlab中的概率密度计算相关系数
EN

Stack Overflow用户
提问于 2014-01-02 16:26:16
回答 1查看 1K关注 0票数 1

我试着用Matlab计算二维正态律的相关系数。

代码语言:javascript
运行
复制
mu = [1 2]; 
SIGMA = [9 4; 4 3]; 
X = mvnrnd(mu,SIGMA); 
p = mvnpdf(X,mu,SIGMA);

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

EN

回答 1

Stack Overflow用户

发布于 2014-01-02 17:24:22

实际上,您正在代码的第三行中创建一个多元正常随机数(1x2),但您需要更多。

根据这些文件:

R = corrcoef(X)返回由输入矩阵X计算的相关系数的矩阵R,该输入矩阵的行是观测的,列是变量。

在您的例子中,您有一个观察和两个变量,corrcoef函数将返回1。

所以你可以这样做:

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20887196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档