# How to change a Function by a Variable

3 views (last 30 days)
ercan duzgun on 10 Jan 2021
Commented: ercan duzgun on 10 Jan 2021
How can I change a MATLAB function with a variable? (They are symbolic equations.)
Assume that I have an equation of "A*sin(phi)+B*cos(phi)". I want to replace "sin(phi)" by "2*x/(1+x^2)" , and "cos(phi)" should by replaced by "2*x/(1+x^2)" ? (Notice that x=tan (phi/2) , therefore sin(phi)=2*x/(1+x^2), and cos(phi)=2*x/(1+x^2) ) .
The final symboic equation should look :
"A*2*x/(1+x^2) + B*2*x/(1+x^2)"
syms A B phi x
equation_current=A*sin(phi)+B*cos(phi)
% ??? Some unknown operations ???
equation_new=A*2*x/(1+x^2) + B*2*x/(1+x^2)

Mischa Kim on 10 Jan 2021
Edited: Mischa Kim on 10 Jan 2021
Ercan, here you go, for the first term:
syms phi x A B
eq = A*sin(phi) + B*cos(phi)
eq = subs(eq,sin(phi),2*x/(1+x^2))
ercan duzgun on 10 Jan 2021
Dear Mischa Kim,
Thank you very much. It works. I wasn't aware of this command. Thank you.

R2019b

### Community Treasure Hunt

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

Start Hunting!