3

例如,我想通过以下方式从 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)
4

1 回答 1

0

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

在 Octave 中也有cummax()cummin()。还有accumdim()一些行为类似accumarray()但沿指定维度。

于 2012-08-27T16:01:04.053 回答