Re: Ball Rolling down on Cosh[t] Path
- To: mathgroup at smc.vnet.net
- Subject: [mg36730] Re: Ball Rolling down on Cosh[t] Path
- From: "Borut L" <gollum at email.si>
- Date: Sat, 21 Sep 2002 02:21:54 -0400 (EDT)
- References: <ambv6f$r44$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Having noticed your statement " ... BEYOND MY MEANS " I thing you aren't yet familiar with Lagrangian formalism. It's quite easy to derive a general equation of motion for a point mass, subjected to gravity and to moving on a curve f = y(x) (i.e. f = Cosh[#]&). 1) I'll leave re-deriving equation to you, here is what I've got (just copy paste it).: \!\(getEq[ f_] := \[IndentingNewLine]\(x''\)[ t] + \(x'\)[t]\^2\ \(2\ \(f'\)[x[t]]\ \(f''\)[x[t]]\)\/\(1 + \(f'\ \)[x[t]]\^2\) + \(g\ \(f'\)[x[t]]\)\/\(1 + \(f'\)[x[t]]\^2\) == 0 /. g -> 1\) 2) Next, you integrate it .: getSol[f_, x0_] := Module[{tStop}, NDSolve[{getEq[f], x[0] == x0, x'[0] == 0} , x , {t, 0, 10} , MaxStepSize -> 1/100 , StoppingTest :> If[x0 < 0, x > 0, x < 0] ] // First ] 3) Here follows animation code, specially for linear versus cosh case, apply my initial conditions (below) makeDuo[f_, g_, x0_, fpt_] := Module[{ solf = getSol[f, x0], solg = getSol[g, x0], tf, tg, maxT, minT }, tf = solf[[1, 2, 1, 1, 2]]; tg = solg[[1, 2, 1, 1, 2]]; maxT = Max[{tf, tg}]; minT = Min[{tf, tg}]; Do[ Plot[{f@x, g@x} , {x, 0, x0} , AspectRatio -> Automatic , Frame -> True , Axes -> False , Epilog -> { AbsolutePointSize[10], Hue[0], Point[{x[t], f@x[t]} /. solf], Hue[.6], Point[{x[t], g@x[t]} /. solg] } ] , {t, 0, minT, minT/fpt} ] ] 4) My initial conditions. In my opinion, you weren't true on this. Saying " STARTING FROM THE SAME HEIGHT " is not enough - you should specify x as well, thus specifing starting POINT and not just height y. makeDuo[(Cosh[1.] - 1) # &, Cosh[#] - 1 &, 1, 23] Feel free to modify the code, it should be easy. bye, Borut <Matthias.Bode at oppenheim.de> wrote in message news:ambv6f$r44$1 at smc.vnet.net... | Dear Colleagues, | | I intend to make an animation in which | | ball A rolls down on an inclined plane from the left whilst | | ball B - starting from the same height - rolls down Cosh[t]'s path from the | right. | | x-axis is time t, y-axis is height h. | | Ball A is fine; ball B - which should arrive at h=0 before A - is beyond my | means. | | Thank you for your consideration, | | Matthias Bode | Sal. Oppenheim jr. & Cie. KGaA | Koenigsberger Strasse 29 | D-60487 Frankfurt am Main | GERMANY | Tel.: +49(0)69 71 34 53 80 | Mobile: +49(0)172 6 74 95 77 | Fax: +49(0)69 71 34 95 380 | E-mail: matthias.bode at oppenheim.de | Internet: http://www.oppenheim.de | |