summation of valuse in nested loops

2 views (last 30 days)
Ali Kareem
Ali Kareem on 23 Oct 2015
Edited: Andrei Bobrov on 25 Oct 2015
Hello,
I have three nested loop (I change from 1-10, J change from 1-20 and K change from 1-100) I saved the result from J,K loops in matrix (20,100). When loop went to I again I want to sum the old value with new value. For example
new A(1,1)=old A(1,1)+U(j,k) for new I loop.
I used below code and I do not know if it is correct. Please can you suggest new one or correct mine
A(20,100)=0
U(20,100)=0
for i=1:10
for j=1:20
for k=1:100
A(j,k)=A(j,k)+U(j,k)
end
end
end
  2 Comments
Star Strider
Star Strider on 23 Oct 2015
Please go into more detail on what you intend with:
new A(1,1)=old A(1,1)+U(j,k) for new I loop.
What should the other elements of ‘A’ be? Do you intend:
new A(l,m)=old A(l,m)+U(j,k) for new I loop?
That could require four nested loops. MATLAB can certainly do that, but there could be more efficient ways than nested loops.
Ali Kareem
Ali Kareem on 23 Oct 2015
Edited: Ali Kareem on 24 Oct 2015
Hi,
Thank you for your reply.
I want to save output from equation in matrix A(20,100) this is for loops (J,K). So this matrix A(20,100) will repeated for ten times. each time I want to add the output from old matrix to new one for all cell (each cell will add to same old cell) for all cell in all raw and column.
new A(1,1)=old A(1,1)+U(j,k) ....to .. new A(1,20)=old A(1,20)+U(j,k)
new A(100,1)=old A(100,1)+U(j,k) ... new A(100,20)=old A(100,20)+U(j,k)
A(20,100)=0
U(20,100)=0
z=3
for i=1:10
for j=1:20
for k=1:100
U(j,k)=z^2+sin(j)
A(j,k)=A(j,k)+U(j,k)
end
end
end
for I=1 I will get from (j,k) loops below matrix
A(1,1) A(1,2) A(1,3)…… A(1,100)
A(2,1) A(2,2) A(2,3)…… A(2,100)
A(20,1) A(20,2) A(20,3)…… A(20,100)
When I=2 I want to add each new cell like (A(1,1)) to old cell to new cell ( I mean for I repeated ten times then there will be 10 values for each cell like A(1,1) when I=1, then A(1,1) when I =2….and so on until I=10). I want to have summation for these values. (I mean by old the previous matrix when I=2 the previous matrix is when I =1 and so on until I=10)
A(1,1) A(1,2) A(1,3)…… A(1,100)
A(2,1) A(2,2) A(2,3)…… A(2,100)
Thank you so much A(20,1) A(20,2) A(20,3)…… A(20,100)

Sign in to comment.

Answers (1)

Andrei Bobrov
Andrei Bobrov on 24 Oct 2015
Edited: Andrei Bobrov on 24 Oct 2015
z = 3;
ii = 10;
jj = 20;
k = 100;
z2 = z^2;
A = (z2+sin(1:jj)'*ones(1,k))*ii;
  6 Comments
Ali Kareem
Ali Kareem on 24 Oct 2015
Edited: Ali Kareem on 24 Oct 2015
Hi,
Thank you for your reply. U,VCo constant. Xc,Yc,Y arrays.
Regards
Andrei Bobrov
Andrei Bobrov on 25 Oct 2015
Edited: Andrei Bobrov on 25 Oct 2015
Hi Ali! What is the size of your arrays (Xc,Yc,Y)?
:)

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!