Evaluate Sym values

364 views (last 30 days)
Julio Cesar
Julio Cesar on 31 Jan 2011
Commented: Zhe Chen on 24 Feb 2020
Hi, I trying to make a simple program, I would like to know how to make this
syms x; fun=x^2; x0=2;
x=x0; fun
And what a expect in the last line is 4 but I get X^2 How can I convert the sym to a double, I tried with doble(fun).
thank you

Accepted Answer

Walter Roberson
Walter Roberson on 31 Jan 2011
syms x;
fun=x^2;
x0=2;
subs(fun,x,x0)
double(ans)

More Answers (3)

Behrooz Shahsavari
Behrooz Shahsavari on 29 Dec 2013
If you want to evaluate that symbolic function in a large number of points (e.g. x = 1:10000), an effective way is to convert it to a MATLAB function handle as follows:
x0 = 1:10000; % Assume that we want to evaluate the function in these points
FUN = matlabFunction(fun); % This creates a function handle
y = feval(FUN, x0); % Evaluates the new function handle at the specified points
  1 Comment
Zhe Chen
Zhe Chen on 24 Feb 2020
matlabFunction is a very useful function.

Sign in to comment.


Paulo Silva
Paulo Silva on 31 Jan 2011
try this way
fun=inline('x^2')
x0=2
fun(x0)

Julio Cesar
Julio Cesar on 31 Jan 2011
thank you!!! both work great :D

Community Treasure Hunt

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

Start Hunting!