feval - Evaluate function - MATLAB (original) (raw)
Syntax
Description
[[y1,...,yN](#f71-813114-y1yN)] = feval([fun](#f71-813114-fun),[x1,...,xM](#f71-813114-x1xM))
evaluates a function using its name or its handle, and using the input arguments x1,...,xM
.
The feval
function follows the same scoping and precedence rules as calling a function handle directly. For more information, see Create Function Handle.
Examples
Round the value of pi
to the nearest integer using the name of the function.
fun = 'round'; x1 = pi; y = feval(fun,x1)
Round the value of pi
to two digits to the right of the decimal point.
x2 = 2; y = feval(fun,x1,x2)
Input Arguments
Function to evaluate, specified as a function name or a handle to a function. The function accepts M
input arguments, and returns N
output arguments. To specify fun
as a function name, do not include path information.
Invoking feval
with a function handle is equivalent to invoking the function handle directly.
Example: fun = 'cos'
Example: fun = @sin
Inputs to the evaluated function. The types of the inputs depend on the function, fun
.
Output Arguments
Outputs from evaluated function. The types of the outputs depend on the function, fun
.
Tips
- If you have a function handle, it is not necessary to use
feval
because you can invoke the function handle directly. The results of the following statements are equivalent.
fh = @eig;
[V,D] = fh(A)
[V,D] = feval(@eig,A) - To evaluate a nested or local function using
feval
, use a function handle instead of the function name. For more information, see Call Local Functions Using Function Handles.
Extended Capabilities
Usage notes and limitations:
- The code generator automatically interprets
feval
as an extrinsic function. For more information, see Use MATLAB Engine to Execute a Function Call in Generated Code (MATLAB Coder). - The code generator does not support the use of
feval
to call local functions. - The code generator does not support the use of
feval
to call functions that are located in a private folder.
Version History
Introduced before R2006a