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
-------------------------------------------------------------