Re: Simplification de formule/ Simplification of formula
- To: mathgroup at smc.vnet.net
- Subject: [mg124422] Re: Simplification de formule/ Simplification of formula
- From: "Dr. Wolfgang Hintze" <weh at snafu.de>
- Date: Thu, 19 Jan 2012 05:10:38 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jf696v$gdp$1@smc.vnet.net>
> I want to simplify this formula : This is obviously a good idea and a good excercise if it comes to obtaining an overview over a confusing looking expression. You cannot expect fully automatic simplification, since it was not clearly stated which should be the desired form. So it will be a dialog between you and Mathematica. I suggest to first to make some replacements to get better readability (you can undo them in the end). Then recognising the structure by eye it will almost become obvious which commands to choose. Ok, let's do it! 1) Let your expression be x = -((DK*Pv2*Cos[a2 - alpha3]*Cos[aV2]*Sin[a2 - aV2])/(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3])) + (KF*Pv2*Cos[aV2]*Sin[a2 - alpha3]*Sin[a2 - aV2])/(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3]) - (DG3*P3*Sin[alpha3]*Sin[a2 - aV2])/(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3]) - (DK*FV2*Pv2*Cos[a2 - alpha3]*Cos[a2 - aV2]*Sin[aV2])/ (L2*(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3])) + (FV2*KF*Pv2*Cos[a2 - aV2]*Sin[a2 - alpha3]*Sin[aV2])/ (L2*(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3])) - (KF*Pv2*Cos[a2 - alpha3]*Sin[a2 - aV2]*Sin[aV2])/(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3]) + (FV2*KF*Pv2*Cos[a2 - alpha3]*Sin[a2 - aV2]*Sin[aV2])/(L2*(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3])) - (DK*Pv2*Sin[a2 - alpha3]*Sin[a2 - aV2]*Sin[aV2])/(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3]) + (DK*FV2*Pv2*Sin[a2 - alpha3]*Sin[a2 - aV2]*Sin[aV2])/ (L2*(DK*Cos[a2 - alpha3] - KF*Sin[a2 - alpha3])) 2) Replacements x1 = x /. {a2 -> a, alpha3 -> b, aV2 -> c, DK -> A, Pv2 -> B, KF -> U, DG3 -> V, P3 -> W, FV2 -> X, L2 -> Y} -((A*B*Cos[a - b]*Cos[c]*Sin[a - c])/(A*Cos[a - b] - U*Sin[a - b])) + (B*U*Cos[c]*Sin[a - b]*Sin[a - c])/(A*Cos[a - b] - U*Sin[a - b]) - (V*W*Sin[b]*Sin[a - c])/(A*Cos[a - b] - U*Sin[a - b]) - (A*B*X*Cos[a - b]*Cos[a - c]*Sin[c])/(Y*(A*Cos[a - b] - U*Sin[a - b])) + (B*U*X*Cos[a - c]*Sin[a - b]*Sin[c])/(Y*(A*Cos[a - b] - U*Sin[a - b])) - (B*U*Cos[a - b]*Sin[a - c]*Sin[c])/(A*Cos[a - b] - U*Sin[a - b]) + (B*U*X*Cos[a - b]*Sin[a - c]*Sin[c])/(Y*(A*Cos[a - b] - U*Sin[a - b])) - (A*B*Sin[a - b]*Sin[a - c]*Sin[c])/(A*Cos[a - b] - U*Sin[a - b]) + (A*B*X*Sin[a - b]*Sin[a - c]*Sin[c])/(Y*(A*Cos[a - b] - U*Sin[a - b])) By the way, this expression looks much nicer in Mathematica than in this mail here. 3) Seeing the common denominator we tell Mathematica to extract it x2 = Collect[x1, A*Cos[a - b] - U*Sin[a - b]] (1/(A*Cos[a - b] - U*Sin[a - b]))*((-A)*B*Cos[a - b]*Cos[c]*Sin[a - c] + B*U*Cos[c]*Sin[a - b]*Sin[a - c] - V*W*Sin[b]*Sin[a - c] - (A*B*X*Cos[a - b]*Cos[a - c]*Sin[c])/Y + (B*U*X*Cos[a - c]*Sin[a - b]*Sin[c])/Y - B*U*Cos[a - b]*Sin[a - c]*Sin[c] + (B*U*X*Cos[a - b]*Sin[a - c]*Sin[c])/Y - A*B*Sin[a - b]*Sin[a - c]*Sin[c] + (A*B*X*Sin[a - b]*Sin[a - c]*Sin[c])/Y) Again this expression looks much nicer in Mathematica than in this mail here. 4) Trying to extrax 1/Y using collect didn't improve things so we try a Simplify in the end x3 = Simplify[x2] -((1/(2*Y*(A*Cos[a - b] - U*Sin[a - b])))*(B*U*X*Cos[2*a - b] - B*U*Y*Cos[b] - B*U*X*Cos[2*a - b - 2*c] + B*U*Y*Cos[2*a - b - 2*c] + V*W*Y*Cos[a - b - c] - V*W*Y*Cos[a + b - c] + A*B*X*Sin[2*a - b] + A*B*Y*Sin[b] - A*B*X*Sin[2*a - b - 2*c] + A*B*Y*Sin[2*a - b - 2*c])) This seems to be a rather good result: - one common denominator extracted - all terms in the big bracket have the same structure A*B*C Trig[...] - angles collected under the Trigfunctions PS: here is a little additional exercise: how would you invert the replacements 2) efficiently? Hope this helps Best regards, Wolfgang "Nicolas Simon" <nicodumonastal at gmail.com> schrieb im Newsbeitrag news:jf696v$gdp$1 at smc.vnet.net... > > Hi ! > > I want to simplify this formula : > > -((DK Pv2 Cos[a2 - alpha3] Cos[aV2] Sin[a2 - aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])) + ( > KF Pv2 Cos[aV2] Sin[a2 - alpha3] Sin[a2 - aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3]) - ( > DG3 P3 Sin[alpha3] Sin[a2 - aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3]) - ( > DK FV2 Pv2 Cos[a2 - alpha3] Cos[a2 - aV2] Sin[aV2])/( > L2 (DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])) + ( > FV2 KF Pv2 Cos[a2 - aV2] Sin[a2 - alpha3] Sin[aV2])/( > L2 (DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])) - ( > KF Pv2 Cos[a2 - alpha3] Sin[a2 - aV2] Sin[aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3]) + ( > FV2 KF Pv2 Cos[a2 - alpha3] Sin[a2 - aV2] Sin[aV2])/( > L2 (DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])) - ( > DK Pv2 Sin[a2 - alpha3] Sin[a2 - aV2] Sin[aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3]) + ( > DK FV2 Pv2 Sin[a2 - alpha3] Sin[a2 - aV2] Sin[aV2])/( > L2 (DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])). > > By manually regrouping the terms, the denominator disappears for a > large number of fraction but I'm not able to reproduce this result > with Simplify or others Mathematica tools to handle formula. Any > suggestion of how I could do that with Mathematica ? > Thank you for your help ! > > > > > > > > > > Bonjour, > > Je souhaite simplifier cette formule : > > -((DK Pv2 Cos[a2 - alpha3] Cos[aV2] Sin[a2 - aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])) + ( > KF Pv2 Cos[aV2] Sin[a2 - alpha3] Sin[a2 - aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3]) - ( > DG3 P3 Sin[alpha3] Sin[a2 - aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3]) - ( > DK FV2 Pv2 Cos[a2 - alpha3] Cos[a2 - aV2] Sin[aV2])/( > L2 (DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])) + ( > FV2 KF Pv2 Cos[a2 - aV2] Sin[a2 - alpha3] Sin[aV2])/( > L2 (DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])) - ( > KF Pv2 Cos[a2 - alpha3] Sin[a2 - aV2] Sin[aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3]) + ( > FV2 KF Pv2 Cos[a2 - alpha3] Sin[a2 - aV2] Sin[aV2])/( > L2 (DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])) - ( > DK Pv2 Sin[a2 - alpha3] Sin[a2 - aV2] Sin[aV2])/( > DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3]) + ( > DK FV2 Pv2 Sin[a2 - alpha3] Sin[a2 - aV2] Sin[aV2])/( > L2 (DK Cos[a2 - alpha3] - KF Sin[a2 - alpha3])). > > En regroupant les bons termes le d=E9nominateur se simplifie pour un > grand nombres de fractions mais je n'arrive pas a ce r=E9sultat avec > les > outils de simplification (FullSimplify ou Simplify) ou les outils de > manipulations de formule. Est ce que vous auriez une id=E9e de > comment > faire comme pr=E9ciser certains "assumption" dans Simplify ? > Merci de votre aide. >