Loop and plot in 2D

1 vue (au cours des 30 derniers jours)
Auryn_
Auryn_ le 26 Jan 2018
Commenté : Auryn_ le 28 Jan 2018
Hi,
I have a variable V(a,b,c) where
a=1:50
b=a
c=1:100
Now I would like to make a loop and plot the following:
sum_a(V(a,a+r,:))
May I ask you to help me with this loop and the 2D plot?
I have tried with this:
M=50;
V_prev=zeros(a,b,c);
V=V_prev;
for ik=1:M
V(ik,:,:)=V+V(ik,:,:);
for r=50-1:-1:0
V(ik,ik+r,:)=sum(V(ik,ik+r,:));
end
end
Unfortunately it doesn't work.
Thanks in advance for your reply.
  4 commentaires
Jan
Jan le 27 Jan 2018
@Auryn_: I still do not get it. sum(M(:)) is the sum of all elements of the array M. Where does "l" come into play then?
If V is a V(a,a,b) array and you want to get the sum over all a, than you need:
sum(sum(V, 1), 2)
Auryn_
Auryn_ le 27 Jan 2018
Hi, I have corrected the main text. Hopefully is more clear now! Thanks.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 27 Jan 2018
l is a terrible name for a variable. Anyway, you need to make sure a+l is not more than M
if (a+l) > M
break;
end
V(a,l,:)=sum(V(a,a+l,:));

Plus de réponses (1)

Auryn_
Auryn_ le 27 Jan 2018
Modifié(e) : Jan le 28 Jan 2018
Now it works
for ik=1:a
for l=100-1:-1:0
ij=ik+l
if ij > a
break;
end
A(ik,ij,:)=V(ik,ij,:);
end
B(ik,:,:)=sum(A(ik,:,:));
end
  2 commentaires
Jan
Jan le 28 Jan 2018
Your code does not run: In the first iteration ik=1 and l=b-1 (did I told you already not to use "l" as name of a variable? It is a really serious advice.) ij is greater than a, such that A is not defined at all. Then the assignment to B fails with an error message.
Auryn_
Auryn_ le 28 Jan 2018
If we consider
a=1:100
and
a=b,
it works.
Thanks again for everything!

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by