例如,我想从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)
答案 0 :(得分:0)
在Matlab中,我相信唯一的另一个是cumtrapz()
。
在Octave中,还有cummax()
和cummin()
。还有accumdim()
,其行为类似于accumarray()
,但沿着指定维度。