How to sum the results of a loop?
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
James Tursa
2017 年 12 月 7 日
編集済み: James Tursa
2017 年 12 月 7 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!