Plot Eigen Vectors

65 views (last 30 days)
Raviteja
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])).
HTH
  2 Comments
Raviteja
Raviteja on 6 Feb 2012
Can you please give the exact link of the file in file exchange.
and more over what is s1, s2 in your code?
Bjorn Gustavsson
Bjorn Gustavsson on 6 Feb 2012
1, http://lmgtfy.com/?q=arrow+matlab+file+exchange 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.

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!