# idirectional

Directional derivative of a multivariate, scalar-valued function using the complex-step approximation.

## Syntax

Dv = idirectional(f,x0,v)
Dv = idirectional(f,x0,v,h)


## Description

Dv = idirectional(f,x0,v) numerically evaluates the directional derivative of with respect to at in the direction of using the complex-step approximation with a default step size of .

Dv = idirectional(f,x0,v,h) numerically evaluates the directional derivative of with respect to at in the direction of using the complex-step approximation with a user-specified step size .

## Input/Output Parameters

 Variable Symbol Description Format Input f multivariate, scalar-valued function () 1×1function_handle x0 evaluation point n×1double v vector defining direction of differentiation n×1double h (OPTIONAL) step size 1×1double Output Dv directional derivative of with respect to in the direction of , evaluated at 1×1double

## Note

• This function requires 1 evaluations of .
• This implementation does not assume that is a unit vector.

## Example

Approximate the directional derivative of at in the direction of using the idirectional function, and compare the result to the true result of .

Approximating the directional derivative,

f = @(x) x(1)^5+sin(x(2))^3;
x0 = [5;8];
v = [10;20];
Dv = idirectional(f,x0,v)

Dv =

3.1241e+04



Calculating the error,

error = Dv-(31250+60*sin(8)^2*cos(8))

error =

-3.6380e-12