Continuous System Modeling

Werbung
Lösung nichtlinear Gleichungssysteme
• In dieser Vorlesung werden wir uns mit der
gemischt symbolischen und numerischen Lösung
algebraisch gekoppelter nichtlinear Gleichungssysteme befassen.
• Die Aufschneidemethode eignet sich auch zur
effizienten Behandlung nichtlinear Gleichungssysteme.
• Die numerische Iteration nichtlinear Gleichungssysteme kann auf die Schnittvariablen begrenzt
werden.
10. November, 2004
Anfang Präsentation
Übersicht
•
•
•
•
10. November, 2004
Nichtlineare Gleichungssysteme
Newton Iteration
Newton Iteration mit Aufschneiden
Newton Iteration linearer Gleichungssysteme
Anfang Präsentation
Nichtlineares Gleichungssystem: Ein Beispiel I
10. November, 2004
Anfang Präsentation
Nichtlineares Gleichungssystem: Ein Beispiel II
q
1
Schleuse
Stausee
p
p
1
q
2
3
Verbraucher I
Verbraucher II
q
2
p
0
10. November, 2004
Umgebungsdruck
Anfang Präsentation
Nichtlineares Gleichungssystem: Ein Beispiel III
q
q
p
q: Durchflussrate
p: Druckabfall
10. November, 2004
p
q = k · sign(p ) · p
 p = sign(q) · q2 / k
Anfang Präsentation
Nichtlineares Gleichungssystem: Ein Beispiel IV
q
1
Schleuse
Stausee
p
p
1
q
2
3
Verbraucher I
Verbrau cher II
q
2
p
0
10. November, 2004
Umgebungsdruck
p2 = 100
p0 = 1
fS(q1 ,p1 ,p2) = 0
fI(q2 ,p0 ,p1) = 0
fII(q3 ,p0 ,p1) = 0
q1 = q2 + q3
Anfang Präsentation
Nichtlineares Gleichungssystem: Ein Beispiel V
p2 = 100
p0 = 1
fS (q1 ,p1 ,p2 ) = 0
fI (q2 ,p0 ,p1 ) = 0
fII (q3 ,p0 ,p1 ) = 0
q1 - q2 - q3 = 0

p2 = 100
p0 = 1
fS (q1 ,p1 ,p2 ) = 0
fI (q2 ,p0 ,p1 ) = 0
fII (q3 ,p0 ,p1 ) = 0
q1 - q2 - q3 = 0
Nichtlineares Gleichungssystem
in 4 Unbekannten
10. November, 2004
Anfang Präsentation
Newton’sches Iterationsverfahren I
xn
fn
Nichtlineares
Gleichungssystem:
f(x) = 0
Anfangsschätzwert:
x0
Iterationsformel:
x i+1 = x i - x i
x   n
Inkrement:
x i = H(x i )-1 · f(x i )
H   nn
Hess’sche Matrix:
 f(x)
H(x) =
x
10. November, 2004
Anfang Präsentation
Newton’sches Iterationsverfahren: Beispiel I
x=
p1
q1
q2
q3
f(x) =
H(x) =
10. November, 2004
p2 - p1 - sign(q1) · q12 / k1
p1 – p0 - sign(q2) · q22 / k2
=0
p1 – p0 - sign(q3) · q32 / k3
q1 - q2 - q3
-1 - 2|q1 |/k1 0
0
1
0 - 2|q2 |/k2 0
0 - 2|q3 |/k3
1
0
-1
-1
0
1
Anfang Präsentation
Newton’sches Iterationsverfahren II
Bestimmung des Inkrements:
x i = H(x i )-1 · f(x i )
 H(x i ) · x i = f(x i )

Lineares Gleichungssystem
in den Unbekannten x

10. November, 2004
x   n
Anfang Präsentation
Newton Iteration mit Schneideverfahren I
p2 = 100
p0 = 1
fS (q1 ,p1 ,p2 ) = 0
fI (q2 ,p0 ,p1 ) = 0
fII (q3 ,p0 ,p1 ) = 0
q1 - q2 - q3 = 0

p2 = 100
p0 = 1
fS (q1 ,p1 ,p2 ) = 0
fI (q2 ,p0 ,p1 ) = 0
fII (q3 ,p0 ,p1 ) = 0
q1 - q2 - q3 = 0

