Plot eigen Vector e1 & e2 in matlab?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How to be able plot eigen vector in Matlab an make it sure have the exact position as a new axes of our data??
here is my code for PCA
a= randn(100,3);
b=mean(a);
c=cov(a);
[vec,val] = eigs(c);
e1=vec(:,1);
e2=vec(:,2);
plot3(a(:,1),a(:,2),a(:,3),'ro');
hold on
%%Here is the Problem begins
plot(e1,'k--');
plot(e2,'k--');
Here is the output that I got
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/156978/image.png)
That two lines represent the e1&e2 .
How to plot the e1 & e2 properly in 3D Vectors (plot3)???
0 commentaires
Réponses (1)
jandas
le 19 Fév 2014
The problem is that you try to plot the vector using 2D line plot so your script actually plots two lines in the XY plane through points {1, e1(1)}, {2, e1(2)}, {3, e1(3)} and {1, e2(1)}, {2, e2(2)}, {3, e2(3)}. If you need to plot a 3D vector you can plot it as a line between two points, e.g.:
plot3([0; e1(1)], [0; e1(2)], [0; e1(3)], 'k--');
plot3([0; e2(1)], [0; e2(2)], [0; e2(3)], 'k--');
0 commentaires
Voir également
Catégories
En savoir plus sur Line Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!