# How i can store a results of a loop FOR (are then Matrix's) in a new Matrix?

2 views (last 30 days)
Lucas Silva on 12 Jan 2019
Commented: Lucas Silva on 29 Jan 2019
Hello guys, my code have a loop iteration FOR. That generate 13 matrix, my question is, how i can store this results of loop, each iteration, in a new matrix. Where else ahead, i'm needed to pull this matriz's of my storage matrix.
Obs* = I' have a old matrix e new matrix (this into the loop) i need storage the old matrix, in first "space" of my storage matrix and in the other rows e colums i need storage the looping results.
*Sorry for my poor english.
Ee = [-P(1) e0 -P(3) P(2)
-P(2) P(3) e0 -P(1)
-P(3) -P(2) P(1) e0];
for it=2:4:52
EeNew = [-P(it+3) P(it+2) -P(it+5) P(it+4)
-P(it+4) P(it+2) P(it+2) -P(it+3)
-P(it+5) -P(it+4) P(it+3) P(it+2)];
end
%[Ee,EeNew(:,:)] = [Ee EeNew()] (my fails)

Eugenio Grabovic on 29 Jan 2019
Edited: Eugenio Grabovic on 29 Jan 2019
Ee = [-P(1) e0 -P(3) P(2)
-P(2) P(3) e0 -P(1)
-P(3) -P(2) P(1) e0];
i = 0; % adding counter index
for it=2:4:52
i = i + 1;
EeNew(1:3,1:4,i) = [-P(it+3) P(it+2) -P(it+5) P(it+4) % storing evaluated matrices along the 3rd dim.
-P(it+4) P(it+2) P(it+2) -P(it+3)
-P(it+5) -P(it+4) P(it+3) P(it+2)];
end
EeNew = EeNew(:,:); % flattening 3rd dimension to make 3x(4*k) final matrix
Not sure i completely understood you question but maybe this is what you are looking for ?

#### 1 Comment

Lucas Silva on 29 Jan 2019
Is this a alternative, but i find another. Creating a function. Thanks for the helping anyway!

KSSV on 29 Jan 2019
Ee = [-P(1) e0 -P(3) P(2)
-P(2) P(3) e0 -P(1)
-P(3) -P(2) P(1) e0];
val = 2:4:52 ;
EeNew = zeros(3,4,length(val)) ;
for i = 1:length(val)
it = val(i) ;
EeNew(:,:,i) = [-P(it+3) P(it+2) -P(it+5) P(it+4)
-P(it+4) P(it+2) P(it+2) -P(it+3)
-P(it+5) -P(it+4) P(it+3) P(it+2)];
end