Numerische Lösung des mathematischen Pendels mit ...
Numerische Lösung des mathematischen Pendels mit ...
Numerische Lösung des mathematischen Pendels mit ...
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