RE: trouble with pattern matching & manipulating
- To: mathgroup at smc.vnet.net
- Subject: [mg37075] RE: [mg37013] trouble with pattern matching & manipulating
- From: "DrBob" <drbob at bigfoot.com>
- Date: Tue, 8 Oct 2002 07:17:37 -0400 (EDT)
- Reply-to: <drbob at bigfoot.com>
- Sender: owner-wri-mathgroup at wolfram.com
Here's a more intuitive method, perhaps: a + b/c + d*(Sqrt[e]/c) == 0 f = %[[1, 3]] %% /. f -> g First@Solve[%, g] f^2 == (g^2 /. %) However, it occurs to me you might want a more general method to collect a radical on one side and then square both sides. If so, here's a clumsy first attempt: expr = a + b/c + d*(Sqrt[e]/c) == 0 f = First@Cases[expr, Power[a_, Rational[b_, c_]], Infinity] power = First@Cases[f, Rational[b_, c_] -> Rational[c, b], Infinity] coefficient = First@Cases[expr, Times[a_, f] -> a, Infinity] Solve[expr /. coefficient f -> g, g][[1, 1]] g^2 == (g^2 /. %) % /. g -> coefficient f DrBob -----Original Message----- From: DrBob [mailto:drbob at bigfoot.com] To: mathgroup at smc.vnet.net Subject: [mg37075] RE: [mg37013] trouble with pattern matching & manipulating Try this: A + B/C + D*(Sqrt[E]/C) == 0 (#1 - %[[1,{1, 2}]] & ) /@ % (C*#1 & ) /@ % (#1^2 & ) /@ % Simplify[%] Also, be aware that E is the natural logarithm base, reserved for that purpose. DrBob -----Original Message----- From: Troy Goodson [mailto:Troy.D.Goodson at jpl.nasa.gov] To: mathgroup at smc.vnet.net Subject: [mg37075] [mg37013] trouble with pattern matching & manipulating I'm a newbie and, of course, the first thing I want to do is apparently one of the most complicated... I have an expression that looks like this: A + B/C + D*Sqrt[E]/C = 0 A,B,C,D, & E are all polynomials in x I want it to look like this (D^2)*E = (A*C + B)^2 At that point, I'll have polynomials in x on both sides. Finally, I want the equation to be written out with terms grouped by powers of x, but I think I can do that part :) I'll be very grateful to anyone who can give me some pointers. Or, at least point me to some tutorial in the Mathematica documentation. I've been looking over the documentation and I found Appendix A.5 in The Mathematica Book, but that doesn't help me. I _need_ some examples. I did find a couple of well-written posts in this newsgroup, but not quite close enough to what I want. Thanks! Troy. =-=-=-=-=-=-=-=-=-= FYI, here's the expression I'm working with. denom = Sqrt[(B^2 - r^2)^2 + 4*(r^2)*(b^2)] cnu = (2*b^2 - B^2 + r^2)/denom snu = -2*b*Sqrt[B^2 - b^2]/denom sif = 2*r*b/denom cif = (r^2 - B^2)/denom pdr = -Cos[ds]*Sin[q]*(snu*cif + cnu*sif) - Sin[ds]*(cnu*cif - snu*sif) 0 == -(B^2 - b^2)*V^2/(r^2) + (((B*V)^2)/( r^2) - 2*w*b*V*Cos[q]*Cos[ds] + (w* r)^2 - (w*r*pdr)^2)*(Cos[qr])^2 Although I said it's a polynomial in x, it's really a polynomial in "b" that I'm after.