 |
 |
 |
 |
|
 |
 |
 |
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
|
 |
 |
 |
|
 |
 |
 |
 |
 |
 |
 |
 |
 |
|
|
 |
|
|
|
 |
|
|
|
|
|
|
Anfangswertproblem, Lösung mit Maple (Student Michael Welsch, HAW Hamburg)
|
|
|
|
|
|
Die skizzierte Masse m ist durch eine Feder gefesselt und kann
sich auf der horizontalen Führung reibungsfrei bewegen. Sie ist durch eine (lineare) Feder gefesselt, die im entspannten Zustand die Länge b hat. Die Masse wird um xanf ausgelenkt und zum
Zeitpunkt t = 0 ohne Anfangsgeschwindigkeit freigelassen. Für das Zeitintervall 0 ≤ t ≤ 30 s sollen das Weg-Zeit-Gesetz und das
Geschwindigkeits-Zeit-Gesetz berechnet und graphisch dargestellt werden. Ort und Geschwindigkeit der Masse am Ende des Zeitintervalls sind anzugeben.
Geg.: m = 10 kg ; c = 5 N/m ; a = 0,4 m ; b = 0,8 m .
Die Bewegungsdifferenzialgleichung
ist numerisch für die Anfangsbedingungen
xanf,1 = - 2000 mm , xanf,2 = - 1000 mm , xanf,3 = - 1131,5 mm
zu lösen.
Student Michael Welsch lieferte das folgende (hier leicht modifizierte) Maple-Skript für die Lösung der Aufgabe mit dem
klassischen Runge-Kutte-Verfahren 4. Ordnung mit konstanter Schrittweite (rk4) und dem Maple-Standard-Solver “Runge-Kutta-Fehlberg” (rkf45)
|
|
|
|
|
> restart; > with(plots); > Dgl:= m*diff(x(t),t,t) +c*x(t)*(1-b/(sqrt(x(t)^2+a^2))) = 0;
> m:=10;c:=5;a:=0.4;b:=0.8; > ic1 := x(0) = -1.1315, D(x)(0) = 0; > dsolve_ode45 := dsolve({Dgl,ic1}, numeric, range=0..30); > dsolve_ode45(30);
> dsolve_Runge_Kutta := dsolve({Dgl,ic1},method=classical[rk4], numeric,stepsize=0.015,maxfun=0); > dsolve_Runge_Kutta(30); > odeplot(dsolve_ode45); > odeplot(dsolve_Runge_Kutta,t=0..30);
|
|
|
|
|
Die Ergebnisse sind bei einer Schrittweite von 0.015 s (2000 Zeitschritte) mit dem Runge-Kutta-Verfahren 4. Ordnung praktisch exakt (im Sinne der für Ingenieur-Probleme schon übertriebenen Genauigkeit von 5 signifikanten Ziffern für Weg und Geschwindigkeit am Ende des Integrationsbereichs). Die Ergebnisse, die mit dem Runge-Kutta-Fehlberg-Verfahren berechnet werden, zeigen kleine Abweichungen. Für die Bewegung mit der Anfangsbedingung x = 1,1315 m,
bei der die Masse in der Nähe von x = 0 vorübergehend fast zur Ruhe kommt, sind die Abweichungen am größten (nebenstehendes Bild), bleiben allerdings in durchaus erträglichen Grenzen.
|
|
|
 |
|
|
|
|
|
 |
|
|
Herr Welsch fand aber eine Anfangsbedingung für einen noch härteren Test: xanf = 1,1313705. Mit dieser Anfangsbedingung sind beim Runge-Kutta-Verfahren 4. Ordnung mit 12000 Schritten sehr genaue Ergebnisse zu erzielen, während die Standard-Rechnung mit rkf45 einen falschen Bewegungsverlauf abliefert (nebenstehendes Bild).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lösung der Zusatzaufgabe (J. Dankert): Man kann mit einer Energiebetrachtung die Anfangsbedingung exakt ermitteln, bei der theoretisch der Stillstand bei x = 0 eintreten müsste. In beiden Zuständen ist nur Energie in der Feder gespeichert. Gleichsetzen der Energien entsprechend
liefert neben der trivialen Lösung x0 = 0 zwei weitere Lösungen:
Mit den gegebenen Werten für a und b erhält man also z. B. mit x0 = - 1,13137084989848 m eine etwas größere
Anfangsauslenkung für diesen Spezialfall als die, die Herr Welsch für seine Rechnung verwendet hat, so dass klar ist, dass
bei der geringeren Anfangsfederspannung (die oben zu sehenden Bewegungsgesetze der Maple-Rechnung) die Masse den Nullpunkt nicht passieren darf.
Auch wenn man die Maple-Rechnung mit dem Anfangswert x(0) = 2*b*sqrt(1-a/b) startet, bleibt die Masse selbst bei
feinster Einteilung des Integrationsintervalls nicht länger als etwa bis t = 30 s in Ruhe, was nicht dem Integrationsverfahren
anzulasten ist, sondern der internen Darstellung der Zahlen mit begrenzter Länge.
|
|
|
|
Homepage
|
|
|
|
www.D@nkert.de
|
|
|
 |
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
D
|
 |
|
nkert.de
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|