Factorization With Symbolic Terms
73 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Giulio Cesare Mastrocinque Santo
el 24 de Nov. de 2018
Comentada: madhan ravi
el 25 de Nov. de 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 comentario
Respuesta aceptada
Walter Roberson
el 25 de Nov. de 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))
Más respuestas (1)
madhan ravi
el 24 de Nov. de 2018
Editada: madhan ravi
el 25 de Nov. de 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 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!