Evaluate Sym values

165 次查看(过去 30 天)
Julio Cesar
Julio Cesar 2011-1-31
评论: Zhe Chen 2020-2-24
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

采纳的回答

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

更多回答(3 个)

Behrooz Shahsavari
Behrooz Shahsavari 2013-12-29
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

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

Julio Cesar
Julio Cesar 2011-1-31
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!

Translated by