MATLAB Function Reference | ![]() ![]() |
Syntax
Description
[y1,y2,...] = feval(fhandle,x1,...,xn)
evaluates the function handle, fhandle
, using arguments x1
through xn
. If the function handle is bound to more than one built-in or M-file, (that is, it represents a set of overloaded functions), then the data type of the arguments x1
through xn
, determines which function is dispatched to.
[y1,y2...] = feval(function,x1,...,xn)
If function
is a quoted string containing the name of a function (usually defined by an M-file), then feval(function,x1,...,xn
) evaluates that function at the given arguments. The function
parameter must be a simple function name; it cannot contain path information.
Note
The preferred means of evaluating a function by reference is to use a function handle. To support backward compatibility, feval also accepts a function name string as a first argument. However, function handles offer the additional performance, reliability, and source file control benefits listed in the section Benefits of Using Function Handles.
|
Remarks
The following two statements are equivalent.
Examples
The following example passes a function handle, fhandle
, in a call to fminbnd
. The fhandle
argument is a handle to the humps
function.
The fminbnd
function uses feval
to evaluate the function handle that was passed in.
function [xf,fval,exitflag,output] = ... fminbnd(funfcn,ax,bx,options,varargin).
.
.
fx = feval(funfcn,x,varargin{:});
In the next example, @deblank
returns a function handle to variable, fhandle
. Examining the handle using functions(fhandle)
reveals that it is bound to two M-files that implement the deblank
function. The default, strfun\ deblank.m
, handles most argument types. However, the function is overloaded by a second M-file (in the @cell
subdirectory) to handle cell array arguments as well.
fhandle = @deblank; ff = functions(fhandle); ff.default ans = matlabroot\toolbox\matlab\strfun\deblank.m ff.methods ans = cell: 'matlabroot\toolbox\matlab\strfun\@cell\deblank.m'
When the function handle is evaluated on a cell array, feval
determines from the argument type that the appropriate function to dispatch to is the one that resides in strfun\@cell
.
See Also
assignin
, function_handle
, functions
, builtin
, eval
, evalin
![]() | ferror | fft | ![]() |