How do I simplify the values of a function?

Hi! I want to calculate a function, lets say f(x), that for example, may have the definition f(x) = a*b + b*x, where "a" and "b" are known values in my workspace. I want MATLAB to simplify this function for me. For example, if a = 2 and b = 4, I would like to get f(x) = 8+4x. I know I can define this function as an anonymous function, but that doesn't simplify the function, it simply states it. How can I get the function in a simplified way?
Thanks in advance

 Réponse acceptée

madhan ravi
madhan ravi le 19 Oct 2020
Modifié(e) : madhan ravi le 19 Oct 2020
>> a
a =
2
>> b
b =
4
>> syms x
f(x) = a*b + b*x
f(x) =
4*x + 8
>>

4 commentaires

I think you maybe looking for subs() to substitute the values.
doc subs
That doesn't work for me, it complains that x is not defined.
madhan ravi
madhan ravi le 19 Oct 2020
Check the edited code.
Great! Thanks very much

Connectez-vous pour commenter.

Plus de réponses (1)

Stephan
Stephan le 19 Oct 2020
Modifié(e) : Stephan le 19 Oct 2020
Can be done with symbolic toolbox - matlabFunction returns an anonymous function the way you want:
syms x
% known constants
a = 2;
b = 4;
% equation as symbolic
eq = a*b + b*x;
% create function handle
fun = matlabFunction(eq)
result:
fun =
function_handle with value:
@(x)x.*4.0+8.0

2 commentaires

Thanks very much!
Stephan
Stephan le 19 Oct 2020
Modifié(e) : Stephan le 19 Oct 2020
Did you notice that you can accept and/or vote for useful answers?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Symbolic Math Toolbox dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by