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
Evaluate Function with Function Name as Character Vector
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
fun
— Function to evaluate
function name | function handle
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
x1,...,xM
— Inputs to evaluated function
depends on function
Inputs to the evaluated function. The types of the inputs depend on the function, fun
.
Output Arguments
y1,...,yN
— Outputs from evaluated function
depends on function
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
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
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.
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
Version History
Introduced before R2006a