📄 mfbox_argmax.m
字号:
function varargout=mfbox_argmax(m,d,varargin)% Copyright by Peter Gruber and Fabian J. Theis% Signal Processing & Information Theory group% Institute of Biophysics, University of Regensburg, Germany% Homepage: http://research.fabian.theis.name% http://www-aglang.uni-regensburg.de%% This file is free software, subject to the % GNU GENERAL PUBLIC LICENSE, see gpl.txtnargchk(2,Inf,nargin);nivar = nargin-2;novar = nargout-1;if (nivar < novar) error('number of input/output variables do not match');endsm = size(m);for i=1:nivar if (iscell(varargin{i})) error('illegal parameters'); end s = size(varargin{i}); if (length(s) ~= length(sm) || any((s(:)-sm(:))~=0)) error('input/output parameters do not match'); endendd = d-1;sd = length(sm)-d;m = shiftdim(m,d);[x,y] = max(m,[],1);varargout{1} = squeeze(shiftdim(x,sd)); if (nivar > 0 && novar > 0) nsm = size(m); v = prod(nsm(2:end)); j = sub2ind([nsm(1),v],y(:)',1:v); for i=1:nivar if (i <= novar) t = shiftdim(varargin{i},d); t = reshape(t(j),[1,nsm(2:end)]); varargout{i+1} = squeeze(shiftdim(t,sd)); end endendreturn
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -