MATLAB Answers

Plot Eigen Vectors

269 views (last 30 days)
Raviteja on 6 Feb 2012
Edited: Matt J on 1 Oct 2013
>> covX=[3.1163 1.2956; 1.2956 0.5810];
>> [Evec Eval]=eig(covX);
for this how to plot Eigen vectors ?

Answers (2)

Andrei Bobrov
Andrei Bobrov on 6 Feb 2012

Bjorn Gustavsson
Bjorn Gustavsson on 6 Feb 2012
Look on the file exchange for arrow plotting functions, there are at least 2 very good submissions. Those will be the "natural" choice for plotting eigenvectors for 2 and 3-D cases. For higher dimensions plot will do it, unless you have some direct geometrical interpretations of your covariance matrix - then you might prefer imagesc(reshape(Evec,[s1,s2])).
Bjorn Gustavsson
Bjorn Gustavsson on 6 Feb 2012
1, the first, third, second and fourth link gets you to the better ones.
2, For example if you have a covariance matrix built from data taken at a number (n>>3) of atmospheric altitude levels of say the pressure, then the eigenvectors are best plotted with plot(evec). Each eigenvector correspons (handwavingly talking) to a 1-D basis function. If your covariance matrix are built from data taken at nZ altitudes at nL latitudes then it is better to look at the eigenvectors one by one: imagesc(reshape(Evec(i1,:),[nZ,nL] - s1 & s2 above)) - that way you'd see the shape of the 2-D variation of the eigenvectors. Here the size of the covariance matrix would be (nZ*nL)x(nZ*nL).

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!