Institut für Geometrie und Praktische Mathematik — Numerik–Labor K 3 y x -1 0 1 Zwei elastische, aber nicht biegsame Balken der Länge 2, bei dem der linke Balken eine doppelt so große Federkonstante hat wie der rechte Balken; dies führt auf das folgende Gleichungssystem: 2 (1 + x) d+ − (1 − x) d− = 0 mit y · (2 d+ + d− ) = K 2 d± := p −1 y 2 + (1 ± x)2 c IGPM RWTH Aachen, 2007 Institut für Geometrie und Praktische Mathematik — Numerik–Labor knickendes Federstabwerk 2.0 1.5 1.0 Durchschlagspunkt 0.5 e instabil y 0.0 Lösung en −0.5 Durchschlagspunkt −1.0 −1.5 −2.0 −2.5 −3.0 −1.5 −1.0 −0.5 0.0 0.5 K 1.0 1.5 2.0 2.5 c IGPM RWTH Aachen, 2007 Institut für Geometrie und Praktische Mathematik — Numerik–Labor Bessere Lösung — Prädiktor entlang der Tangente der Kurve knickendes Federstabwerk y 2.0 1.8 1.6 Prädiktor 1.4 1.2 Newton 1.0 0.8 0.6 0.4 0.2 K 0.0 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 c IGPM RWTH Aachen, 2007 Institut für Geometrie und Praktische Mathematik — Numerik–Labor Allgemeiner: f (u, λ) = 0 Satz über implizite Funktionen =⇒ Es existiert lokal eine Kurve u(λ) mit f (u(λ), λ)) = 0 . Differenzieren nach λ ergibt (?) ∂f (u, λ) ∂f (u, λ) δu + δλ ≈ 0 ∂u ∂λ Daher: Änderung von λ um δλ =⇒ Änderung von u um δu (??) J δu = − ∂f (u, λ) δλ ∂λ J ist die Jacobi–Matrix(bzgl. u ) der Funktion f bei (u, λ) . Nun das Newton–Verfahren (für das neue λ ) mit dem Startwert u + δu durchführen. c IGPM RWTH Aachen, 2007 Institut für Geometrie und Praktische Mathematik — Numerik–Labor Freiwilliger Zusatz Die Lösung u lässt sich nicht immer nach λ parametrisieren. Daher Parametrisierung nach der Bogenlänge s ∂f (u, λ) ∂u ∂f (u, λ) ∂λ δs + δs ≈ 0 ∂u ∂s ∂λ ∂s oder gleichwertig (+) ∂f (u, λ) ∂f (u, λ) , ∂u ∂λ T ≈ 0 mit T = δu δλ T ist ein (nicht–trivialer) Kernvektor der (erweiterten) Jacobi–Matrix (in Scilab : kernel ) Man muss noch das Vorzeichen von T festlegen! Z.B. so, dass die letzte Komponente ( δλ ) positiv ist. Dann: Teste den Winkel (Skalarprodukt) zwischen Ta (alte Tangente) und dem neuen T . Falls Winkel > 90o (Skalarprodukt negativ), so setze T := −T Schrittweitensteuerung Der eigentliche Schritt ist s · T . =⇒ Steuere s so, dass der Winkel zwischen Ta und T klein bleibt (Skalarprodukt > 0.95 ). Ist der Winkel sehr klein (Skalarprodukt > 0.99 ), so kann man die Schrittweite s vergrößern. c IGPM RWTH Aachen, 2007 Institut für Geometrie und Praktische Mathematik — Numerik–Labor Quasi–Newton knickendes Federstabwerk y Jˆ = ∂f (u, λ) ∂f (u, λ) , ∂u ∂λ 1.8 1.6 Prädiktor 1.4 1.2 y Bei (Standard–) Newton–Verfahren, lösen wir bei festem λ das — in der Regel — vollständig bestimmte nichtlineare Gleichungssystem f (u, λ) (nur) nach u . In der Nähe eines “Wendepunktes” funktioniert dies nicht mehr. Wir müssen vielmehr simultan nach u und λ lösen. Dann haben wir aber eine Unbekannte mehr als Gleichungen — dies ist ein unterbestimmtes Gleichungssystem. Man löst nun ein unterbestimmtes Ausgleichsproblem mit der zusätzlichen Forderung, dass die Lösung (bzgl. der euklidischen Norm) minimale Länge hat. Haben wir 2.0 Quasi-Newton 1.0 0.8 0.6 0.4 0.2 K 0.0 0.0 0.2 0.4 0.6 0.8 1.0 1.2 K und û = (u, λ)T so können wir in Scilab einfach du_dach= - J_dach \ f(u,lambda) schreiben. Besser ist jedoch die Verwendung der Pseudo–Inversen du_dach= - pinv(J_dach)*f(u,lambda) c IGPM RWTH Aachen, 2007