Factorization With Symbolic Terms

69 vues (au cours des 30 derniers jours)
Giulio Cesare Mastrocinque Santo
Commenté : madhan ravi le 25 Nov 2018
Hello! Does any one knows how can I group a specific term in a long equation?
For example, imagine i have the equation , which is equivalent to .
If I use the factor function, I obtain:
syms x
eq = x^2 + 6*x + 9
factor(eq,x)
ans = [ x + 3, x + 3]
However, I want to group those terms inside the eq itself, so I can keep manipulating the symbolic expression (eq = (x+3)^2). I am asking these because I am solving a Lagrange equation and I need to group the terms in the forma (x + y) and (x - y). Once they are grouped, I want to make a variable change: subs(eq,(x+y),z) and subs(eq,(x-y),w).
Thanks a lot!
  1 commentaire
madhan ravi
madhan ravi le 24 Nov 2018
eq = x^2 + 6*x + 9 -> should be 9 not 3

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 25 Nov 2018
simplify() can handle some cases. However it is not sophisticated so while it might find x^2+6*x+9 it will certainly not find x^2+6*x+11 = (x+3)^2+2
subs will also not dig out opportunities for substitution . subs(5*xx+5*yy,xx+yy,zz) will not notice the opportunity as it looks for exact node matches.
So generally you would proceed like
simplify(subs(TheExpression, y, z-x))
  1 commentaire
Giulio Cesare Mastrocinque Santo
Thanks a lot for your help!

Connectez-vous pour commenter.

Plus de réponses (1)

madhan ravi
madhan ravi le 24 Nov 2018
Modifié(e) : madhan ravi le 25 Nov 2018
AFAIK - I don't think there is a possibility to do that in symbolic math toolbox
After all the struggles: see isequaln()
eq=x^2 + 6*x + 9
s=factor(eq)
if isequaln(s(1),s(2)) %assuming only two factors
result=s(1)*s(2);
else
result = s;
end
  2 commentaires
Giulio Cesare Mastrocinque Santo
That works too! Thanks a lot for your answer!
madhan ravi
madhan ravi le 25 Nov 2018
Anytime :) , you can vote for the answer if it was helpful.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by