## FEVAL Evaluate a Function

Section: FreeMat Functions

### Usage

The`feval`

function executes a function using its name.
The syntax of `feval`

is
[y1,y2,...,yn] = feval(f,x1,x2,...,xm)

where `f`

is the name of the function to evaluate, and
`xi`

are the arguments to the function, and `yi`

are the
return values.
Alternately, `f`

can be a function handle to a function
(see the section on `function handles`

for more information).
Finally, FreeMat also supports `f`

being a user defined class
in which case it will atttempt to invoke the `subsref`

method
of the class.

### Example

Here is an example of using`feval`

to call the `cos`

function indirectly.
--> feval('cos',pi/4) ans = 0.7071

Now, we call it through a function handle

--> c = @cos c = @cos --> feval(c,pi/4) ans = 0.7071

Here we construct an inline object (which is a user-defined class)
and use `feval`

to call it

--> afunc = inline('cos(t)+sin(t)','t') afunc = inline function object f(t) = cos(t)+sin(t) --> feval(afunc,pi) ans = -1.0000 --> afunc(pi) ans = -1.0000

In both cases, (the `feval`

call and the direct invokation), FreeMat
calls the `subsref`

method of the class, which computes the requested
function.