Borrar filtros
Borrar filtros

Plot eigen Vector e1 & e2 in matlab?

2 visualizaciones (últimos 30 días)
Tanya
Tanya el 18 de Feb. de 2014
Respondida: jandas el 19 de Feb. de 2014
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
That two lines represent the e1&e2 .
How to plot the e1 & e2 properly in 3D Vectors (plot3)???

Respuestas (1)

jandas
jandas el 19 de Feb. de 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--');

Categorías

Más información sobre Line Plots en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by