# cjacobian

Jacobian of a multivariate, vector-valued function using the central difference approximation.

## Syntax

J = cjacobian(f,x0)
J = cjacobian(f,x0,h)


## Description

J = cjacobian(f,x0) numerically evaluates the Jacobian of with respect to at using the central difference approximation with a default relative step size of , where is the machine zero.

J = cjacobian(f,x0,h) numerically evaluates the Jacobian of with respect to at using the central difference approximation with a user-specified relative step size .

## Input/Output Parameters

 Variable Symbol Description Format Input f $\inline&space;\mathbf{f}(\mathbf{x})$ multivariate, vector-valued function ($\inline&space;\mathbf{f}:\mathbb{R}^{n}\rightarrow\mathbb{R}^{m}$) 1×1function_handle x0 $\inline&space;\mathbf{x}_{0}$ evaluation point n×1double h $\inline&space;h$ (OPTIONAL) relative step size (defaults to $h=\varepsilon^{1/3}$) 1×1double Output J $\inline&space;\mathbf{J}(\mathbf{x}_{0})=\dfrac{\partial\mathbf{f}}{\partial\mathbf{x}}\bigg\rvert_{\mathbf{x}=\mathbf{x}_{0}}$ Jacobian of $\inline&space;\mathbf{f}$ with respect to $\inline&space;\mathbf{x}$, evaluated at $\inline&space;\mathbf{x}=\mathbf{x}_{0}$ m×ndouble

## Note

• This function requires evaluations of .

## Example

Approximate the Jacobian of

at using the cjacobian function, and compare the result to the true result of

Approximating the Jacobian,

f = @(x) [x(1);5*x(3);4*x(2)^2-2*x(3);x(3)*sin(x(1))];
x0 = [5;6;7];
J = cjacobian(f,x0)

J =

1.0000         0         0
0         0    5.0000
0   48.0000   -2.0000
1.9856         0   -0.9589



Calculating the error,

error = J-[1,0,0;0,0,5;0,48,-2;7*cos(5),0,sin(5)]

error =

1.0e-09 *

-0.0009         0         0
0         0   -0.0289
0    0.1248   -0.0471
-0.4423         0    0.0087



NOTE: The function and its corresponding Jacobian are from an example on Wikipedia.