在 MATLAB 中有一個函式叫做cov. 如果我像這樣X插入一個矩陣,那么將回傳一個協方差方陣。covcov(X)cov
我的問題很簡單:如何使用 MATLAB 將該矩陣cov(X)繪制到這樣的圖上2D。我可以在 Google 看到很多協方差矩陣圖。但是他們是如何創造它們的呢?

uj5u.com熱心網友回復:
我最好的猜測是您正在嘗試將主要成分添加到情節中。要做到這一點,你可以做這樣的事情。
%% 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)
結果圖:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/414605.html
標籤:
上一篇:如何在給定點找到多個變數的梯度?
