0

我正在尝试在 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 的元素) 方程

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

提前致谢!

4

0 回答 0