(* SYMBOLISCHE MATHEMATIK, BEISPIEL 1, LÖSUNG HELMUT HÖRNER *)

(* Definiere DGL inkl. allgemeinen Randbedingungen ("Kraft ist Masse mal Beschleuigung")*) 
dgl = {m x''[t]== -g m,x[0]==h,x'[0]==v0}

(* Ermittle allgemeine Bewegungsgleichung aus DGL *)
bwgl=DSolve[dgl,x[t],{t}]//Flatten //Expand

(* Neue Funktion pos1: Position des hochgeworfenen Steins, abhängig von t, h, v0 *)
pos1[t_, h_, v0_]= x[t]/.bwgl/.{g->9.81}//Expand

(* Neue Funktion pos2: Position des fallengelassenen Steins, abhängig von t, h, v0 und Startzeit *)
pos2[t_, h_, v0_, startzeit_]=If[t<startzeit,h,pos1[t-startzeit, h, v0]]//Expand

(* Plot der zwei Bahnen mit konkreten Werten für g=9,81, vo=30 bzw. 0, h=200 (angenomen) und Startzeit 4s*)
Plot[{pos1[t,200,30], pos2[t,200,0,4]},{t,0,10.5}]

(*"Wann holt der 1. Stein den 2. Stein ein?" *)
Solve[{pos1[t,h,30]== pos2[t,h,0,4],t>0},{t}]

(*Wie hoch muss das Gebäude sein, wenn der erste Stein 0.5s vor dem 2. Stein auf der Erde auftrifft?*)

hoehe= h /.Solve[{pos1[t,h,30]==0, pos2[t+0.5,h,0,4]==0,t>0},{t,h}]

(* Verwandle Liste in Wert *)
hoehe=hoehe[[1]]

Plot[{pos1[t,hoehe,30], pos2[t,hoehe,0,4]},{t,0,15}]

Plot[{pos1[t,hoehe,30], pos2[t,hoehe,0,4]},{t,13.5,14.5}]

(*Berechnen Sie für die Gebäudehöhe aus b): Nach welcher Zeit müsste man den 2. Stein fallenlassen, damit beide gleichzeitig am Erdboden auftreffen? *)

(* Berechnung der Startzeit (bei beibehaltung der Höhe aus vorherigenm Beispiel), bei der beide Steine gleichzeitig die Höhe 0 erreichen *)
neueStartzeit=tStart /.Solve[{pos1[t,hoehe,30]==0, pos2[t,hoehe,0,tStart]==0,t>0},{t,tStart}]

(* Verwandle Liste in Wert *)
neueStartzeit=neueStartzeit[[1]]

Plot[{pos1[t,hoehe,30], pos2[t,hoehe,0,neueStartzeit]},{t,0,15}]