Filter löschen
Filter löschen

make a column matrix with outputs of a for loop

1 Ansicht (letzte 30 Tage)
fatima hd
fatima hd am 20 Jul. 2015
Beantwortet: David Schubert am 20 Jul. 2015
I have a for loop and I want the outputs of each iteration to sit in a column matrix. for example i have the code below:
for i=1:5
a=[1 2; i 3]
[P,Q]=eig(a);
end
for the first iteration Q(i=1)=[0.2679 0; 0 3.731], for second iteration I have Q(i=2)=[-0.2361 0; 0 4.2361] and so on. I want to construct a 10*1 column matrix in which all the outputs are after each other like this:
S=[0.2679 3.731 -0.2361 4.2361 ....]
but I really don't know how. it would be appreciated if u help me.
  1 Kommentar
Mathieu
Mathieu am 20 Jul. 2015
Bearbeitet: Mathieu am 20 Jul. 2015
So you want to concatenate some vectors? Because if yes:
b = [];
for i=1:1:5
a = [1 2]
b = [b a];
end
And the result is a vector with [1 2 1 2 1 2 1 2 1 2] (5 times the vector a)

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

David Schubert
David Schubert am 20 Jul. 2015
Use diag(Q) to obtain only the eigenvalues on the diagonal of Q, and then concatenate:
mat = [];
for i=1:5
a=[1 2; i 3];
[P,Q]=eig(a);
mat = [mat; diag(Q)];
end

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by