clear syms x y f = x*y x = 5; y = 4.5; %% eval eval(f) class(ans) f disp('-----') %% subs clear syms x y f = x*y; x = 5; y = 4.5; subs(f) class(ans) f disp('-----') %% partial eval: is it still symbolic or an error? clear syms x y f = x*y; y = 4.5; eval(f) class(ans) f disp('-----') %% partial subs clear syms x y f = x*y; y = 4.5; subs(f) class(ans) f disp('-----') %% evals to double? clear g = sin(sym(2)) eval(g) class(ans) disp('--------') %% partial eval? syms x g = sin(sym(2))*x eval(g) class(ans) g = sin(sym(2))*sym('pi')*x eval(g) class(ans)