2012-04-03 59 views
4

我有这样的代码:有没有办法在Matlab中评估Jacobian?

syms x y z 
f =[x^2+y^2+z^2-100 ,x*y*z-1 ,x-y-sin(z)]; 
v = [x, y, z]; 
fp = jacobian(f,v) 

这给:

fp = 
[ 2*x, 2*y,  2*z] 
[ y*z, x*z,  x*y] 
[ 1, -1, -cos(z)] 

现在我想在,比方说,以评估这一点,X = Y = Z = 1。但

fp([1,1,1]) 

给我

[ 2*x, 2*x, 2*x] 

有没有办法做到这一点?

回答

10

可以使用subs功能:

subs(fp, [x y z], [1 1 1])