
Re: Solving a simple differential equation
Posted:
Feb 5, 2007 4:30 AM


sg552@hotmail.co.uk wrote:
> On 5 Feb, 08:22, Han de Bruijn <Han.deBru...@DTO.TUDelft.NL> wrote: > >>lugit...@gmail.com wrote: >> >>>Solve the following differential equation: >>>x''+(c/x^2)=0 >>>Solve for x in terms of t. >> >>Are you kidding? This is the same as your "Simple Physics Question". >>All answers have been given in that thread, mainly by the author who >>calls himself Rotwang (s...@hotmail.co.uk). > > Thanks for the namecheck, though the truth is that I never gave an > actual solution to the above equation. In fact the post to which you > are replying came before the "Simple Physics Question" thread, in > which the author wrote, "I asked this question before but I think I > phrased it incorrectly."; in the later thread the OP only asks for the > time at which x=0, which I got without solving the e.o.m. for x. The > lesson for the OP if he's still reading is that the most obvious way > of solving a problem is not always the easiest...
Anyway, your arrival time is correct. But *I* have made another mistake while attempting to prove it in "Simple Physics Question". This is the big picture:
t = T < v t = 0 M  R  m x = 0 x > x = R
The boundary condition (v = 0) for (t = 0) is guaranteed by:
v^2/2 = GM/x  GM/R ==> dx/dt =  sqrt(2.GM/x  2.GM/R)
Where a minus sign corrects the error I've made. The right time is:
t = sqrt(R^3/(2.GM)) [sqrt(x/R.(1x/R))  arcsin(2.x/R1)/2 + pi/4]
Where (t = 0) for (x = R) : the other boundary condition.
Only _now_ leading to your correct arrival time (T) for (x = 0).
This has been programmed in Delphi Pascal (following an advice from
http://groups.google.nl/group/sci.math/msg/cce526ef98a2b8e9?hl=nl&
for coding the ArcSin function: )
function ArcSin(x : double) : double; begin ArcSin := 2 * ArcTan(x/(1+Sqrt(1x*x))); end;
procedure TForm1.tekenen(Sender: TObject); { Drawing } var W,H,k : integer; r,t,p : double; begin W := Form1.Image1.Width1; H := Form1.Image1.Height1; for k := 0 to H do begin r := 1k/H; t := sqrt(r*(1r))  ArcSin(2*r1)/2 + pi/4; p := 2*t/pi*W; with Form1.Image1.Canvas do if k = 0 then MoveTo(Round(p),k) else LineTo(Round(p),k); end;
end;
Giving x(t) as a function of (t), visualized in a graph:
http://hdebruijn.soo.dto.tudelft.nl/jaar2007/rotwang.jpg
It is seen that the velocity becomes infinite near arrival.
Hope I've made no further mistakes this time.
Han de Bruijn

