MATLAB如何使用jacobian函数求符号微分
jacobian(f,v)命令用于计算数量或向量f对于向量v的jacobi矩阵,所得结果的第i行第j列的数是df(i)/dv(j)。注意,当f是数量的时候,该命令返回的是f的梯度。同时,注意v可以是数量,虽然此时jacobian(f,v)等价于diff(f,v)。
例题 利用jacobian函数求符号微分
>> syms x1 x2
>> f=[x1*exp(x2);x1-x2;sin(3*x1)*cos(4*x2)]
f =
x1*exp(x2)
x1 - x2
cos(4*x2)*sin(3*x1)
>> v=[x1,x2]
v =
[ x1, x2]
>> jacobian(f,v)
ans =
[ exp(x2), x1*exp(x2)]
[ 1, -1]
[ 3*cos(3*x1)*cos(4*x2), -4*sin(3*x1)*sin(4*x2)]
在进行jacobian矩阵的求解过程中,需要将需要求解的多元函数向量定义为列向量,将自变量定义为行向量。在求解之后,得到的表达式形式一般都比较复杂,因此,可以通过符号表达式操作中的simple等命令进行简化。