如何在Matlab中找到我的函数的雅可比行列式?

时间:2015-04-22 10:00:54

标签: matlab

我在Matlab中有以下功能:

f = @(x)[x(1,:)+2*x(2,:)+x(3,:);x(1,:).^3+x(2,:).^2+3*x(3,:)]

如何在Matlab中找到该函数的雅可比矩阵?

我尝试过使用jacobian函数,但是我没有让它适用于这个特定的函数。有人可以用正确的论据帮助我吗?

1 个答案:

答案 0 :(得分:2)

正如@dasdingonesin已经写过的那样,你需要使用这样的符号工具箱:

syms x y z;
f = [x+2*y+z, x^3+y^2+3*z];
gradf = jacobian(f, [x,y,z])

这导致:

gradf =

[     1,   2, 1]
[ 3*x^2, 2*y, 3]

顺便说一下:如果你需要求解器中的jacobian,你可以使用matlabFunction将该符号函数转换回常规MATLAB函数。关于这个主题available还有一个很好的教程。