【发布时间】:2014-04-16 15:29:49
【问题描述】:
假设我有
Data = 160 x 160 double
我会这样做:
%1st loop
for e=3:160
D1(e)=Data(1,e);
end
%2nd loop
for e=6:160
for b=2:e-1
D2(e)= min(Data(b,e)+D1(1,b-1));
end
end
问题是,我想保存Data(b,e) 和D1(1,b-1) 索引,它为每次D2(e) 迭代提供最小值。
有什么帮助吗?谢谢。
【问题讨论】:
-
我不确定我是否正确理解了您的代码。在我看来,在每次循环迭代中,
Data(b,e)和D1(1,b-1)都是标量值,您可以将其取为min。所以min(Data(b,e)+D1(1,b-1))等于Data(b,e)+D1(1,b-1)(?)还是我在某处遗漏了一个范围? -
即。对于 e = 6,我想比较 (Data(2,6)+D1(1)), (Data(3,6)+D1(2)), (Data(4,6)+D1(3)) , 和 (Data(2,5)+D1(4)) 所以我可以从这些数据中获取最小值(标量)并将其保存在 D2 变量中。我做错什么了吗?告诉我,谢谢。
标签: arrays matlab matrix indexing