cdirectional
Directional derivative of a multivariate, scalar-valued function using the central difference approximation.
Back to Numerical Differentiation Toolbox Contents.
Contents
Syntax
Dv = cdirectional(f,x0,v) Dv = cdirectional(f,x0,v,h)
Description
Dv = cdirectional(f,x0,v) numerically evaluates the directional derivative of with respect to
at
in the direction of
using the central difference approximation with a default relative step size of
, where
is the machine zero.
Dv = cdirectional(f,x0,v,h) numerically evaluates the directional derivative of with respect to
at
in the direction of
using the central difference approximation with a user-specified relative step size
.
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) relative step size (defaults to $h=\varepsilon^{1/3}$) | 1×1 double |
||
Output | Dv | directional derivative of |
1×1 double |
Note
- This function requires
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 cdirectional 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 = cdirectional(f,x0,v)
Dv = 3.1241e+04
Calculating the error,
error = Dv-(31250+60*sin(8)^2*cos(8))
error = 9.1068e-06