30.11.2012 Aufrufe

Numerische Lösung des mathematischen Pendels mit ...

Numerische Lösung des mathematischen Pendels mit ...

Numerische Lösung des mathematischen Pendels mit ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

916 * Die Funktion der Pendel-Gleichung.<br />

917 *<br />

918 * f(p, q) = ( - sin(q), p)<br />

919 *<br />

920 */<br />

921 public double[] berechne(double[] x)<br />

922 {<br />

923 return new double[]{ - Math.sin(x[1]), x[0] };<br />

924 }<br />

925<br />

926<br />

927 /**<br />

928 * Die Ableitung der Pendel-Gleichung.<br />

929 *<br />

930 * Das ist die Matrix<br />

931 *<br />

932 * f’(p,q) = ( 0 -cos(q) )<br />

933 * ( 1 0 ).<br />

934 */<br />

935 public double[][] ableitung(double[] x)<br />

936 {<br />

937 return new double[][]<br />

938 {<br />

939 { 0, - Math.cos(x[1]) },<br />

940 { 1, 0},<br />

941 };<br />

942 }<br />

943<br />

944<br />

945 } // PendelGleichung<br />

Weiterhin gibt es 2 Ausgabe-Klassen, um Zeit-Auslenkung bzw. Zeit-<br />

Hamilton in Dateien zu schreiben und eine Beispiel-Klasse, um alles zusammenzuführen<br />

(es wird ein spezielles Anfangswertproblem und Intervall<br />

gewählt, und <strong>mit</strong> verschiedenen Schrittweiten und Verfahren gelöst). Diese<br />

Klassen nehmen wir jetzt nicht im Quelltext auf, da die Implementation<br />

kanonisch ist (und nichts <strong>mit</strong> dem eigentlichen Problem zu tun hat).<br />

Exakte <strong>Lösung</strong><br />

Die exakte <strong>Lösung</strong> sowie die Differenzen der exakten <strong>Lösung</strong> zu unseren<br />

Näherungslösungen haben wir von Mathematica berechnen lassen. Hier die<br />

Eingabedaten:<br />

1 (***********************************************<br />

19

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!