MATLAB: Subs function does not work on symbolic expressions and functions

MATLABmatlab functionsymbolic

Hi, I would like to ask about a problem when using subs function on a syms variable. Below is my code.
I don't know why but in the subs function, I cannot replace the m variable in v with numeric value of mVal (which mVal = m = 25*2^(1/2)*17^(1/2))/108 after solving).
So when I run the code, the output MagV = (850/abs(m)^2)^(1/2) which is a function of m, instead of an actual numeric value.
How can I replace mVal to m, and get the actual numeric value of MagV, instead of a function of m?
syms m t v(t)
v =[(5*t)/m, (3*t)/m, 0]
m = solve(norm([5/m, 3/m, 0]) == 4.32, m);
mVal = m;
MagV = norm(subs(v, [t m], [5 mVal])); MagV

Best Answer

You are overwriting the symbolic variable 'm' with numeric value on line
m = solve(norm([5/m, 3/m, 0]) == 4.32, m);
and after that, subs() no longer recognize m as the symbolic variable. Try the following code with a line removed from your code
syms m t v(t)
v =[(5*t)/m, (3*t)/m, 0];
mVal = solve(norm([5/m, 3/m, 0]) == 4.32, m);
MagV = norm(subs(v, [t m], [5 mVal]));
MagV