Matlab の新機能。2D 分布を生成し、その主成分を決定するスクリプトを作成しました。
主成分をプロットする私の方法は曲がりくねっています。主成分をプロットするもっと洗練された方法があるに違いありません。それは何ですか?
また、線分の端に矢印を表示できますか? ここに私の.mファイルがあります:
%Distrubtion variances
xx = 2;
yy = .6;
xy = .5;
%Create distribution data
A = mvnrnd([0 0] , [xx xy; xy yy], 100);
%Get principal components of data
coeff = pca(A);
%Plot distribution
h = plot(A(:,1),A(:,2),'b.');
hold on
%Do crazy stuff to plot principal components
temp=zeros(2,4);
temp(:, 2:2:end) = coeff;
scalefactor=10; %Make the lines longer
temp=scalefactor * temp
X=temp(1:2:end);
Y=temp(2:2:end);
plot(X, Y, 'r', 'LineWidth', 2);
%format plot
axis('square')
grid on;
xlabel('X Axis');
ylabel('Y Axis');
xlim([-10, 10]);
ylim([-10 10])
shg;
hold off;