首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在MATLAB中绘制二维图上的协方差矩阵?

如何在MATLAB中绘制二维图上的协方差矩阵?
EN

Stack Overflow用户
提问于 2022-01-17 19:07:40
回答 1查看 785关注 0票数 1

在MATLAB中有一个叫做cov的函数。如果我将矩阵X插入到cov中,像这样的cov(X),那么cov将返回一个协方差的平方矩阵。

我的问题很简单:如何用MATLAB将矩阵cov(X)绘制到这样的2D图上。我可以在谷歌看到很多协方差矩阵图。但是他们是如何创造它们的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-17 21:31:56

我最好的猜测是,你试图把主成分添加到图中。要做到这一点,你可以这样做。

代码语言:javascript
运行
复制
%% generate data points

S_tru = [2 1; 1 1];
N = 1000;
%% compute mean, covariance, principal components
X = mvnrnd([0,0],S_tru,N);
mu = mean(X);
S = cov(X);
[U,D] = eig(S);

%% specify base points/directions for arrows
base = [mu;mu];
vecs = sqrt(D)*U';
vecs = 2 * vecs;

%% plot
plot(X(:,1),X(:,2), 'r.')
axis equal
hold on
quiver(base(:,1),base(:,2),vecs(:,1),vecs(:,2),'blue','LineWidth',2)

结果图表:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70746360

复制
相关文章

相似问题

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