Is there any way to get numerical result from symbolic function?

105 次查看(过去 30 天)
Hi,
I have a smybolic function created by syms command and at the next steps in my code, i should get numerical output by using this function. To do this operation, i copy the symbolic function from workspace and paste my editor. This is too long method and easy to make mistake. So, i have to use symbolic function directly.
What kind of methods can i use for this operation? Do you have any example about this?
Thx!

采纳的回答

Ameer Hamza
Ameer Hamza 2020-10-30
编辑:Ameer Hamza 2020-10-30
If you have a symbolic function, you can directly evaluate by giving the input. For example
syms x
y(x) = x.^2 + 2*x + 3; % symbolic function
Then run the following
>> y(3)
ans =
18
>> y(100)
ans =
10203
If you want output in floating-point format, you can use double()
double(y(100))
If you have a symbolic expression, then you can use subs()
syms x
y = x.^2 + 2*x + 3; % symbolic expression
and then run
>> subs(y, x, 3)
ans =
18
>> subs(y, x, 100)
ans =
10203

更多回答(2 个)

KSSV
KSSV 2020-10-30
You can substitute a variable value in the syms using subs and then use double, vpasolve to convert into numerica array.
Read about subs, double.

Walter Roberson
Walter Roberson 2020-10-30
Use matlabFunction to convert the expression into a numeric function.

Community Treasure Hunt

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

Start Hunting!

Translated by