MATLAB: Converting a symbolic matrix to a normal matrix

matrixsymbolic

Say I have this from this link.
syms x y z
jacobian([x*y*z, y^2, x + z], [x, y, z])
It gives an output of
ans =
[ y*z, x*z, x*y]
[ 0, 2*y, 0]
[ 1, 0, 1]
What I want to do is to convert the above symbolic matrix to a normal where x=y=z=1 to have a final output of:
Final=
[ 1 1 1]
[ 0 2 0]
[ 1 0 1]

Best Answer

Try this:
syms x y z
M = jacobian([x*y*z, y^2, x + z], [x, y, z]);
M = subs(M, {x,y,z},{1,1,1});
dM = double(M);
You can also create ‘M’ as a symbolic function:
syms x y z
M(x,y,z) = jacobian([x*y*z, y^2, x + z], [x, y, z]);
nM = M(1,1,1);
dM = double(nM);
The result is the same.