MATLAB: Jacobian function and derivative that is a fraction

jacobianmatrix

Hello,
I'm trying to use the Jacobian function to find the matrices to linearize my two equations
However, when I try and take the partial derivative with respect to (F/V) for matrix B, then I get an error.
syms CA CB F V CAi k1 k2 k3
f1 = (F/V)*(CAi-CA)-k1*CA-k3*CA^2;
f2 = -(F/V)*CB + k1*CA - k2*CB;
A = jacobian([f1; f2], [CA CB]);
B = jacobian([f1; f2], [F/V CAi])
Error using mupadmex
Error in MuPAD command: The variable is invalid. [stdlib::diff]
Error in sym/jacobian (line 34)
Jsym = mupadmex('symobj::jacobian',F.s,x.s);
I'm wondering what I can do to fix this. Thanks

Best Answer

Although the documentation doesn't say so, I would guess that the Jacobian cannot be taken with respect to a symbolic expression like F/V. It has to be with respect to a named variable. So, replace F/V with its own variable like below,
syms CA CB Fv CAi k1 k2 k3
f1 = (Fv)*(CAi-CA)-k1*CA-k3*CA^2;
f2 = -(Fv)*CB + k1*CA - k2*CB;
A = jacobian([f1; f2], [CA CB]);
B = jacobian([f1; f2], [Fv CAi])