Matlab:对数组的复杂求和

时间:2013-03-23 09:36:20

标签: matlab sum vectorization

我正在尝试在Matlab中实现值迭代,但却以简洁的方式编写汇总问题。这就是我现在使用的:

problem.transition是一个92x92x5矩阵,非零元素的数量从3变为88.(对于较小的问题,http://pastebin.com/Ydraa83x是一个转换矩阵)

s和a是计算此总和的函数的参数,分别为1到92和1到5。

[transI,~,transV] = find(problem.transition(:,s,a)); 

som = 0;
for s_acc = 1:numel(transV)
    som = som + transV(s_acc)*max(Q(transI(s_acc),:));    
end

这有效,但我确信有更好的方法。我查看并找到了符号函数,arrayfun方法之类的东西,但我无法理解它们。

这是求和(S和A是向量,s和a分别是S和A的元素) The equation

那么,对此进行编程的干净方法是什么?

提前致谢!

0 个答案:

没有答案