是否有任何函数可以计算双矩阵的累积最大值?我有一个1*3000矩阵,我需要计算累积最大值。例如,如果矩阵是:
A = [8 3 6 7 9 10 6 2 2 3]累积最大数组为:
B = [8 8 8 8 9 10 10 10 10 10]我尝试过累积最大函数,但是我遇到了以下错误:
“double”类型输入参数的未定义函数“累计最大值”
发布于 2015-06-18 02:50:43
如果cummax不能工作,那么我想出了一个小函数
function m = cummax2(x)
[X, ~] = meshgrid(x, ones(size(x)));
%replace elements above diagonal with -inf
X(logical(triu(ones(size(X)),1))) = -inf;
%get cumulative maximum
m = reshape(max(X'), size(x));
end发布于 2015-06-18 06:09:00
下面是一种使用bsxfun的替代方法
max(bsxfun(@(~,y)([A(1:y),-inf(1,numel(A)-y)]'), A', 1:numel(A)))https://stackoverflow.com/questions/30905526
复制相似问题