Accelerating the pace of engineering and science

# jacobian

Jacobian matrix

## Description

example

jacobian(f,v) computes the Jacobian matrix of f with respect to v. The (i,j) element of the result is $\frac{\partial f\left(i\right)}{\partial \text{v}\left(j\right)}$.

## Examples

### Jacobian of a Vector Function

The Jacobian of a vector function is a matrix of the partial derivatives of that function.

Compute the Jacobian matrix of [x*y*z, y^2, x + z] with respect to [x, y, z].

```syms x y z
jacobian([x*y*z, y^2, x + z], [x, y, z])```
```ans =
[ y*z, x*z, x*y]
[   0, 2*y,   0]
[   1,   0,   1]```

Now, compute the Jacobian of [x*y*z, y^2, x + z] with respect to [x; y; z].

`jacobian([x*y*z, y^2, x + z], [x; y; z])`

### Jacobian of a Scalar Function

The Jacobian of a scalar function is the transpose of its gradient.

Compute the Jacobian of 2*x + 3*y + 4*z with respect to [x, y, z].

```syms x y z
jacobian(2*x + 3*y + 4*z, [x, y, z])```
```ans =
[ 2, 3, 4]```

Now, compute the gradient of the same expression.

`gradient(2*x + 3*y + 4*z, [x, y, z])`
```ans =
2
3
4```

### Jacobian with Respect to a Scalar

The Jacobian of a function with respect to a scalar is the first derivative of that function. For a vector function, the Jacobian with respect to a scalar is a vector of the first derivatives.

Compute the Jacobian of [x^2*y, x*sin(y)] with respect to x.

```syms x y
jacobian([x^2*y, x*sin(y)], x)```
```ans =
2*x*y
sin(y)```

Now, compute the derivatives.

`diff([x^2*y, x*sin(y)], x)`
```ans =
[ 2*x*y, sin(y)]```

## Input Arguments

expand all

### f — Scalar or vector functionsymbolic expression | symbolic function | symbolic vector

Scalar or vector function, specified as a symbolic expression, function, or vector. If f is a scalar, then the Jacobian matrix of f is the transposed gradient of f.

### v — Vector of variables with respect to which you compute Jacobiansymbolic variable | symbolic vector

Vector of variables with respect to which you compute Jacobian, specified as a symbolic variable or vector of symbolic variables. If v is a scalar, then the result is equal to the transpose of diff(f,v). If v is an empty symbolic object, such as sym([]), then jacobian returns an empty symbolic object.

$J\left({x}_{1},\dots {x}_{n}\right)=\left[\begin{array}{ccc}\frac{\partial {f}_{1}}{\partial {x}_{1}}& \cdots & \frac{\partial {f}_{1}}{\partial {x}_{n}}\\ ⋮& \ddots & ⋮\\ \frac{\partial {f}_{n}}{\partial {x}_{1}}& \cdots & \frac{\partial {f}_{n}}{\partial {x}_{n}}\end{array}\right]$