fmap.m

来自「麻省理工学院的人工智能工具箱,很珍贵,希望对大家有用!」· M 代码 · 共 55 行

M
55
字号
function array = fmap(fun, array, varargin)%FMAP   Evaluate a function for each element of an array.%%   ARRAY2 = FMAP(FUN, ARRAY) evaluates the function FUN on all%   elements of ARRAY.  FUN must be a string and ARRAY1 must be numeric%   array, a character array or a cell array.%%   ARRAY2 = FMAP(FUN, ARRAY, X1, X2, ...) passes extra arguments to%   FUN.%%   Examples:%%     fmap('sqrt', [ 4 9 ])               returns  [ 2 3 ]%%     fmap('sqrt', { 4 9 })               returns  { 2 3 }%%     fmap('power', { 4 9 }, 3)           returns  { 64 729 }%%     fmap('all', { [ 1 1 0 ] [ 1 1 ] })  returns  { 0 1 }%   Author:      Peter J. Acklam%   Time-stamp:  2000-02-29 23:58:28%   E-mail:      jacklam@math.uio.no%   URL:         http://www.math.uio.no/~jacklam   error(nargchk(2, Inf, nargin));   if isnumeric(array) | ischar(array)%      eval(sprintf([ ...%         'for i = 1 : prod(size(array))\n' ...%         '   array(i) = %s(array(i), varargin{:});\n' ...%         'end\n' ], fun));      for i = 1 : prod(size(array))         array(i) = feval(fun, array(i), varargin{:});      end   elseif isa(array, 'cell')%      eval(sprintf([ ...%         'for i = 1 : prod(size(array))\n' ...%         '   array{i} = %s(array{i}, varargin{:});\n' ...%         'end\n' ], fun));      for i = 1 : prod(size(array))         array{i} = feval(fun, array{i}, varargin{:});      end   else      error(['No support for arrays of class "' class(array) '".' ]);   end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?