How to Make Complex Symbolic Variable Change?

15 vues (au cours des 30 derniers jours)
Giulio Cesare Mastrocinque Santo
Modifié(e) : madhan ravi le 24 Nov 2018
Hello! Imagine I have a very long equation with many variables, like the example bellow
eq = 0.001*(wr + wl) + 2*z + 1.5*z == -2wp
How can I force matlab to make the following change of variable:
Y = 0.1*(wr + wl) ?
I mean, I need matlab to group the equation (eq) into 0.1*(wr + wl) and replace those terms by Y. In the example above, the result should be:
eq = 0.01*Y + 2*z + 1.5*z == -2wp
Thanks a lot!

Réponse acceptée

madhan ravi
madhan ravi le 24 Nov 2018
Modifié(e) : madhan ravi le 24 Nov 2018
>> syms wr wl z wp Y
eq = 0.001*(wr + wl) + 2*z + 1.5*z == -2*wp
eq=subs(eq,0.001*(wr+wl),0.01*Y)
eq =
wl/1000 + wr/1000 + (7*z)/2 == -2*wp
eq =
Y/100 + (7*z)/2 == -2*wp
>> vpa(eq)
ans =
0.01*Y + 3.5*z == -2.0*wp
>>
  3 commentaires
Giulio Cesare Mastrocinque Santo
Your idead pointed me to the right solution! Thanks a lot! I just need to do the opposit:
syms wr wl z wp Y x
eq = 0.001*(wr + wl) + sin(2*x)*2.5*(wr + wl)^2 + 0.9*(wr + wl)^2 + 2*z + 1.5*z == -2*wp
subs(eq,(wr+wl),Y/0.1)
madhan ravi
madhan ravi le 24 Nov 2018
Modifié(e) : madhan ravi le 24 Nov 2018
Anytime :)

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by