creating loop and storing eigenvalues from random matrices
6 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2012-6-29
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
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!