Converting a symbolic matrix to a normal matrix

15 views (last 30 days)
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]

Accepted Answer

Star Strider
Star Strider on 12 Jul 2017
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.

More Answers (1)

Matt J
Matt J on 12 Jul 2017
J=jacobian([x*y*z, y^2, x + z], [x, y, z]);
Jnumeric = double(subs(J,[x,y,z],[1,1,1]))

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!