How to store data in a nested for loop?

This is my skeleton Code:
c = 0
for J = 1: 1 : 12
c = c+1;
.
.
.
for delta = 1: 1 : 10
.
.
.
A (c) =
B (c) =
C (c) =
D (c) =
end
end
Here the output of A, B, C, D are (12 by 1) column vectors. In my case i can only store one 12 by 1 column vector A for delta = 10. I want to store all the A vectors for delta 1 to 10 and store side by side so that i can get a 12 by 10 matrix.
Same thing implies for B,C,D also.
How can i store the data in this pattern?

 Risposta accettata

madhan ravi
madhan ravi il 14 Nov 2018
Modificato: madhan ravi il 14 Nov 2018
A=cell(12,10); %pre-allocation for speed and efficiency
B=cell(12,10);
C=cell(12,10);
D=cell(12,10);
for J = 1:12
for delta = 1:10
A{c,delta} =
B{c,delta} =
C{c,delta} =
D{c,delta} =
end
end
see { } which stores the values as cell , to view the values simply do
celldisp(A)

12 Commenti

Mr. 206
Mr. 206 il 14 Nov 2018
Modificato: Mr. 206 il 14 Nov 2018
Hi,
See using A (c) i am piling all the A values for J loop into one column (12 by1) vector. Now for delta there are 10 such kind of column vectors (12 by 1).
I just need to pile them together to get a 12 by 10 matrix. Hope i can make my point.
yes i understood your point see edited answer
celldisp(A) is not giving a 12 by 10 matrix. Rather it is giving a lot of individual numbers!
madhan ravi
madhan ravi il 14 Nov 2018
Modificato: madhan ravi il 14 Nov 2018
you could do
[A{:}]
also whats your formula on right hand side it should produce 12by1 elements in an iteration
A is actually producing one number, after doing A (c) it creates a 12 by 1 column vector.
madhan ravi
madhan ravi il 14 Nov 2018
Modificato: madhan ravi il 14 Nov 2018
I want to store all the A vectors for delta 1 to 10 and store side by side so that i can get a 12 by 10 matrix.
? so did you try my code?
Mr. 206
Mr. 206 il 14 Nov 2018
Modificato: Mr. 206 il 14 Nov 2018
It creates one long column vector. It is piling all the A in one column vector
can you provide the formula so i can try it out myself?
I solved the problem. Thanks for your effort.
c = 0
for J = 1: 1 : 12
c = c+1;
.
.
.
for delta = 1: 1 : 10
.
.
.
A (c,delta) =
B (c,delta) =
C (c,delta) =
D (c,delta) =
end
end
Thats exactly what my answer would also give you
May be due to something inside my code it is not acting as expected.
To me your logic looks good. I am accpeting the Answer.
Again thanks for your help.
Anytime :)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by