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

110 ビュー (過去 30 日間)
Volkan Yangin
Volkan Yangin 2020 年 10 月 30 日
回答済み: Walter Roberson 2020 年 10 月 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.

カテゴリ

Help Center および File ExchangeConversion Between Symbolic and Numeric についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by