Re: 2 coupled diff. eqns
- To: mathgroup at smc.vnet.net
- Subject: [mg21145] Re: 2 coupled diff. eqns
- From: Bojan Bistrovic <bojanb at physics.odu.edu>
- Date: Fri, 17 Dec 1999 01:21:47 -0500 (EST)
- Organization: Old Dominion Universityaruba
- References: <831vap$g58@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Henk Jansen wrote: > > I have the following set of two coupled differential equations: > > c f > f' = a - ---------------- > ___________ > \ / 2 2 > \/ f + g > > c g > g' = b - ---------------- > ___________ > \ / 2 2 > \/ f + g > > where a, b and c are constants. Trying to solve this system (if > possible), after typing > > DSolve[ > {D[f[t], t] == a - (w f[t])/(Sqrt[f[t]^2 + g[t]^2])\), > D[g[t], t] == b - (w g[t])/(Sqrt[f[t]^2 + g[t]^2])\) > }, > {f[t], g[t]}, > t] > > Mathematica returns with the following message: > > "Part::partw: Part 2 of g'[f] does not exist." > > without solution. I have two questions: > > 1. Does anyone know how to interprete this message? > > 2. If the system is not solvable, is there a clever coordinate > transformation for which the system can be solved? > > Thanks, > > Henk Jansen > Hi. I have no idea about 1.; it appears to be a bug (at least to me). As for 2., yes, there's a relatively good coordinate transforamtion. Whenever you have something like Sqrt[f^2+g^2] it's ALWAYS a good idea to try a transformation to polar coordinates : f[t] = R[t] Cos[T[t]] g[t] = R[t] Sin[T[t]] This eliminates the squre root; the price you have to pay are the trigonometric functions. After taking the derivate of the transforamtion you get f'[t] = R'[t] Cos[T[t]] + R[t] T'[t] Sin[T[t]] g'[t] = R'[t] Sin[T[t]] - R[t] T'[t] Cos[T[t]] Put these back into your original equations and you already have something mathematica might solve (meaning, you'll get an output; I have no idea will it be usefull). There's however even better thing to do: Multiply the first equation by Cos[T[t]] and the second by Sin[T[t]] and add them. You get one equation; then multiply again the first one with Sin[T[t]] and the second one wiht Cos[T[t]] and substract the second one from the first one. You get the new systme which looks much nicer: R'[t] = a Cos[T[t]] + b Sin[T[t]] - w R[t] T'[t] = a Sin[T[t]] - b Cos[T[t]] Putting this into DSolve will still give you some kind of a solution for R[t] and something not wuite readable for T[t] It's not an ideal solution but I hope it helps -- ------------------------------------------------------------- Bojan Bistrovic, bojanb at physics.odu.edu Old Dominion University, Physics Department, Norfolk, VA -------------------------------------------------------------