idirectional

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

Back to Numerical Differentiation Toolbox Contents.

Contents

Syntax

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

Description

Dv = idirectional(f,x0,v) numerically evaluates the directional derivative of $f$ with respect to $\mathbf{x}$ at $\mathbf{x}=\mathbf{x}_{0}$ in the direction of $\mathbf{v}$ using the complex-step approximation with a default step size of $h=10^{-200}$.

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

Input/Output Parameters

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

Note

Example

Approximate the directional derivative of $f(\mathbf{x})=x_{1}^{5}+\sin^{3}{x_{2}}$ at $\mathbf{x}=\mathbf{x}_{0}=(5,8)^{T}$ in the direction of $\mathbf{v}=(10,20)^{T}$ using the idirectional function, and compare the result to the true result of $\nabla_{\mathbf{v}}f(\mathbf{x}_{0})=31250+60\sin^{2}{(8)}\cos{(8)}$.

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

See also

cdirectional | fdirectional