how to combine the result of 3 loops in one cell array with 2 dimensions?

3 views (last 30 days)
I run loop over 3 variables
for i=1:64
for j=1:630
for k=1:8
A='do somthing over (i,j)'
B='do something with A over (k)
end
end
end
I want B to store values of all loops(i,j,k) but dimension of B should be(i,(jxk))..Is it possible to do this or any guidance that after running all loops I can sort the resultant in that dimensions? Actually I want resultant on each value of variable(i)

Accepted Answer

Karsten Reuß
Karsten Reuß on 26 Jan 2017
Edited: Karsten Reuß on 26 Jan 2017
If I understand your question correctly it can be done like this: You can rearrange the dimenstions of B after the loops with commands like reshape for instance. But all your values will be stored. A doesn't have to be within the k-loop as it isn't altered there.
for i=1:64
for j=1:630
A(i,j)='do somthing over (i,j)'
for k=1:8
B(i,j,k)='do something with A (i,j) over (k)
end
end
end
B2=reshape(B,[size(B,1),size(B,2)*size(B,3)]) % or any other variation you like

More Answers (0)

Community Treasure Hunt

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

Start Hunting!