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

 Respuesta aceptada

madhan ravi
madhan ravi el 19 de Oct. de 2020
Editada: madhan ravi el 19 de Oct. de 2020
>> a
a =
2
>> b
b =
4
>> syms x
f(x) = a*b + b*x
f(x) =
4*x + 8
>>

4 comentarios

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

Iniciar sesión para comentar.

Más respuestas (1)

Stephan
Stephan el 19 de Oct. de 2020
Editada: Stephan el 19 de Oct. de 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 comentarios

Guillem Campins
Guillem Campins el 19 de Oct. de 2020
Thanks very much!
Stephan
Stephan el 19 de Oct. de 2020
Editada: Stephan el 19 de Oct. de 2020
Did you notice that you can accept and/or vote for useful answers?

Iniciar sesión para comentar.

Categorías

Más información sobre Symbolic Math Toolbox en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 19 de Oct. de 2020

Editada:

el 19 de Oct. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by