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.

803 /**<br />

804 * Das Fixpunktverfahren nach Banach.<br />

805 *<br />

806 * @author Geneviève Grunert, Paul Ebermann<br />

807 */<br />

808 public class BanachIteration<br />

809 {<br />

810<br />

811 final double epsilon;<br />

812<br />

813 /**<br />

814 * @param epsilon Eine Iteration wird abgebrochen,<br />

815 * sobald der Fixpunkt (bezüglich oo-Norm) besser<br />

816 * als epsilon approximiert ist (für diese<br />

817 * Abschätzung wird die Kontraktivität der<br />

818 * Abbildung benötigt).<br />

819 */<br />

820 public BanachIteration(double epsilon)<br />

821 {<br />

822 this.epsilon = epsilon;<br />

823 }<br />

824<br />

825<br />

826 /**<br />

827 * Er<strong>mit</strong>telt einen Fixpunkt durch Banach-Iteration.<br />

828 * Da<strong>mit</strong> das konvergiert, sollte die Abbildung<br />

829 * kontraktierend (d.h. Lipschitzkonstante < 1)<br />

830 * sein.<br />

831 *<br />

832 * @param f die Funktion, deren Fixpunkt gefunden<br />

833 * werden soll<br />

834 * @param startwert der Startwert der Iteration<br />

835 * @return eine Approximation <strong>des</strong> Fixpunktes<br />

836 */<br />

837 public double[] findeFixpunkt(RHochNFunktion f,<br />

838 double[] startwert)<br />

839 {<br />

840 double[] alt;<br />

841 double[] neu = startwert;<br />

842 do<br />

843 {<br />

844 alt = neu;<br />

845 neu = f.berechne(alt);<br />

846 } while(abstandGrößer(alt, neu));<br />

17

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!