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

3 次查看(过去 30 天)
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
Eugenio Grabovic 2019-1-29
编辑:Eugenio Grabovic 2019-1-29
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 个)

KSSV
KSSV 2019-1-29
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

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by