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 日

8 投票

syms x;
fun=x^2;
x0=2;
subs(fun,x,x0)
double(ans)

その他の回答 (3 件)

Behrooz Shahsavari
Behrooz Shahsavari 2013 年 12 月 29 日

11 投票

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 件のコメント

Zhe Chen
Zhe Chen 2020 年 2 月 24 日
matlabFunction is a very useful function.

サインインしてコメントする。

Paulo Silva
Paulo Silva 2011 年 1 月 31 日

1 投票

try this way
fun=inline('x^2')
x0=2
fun(x0)
Julio Cesar
Julio Cesar 2011 年 1 月 31 日

1 投票

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