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 + -
显示快捷键?