assigning (numerical) names to multiple eigenvectors

4 views (last 30 days)
Hello!
I have a a 3-d matrix (called 'newmatrix') of 28, 12x12 matrices. I am trying to get the eigenvalues and eigenvectors for all the matrices and at the end of my program have: for j = 1:28; [V,D] = eigs(newmatrix(:,:,j)) end .
The problem I'm having is that MATLAB prints out all of the eigenvalues and their respective eigenvectors consecutively, without any assigned name or number to them. I want to work with these eigenvectors (particularly those that go with the eigenvalue of 1) and think that my first step is being able to name everything. Any ideas on how I can do this?
SIDE NOTE: the matrices were originally 6x6 matrices that were made symmetrical and then weighted so that there are only real eigenvalues and that there is always an eigenvalue of 1.
  2 Comments
Donald
Donald on 19 Aug 2011
Ok, after two days of pulling out my hair, I thought of the incredibly simple solution of changing [V,D] = eigs(newmatrix(:,:,j)) to [V(:,:,j),D(:,:,j)] = eigs(newmatrix(:,:,j)) right as I clicked "submit" to my post.
Thanks, anyway! I'm sure I'll be back with a question later.
Oleg Komarov
Oleg Komarov on 19 Aug 2011
Move you comment to an answer and accept it. It's legit in this case and will provide guidance for future similar questions.

Sign in to comment.

Answers (1)

Doug Hull
Doug Hull on 24 Aug 2011
Just putting Donald's self-answer in the correct place.
*Ok, after two days of pulling out my hair, I thought of the incredibly simple solution of changing
[V,D] = eigs(newmatrix(:,:,j))
to
[V(:,:,j),D(:,:,j)] = eigs(newmatrix(:,:,j))
right as I clicked "submit" to my post. Thanks, anyway! I'm sure I'll be back with a question later.*

Categories

Find more on Linear Algebra 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!