creating loop and storing eigenvalues from random matrices
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I am very new to Matlab and I am currently trying to write a code on Matlab for a specific task. I believe I need to write a loop.
I want to generate a 2x2 random covariance matrix so the diagonal entries are in the interval [0,1] and the non-diagonal entries are in the interval [-1,1]. I would like to compute the eigenvalues of this matrix which is straight forward.
Here is the difficult part: But I want to repeat this process for many (say 100 times) random 2x2 covariance matrices. Then for each matrix, I get 2 eigenvalues. I want to be able to store the eigenvalues for all 100 matrices into one vector, giving me a 2*100 = 200-entry vector.
I suspect my code will contain something of the following:
a=-1+2*rand;
A=[rand a; a rand];
v=eig(A)
I am just unsure on how to create a loop with allows me to repeat this task for say 100 times and to store the entries as a big vector.
0 commentaires
Réponse acceptée
Walter Roberson
le 29 Juin 2012
many_times = 100;
all_v = zeros(2, many_times);
for K = 1 : many_times
a = -1+2*rand;
A = [rand a; a rand];
v = eig(A);
all_v(:, K) = v;
end
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Linear Algebra 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!