Main Content


Jacobian matrix



jacobian(f,v) computes the Jacobian matrix of f with respect to v. The (i,j) element of the result is f(i)v(j).


collapse all

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 = 


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])
ans = 


The Jacobian matrix is invariant to the orientation of the vector in the second input position.

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 = (234)

Now, compute the gradient of the same expression.

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


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
ans = 


Now, compute the derivatives.

ans = (2xysin(y))

Specify polar coordinates r(t), ϕ(t), and θ(t) that are functions of time.

syms r(t) phi(t) theta(t)

Define the coordinate transformation form spherical coordinates to Cartesian coordinates.

R = [r*sin(phi)*cos(theta), r*sin(phi)*sin(theta), r*cos(phi)]
R(t) = (cos(θ(t))sin(ϕ(t))r(t)sin(ϕ(t))sin(θ(t))r(t)cos(ϕ(t))r(t))

Find the Jacobian of the coordinate change from spherical coordinates to Cartesian coordinates.

ans(t) = 


Input Arguments

collapse all

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.

Vector of variables or functions with respect to which you compute Jacobian, specified as a symbolic variable, symbolic function, 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.

More About

collapse all

Jacobian Matrix

The Jacobian matrix of the vector function f = (f1(x1,...,xn),...,fn(x1,...,xn)) is the matrix of the derivatives of f:


Introduced before R2006a