MATLAB Answers

0

How to sum the results of a loop?

Asked by vinicius lanziotti on 7 Dec 2017
Latest activity Edited by James Tursa
on 7 Dec 2017
I need to sum the values of D and put the result in a single variable...
How can I do this?
x=[1 2 3 4 5];
d= [0 10 20 30 40;
10 0 50 60 70;
20 50 0 80 90;
30 60 80 0 100;
40 70 90 100 0];
for i=1:length(x)-1
j=i+1;
D=d(x(1,i),x(1,j))
end
>> test
D =
10
D =
50
D =
80
D =
100

  0 Comments

Sign in to comment.

Tags

No tags entered yet.

1 Answer

Answer by James Tursa
on 7 Dec 2017
Edited by James Tursa
on 7 Dec 2017

E.g., for generic x
s = sub2ind(size(d),x(1:end-1),x(2:end));
Dsum = sum(d(s));
If you always wanted to sum the super-diagonal, then
Dsum = sum(diag(d,1));

  0 Comments

Sign in to comment.