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

 采纳的回答

>> a
a =
2
>> b
b =
4
>> syms x
f(x) = a*b + b*x
f(x) =
4*x + 8
>>

4 个评论

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.
Check the edited code.

请先登录,再进行评论。

更多回答(1 个)

Stephan
Stephan 2020-10-19
编辑:Stephan 2020-10-19
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 个评论

Did you notice that you can accept and/or vote for useful answers?

请先登录,再进行评论。

类别

产品

Community Treasure Hunt

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

Start Hunting!

Translated by