Potential of vector field
Vector of symbolic expressions or functions.
Vector of symbolic variables with respect to which you compute the potential.
Vector of symbolic variables, expressions, or numbers that you want to use as a base point for the integration. If you use this argument, potential returns P(X) such that P(Y) = 0. Otherwise, the potential is only defined up to some additive constant.
Compute the potential of this vector field with respect to the vector [x, y, z]:
syms x y z P = potential([x, y, z*exp(z)], [x y z])
P = x^2/2 + y^2/2 + exp(z)*(z - 1)
Use the gradient function to verify the result:
simplify(gradient(P, [x y z]))
ans = x y z*exp(z)
Compute the potential of this vector field specifying the integration base point as [0 0 0]:
syms x y z P = potential([x, y, z*exp(z)], [x y z], [0 0 0])
P = x^2/2 + y^2/2 + exp(z)*(z - 1) + 1
Verify that P([0 0 0]) = 0:
subs(P, [x y z], [0 0 0])
ans = 0
If a vector field is not gradient, potential returns NaN:
potential([x*y, y], [x y])
ans = NaN
The potential of a gradient vector field V(X) = [v1(x1,x2,...),v2(x1,x2,...),...] is the scalar P(X) such that .
The vector field is gradient if and only if the corresponding Jacobian is symmetrical:
The potential function represents the potential in its integral form:
If potential cannot verify that V is a gradient field, it returns NaN.
Returning NaN does not prove that V is not a gradient field. For performance reasons, potential sometimes does not sufficiently simplify partial derivatives, and therefore, it cannot verify that the field is gradient.