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

 채택된 답변

madhan ravi
madhan ravi 2020년 10월 19일
편집: madhan ravi 2020년 10월 19일

0 개 추천

>> 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.
madhan ravi
madhan ravi 2020년 10월 19일
Check the edited code.
Great! Thanks very much

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephan
Stephan 2020년 10월 19일
편집: Stephan 2020년 10월 19일

0 개 추천

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

Thanks very much!
Stephan
Stephan 2020년 10월 19일
편집: Stephan 2020년 10월 19일
Did you notice that you can accept and/or vote for useful answers?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

제품

질문:

2020년 10월 19일

편집:

2020년 10월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by