主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

jacobian

符号函数的雅可比矩阵

说明

jacobian(f,v) 计算符号函数 f 关于 v雅可比矩阵。结果中的 (i,j) 元素为 f(i)v(j)

示例

示例

全部折叠

向量函数的雅可比矩阵是由该函数的偏导数组成的矩阵。

计算 [x*y*z,y^2,x + z] 关于 [x,y,z] 的雅可比矩阵。

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

(yzxzxy02y0101)

现在,计算 [x*y*z,y^2,x + z] 关于 [x;y;z] 的雅可比矩阵。

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

(yzxzxy02y0101)

雅可比矩阵不会因第二个输入位置的向量方向而改变。

标量函数的雅可比矩阵是其梯度的转置。

计算 2*x + 3*y + 4*z 关于 [x,y,z] 的雅可比矩阵。

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

现在,计算同一表达式的梯度。

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

(234)

一个函数关于标量的雅可比矩阵是该函数的一阶导数。对于向量函数而言,它关于标量的雅可比矩阵是一个由一阶导数组成的向量。

计算 [x^2*y,x*sin(y)] 关于 x 的雅可比矩阵。

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

(2xysin(y))

现在,计算导数。

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

指定极坐标 r(t)ϕ(t)θ(t),它们是时间函数。

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

定义从球面坐标到笛卡尔坐标的坐标变换。

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))

求从球面坐标到笛卡尔坐标的坐标变换的雅可比矩阵。

jacobian(R,[r,phi,theta])
ans(t) = 

(cos(θ(t))sin(ϕ(t))cos(ϕ(t))cos(θ(t))r(t)-sin(ϕ(t))sin(θ(t))r(t)sin(ϕ(t))sin(θ(t))cos(ϕ(t))sin(θ(t))r(t)cos(θ(t))sin(ϕ(t))r(t)cos(ϕ(t))-sin(ϕ(t))r(t)0)

输入参数

全部折叠

标量或向量函数,指定为符号表达式、函数或向量。如果 f 是标量,则由 f 组成的雅可比矩阵是 f 的转置梯度。

关于其计算雅可比矩阵的变量或函数向量,指定为符号变量、符号函数或符号变量向量。如果 v 是标量,则结果等于 diff(f,v) 的转置。如果 v 是空符号对象(例如 sym([])),则 jacobian 会返回一个空符号对象。

详细信息

全部折叠

版本历史记录

在 R2006a 之前推出