Zur Startseite |
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Aus der Differenzialgleichung zweiter Ordnung wird durch Einführen einer neuen Variablen ein Differenzialgleichungssystem 1. Ordnung. |
||||||||||||||||||||||||||||||||
Die nachfolgend gelisteten Dateien NlAWP.m und NlAWP_Dgl.m sind zum Download verfügbar: |
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Im Aufruf der Funktion zur Lösung des Anfangswertproblems (farblich hervorgehoben) wird auf die Datei NlAWP_Dgl.m als Ort der Definition des Differenzialgleichungssystems angegeben: |
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
Nach dem Starten von Matlab wird File | Open gewählt und im Fenster “Open” (unter “Dateityp” sollte “All MATLAB Files” eingestellt sein) wird in das Verzeichnis gewechselt, in dem sich die Dateien NlAWP.m und NlAWP_Dgl.m befindem. Doppelklick auf NlAWP.m öffnet die Datei in einem neuen Fenster. In diesem Fenster wird Debug | Run gewählt. Möglicherweise öffnet sich ein Fenster “MATLAB Editor”, in dem man das Angebot “Change MATLAB current directory” annehmen sollte. Danach wird die Rechnung ausgeführt. Die mit subplot ... eingeleitete Zeile am Ende führen zur graphischen Ausgabe der Bewegungsgesetze (nebenstehende Abbildung). Die Masse kommt im negativen Bereich zur Ruhe. Die Endposition entspricht einer statischen Ruhelage des Systems . Bei einer nur geringfügigen Änderung der Anfangsauslenkung von x0 = [2.49 ; 0] ; % Anfangswerte [x ; v] erhält man folgendes Ergebnis (hier wird nur die Weg-Zeit-Funktion gezeigt):
Man sollte noch etwas experimentieren. Mit der Zeile x0 = [2.491 ; 0] ; % Anfangswerte [x ; v] in der Datei NlAWP.m ergibt sich wieder eine Endlage im positiven Bereich. Das nebenstehende Diagramm zeigt dies, und es wird auch deutlich, warum sich bei so geringfügigen Änderungen ganz andere Bewegungsverläufe ergeben: In der Nähe der instabilen statischen Gleichgewichtslage kommt die Masse fast zum Stillstand. Natürlich sind solche Situationen im Bewegungsverlauf ganz besonders kritische Stellen für die Näherungslösung, denn ganz kleine Fehler können zu einem nachfolgend völlig falschen Bewegungsvelauf führen. Deshalb ist für dieses Problem das Setzen der entsprechenden Optionen mit der MATLAB-odeset-Funktion zwingend. Ohne die Zeile options = odeset('MaxStep' , 0.1); kann die MATLAB-ode45-Funktion mit den Standardeinstellungen entsprechend [t x] = ode45 ('NlAWP_Dgl', tspan , x0) ; aufgerufen werden. Dies führt zu falschen Ergebnissen, wie für die nachfolgend gezeigte Rechnung besonders deutlich wird:
|
||||||||||||||||||||||||||||||||
|