フィルターのクリア

How to sum the results of a loop?

1 回表示 (過去 30 日間)
vinicius lanziotti
vinicius lanziotti 2017 年 12 月 7 日
編集済み: James Tursa 2017 年 12 月 7 日
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

回答 (1 件)

James Tursa
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));

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by