还有其他内置累积功能,如cumsum&在matlab中的cumprod?

时间:2012-08-27 15:02:23

标签: matlab

例如,我想从xs生成矢量ys:

ys(1) = xs(1)
ys(2) = max(xs(1:2))
ys(k) = max(xs(1:k))
ys(n) = max(xs)

一般来说,给定一个向量xs和一个函数f,是否有任何内置函数给ys:

ys(1) = f(xs(1))
ys(k) = f(xs(1:k))
编辑:我发现我可以像使用arrayfun一样:

ys = arrayfun(@(k) f(xs(1:k)),1:size(xs,2))

EDIT2:我仍然想知道是否有一些像'cumarray'这样的内置函数可以用作:

ys = cumarray(xs,f)

1 个答案:

答案 0 :(得分:0)

在Matlab中,我相信唯一的另一个是cumtrapz()

在Octave中,还有cummax()cummin()。还有accumdim(),其行为类似于accumarray(),但沿着指定维度。