p2 = 100
p0 = 1
fS (q1 ,p1 ,p2 ) = 0
fI (q2 ,p0 ,p1 ) = 0
fII (q3 ,p0 ,p1 ) = 0
q1 - q2 - q3 = 0
Wahl
10. November, 2004
Anfang Präsentation
Newton Iteration mit Schneideverfahren II
p2 = 100
p0 = 1
fS (q1 ,p1 ,p2 ) = 0
fI (q2 ,p0 ,p1 ) = 0
fII (q3 ,p0 ,p1 ) = 0
q1 - q2 - q3 = 0

p2 = 100
p0 = 1
q1 = q2 + q3
p1 = f1 (q1 ,p2 )
q2 = f2 (p0 ,p1 )
q3 = f3 (p0 ,p1 )
q1 = f2 (p0 ,p1 ) + f3 (p0 ,p1 )
= f2 (p0 , f1 (q1 ,p2 ) ) + f3 (p0 , f1 (q1 ,p2 ))
10. November, 2004
Anfang Präsentation
Newton Iteration mit Schneideverfahren III
q1 = f2 (p0 ,p1 ) + f3 (p0 ,p1 )
= f2 (p0 , f1 (q1 ,p2 ) ) + f3 (p0 , f1 (q1 ,p2 ))
x = q1
f(x) = q1 - f2 (p0 , f1 (q1 ,p2 ) ) - f3 (p0 , f1 (q1 ,p2 )) = 0

H(x i ) · x i = f(x i )

10. November, 2004
Lineares Gleichungssystem
in den Unbekannten x
 x   1
Anfang Präsentation
Newton’sches Iterationsverfahren: Beispiel II
p2 = 100
p0 = 1
q1 = q2 + q3
p1 = p2 - sign(q1 ) · q12 / k1
q2 = k2 · sign(p1 - p0 ) ·  p1 - p0
q3 = k3 · sign(p1 - p0 ) ·  p1 - p0
pq1q1 = 1
pp1q1 = - 2|q1| / k1
pq2q1 = k2 / ( 2 ·  p1 - p0 ) · pp1q1
pq3q1 = k3 / ( 2 ·  p1 - p0 ) · pp1q1
f = q1 - q2 - q3
h = pq1q1 - pq2q1 - pq3q1
10. November, 2004

Das Substituieren von Ausdrücken lohnt sich kaum je.
Es ist besser, über alle Gleichungen zu iterieren und bei
der Ermittlung der partiellen
Ableitungen jede Gleichung
separat abzuleiten.
Anfang Präsentation
Newton’sches Iterationsverfahren: Beispiel III
q1 = Anfangsschätzwert
dx = 1
while dx > dxmin
p1 = p2 - sign(q1 ) · q12 / k1
q2 = k2 · sign(p1 - p0 ) ·  p1 - p0
q3 = k3 · sign(p1 - p0 ) ·  p1 - p0
pp1 = - 2|q1| / k1
pq2 = k2 / ( 2 ·  p1 - p0 ) · pp1
pq3 = k3 / ( 2 ·  p1 - p0 ) · pp1
f = q1 - q2 - q3
h = 1 - pq2 - pq3
dx = h \ f
q1 = q1 – dx
end
10. November, 2004
 Es
wird über alle
Gleichungen
iteriert.
Das interne lineare
Gleichungssystem muss
jedoch nur für die
Schnittvariablen gelöst
werden.
Anfang Präsentation
Newton Iteration für lineare Systeme
Lineares System:
A·x = b
 f(x) = A·x – b = 0
 H(x) = f(x)/  x = A
 A·x = A·x – b
 x = x – A-1·b
 x 1 = x 0 – (x 0 – A-1·b) = A-1·b

10. November, 2004
Die Newton Iteration konvergiert
in einem Schritt
Anfang Präsentation
Zusammenfassung
• Das Schneideverfahren eignet sich genau so gut für nichtlineare
wie für lineare Systeme.
• Die Νewton’sche Iteration eines nichtlinearen Gleichungssystems
führt
intern
zur
Lösung
eines
linearen
Gleichungssystems.
Die Hess’sche Matrix dieses Gleichungssystems erstreckt sich nur über die Schnittvariablen.
• Die Νewton’sche Iteration kann auch sehr effizient im Falle
grösserer linearer Systeme eingesetzt werden, da sie (bei
korrekter Berechnung der H(x) Matrix) in einem einzigen Schritt
konvergiert.
• In Praxis wird die H(x) Matrix jedoch häufig numerisch ermittelt
und nur angenähert.
• Es ist aber möglich, symbolische Formelmanipulationstechniken zu entwickelt, welche symbolische Ausdrücke für die
Elemente der Hess’schen Matrix ermitteln.
10. November, 2004
Anfang Präsentation
Herunterladen