• Keine Ergebnisse gefunden

Übung zur Numerik linearer und nichtlinearer Parameterschätzprobleme

N/A
N/A
Protected

Academic year: 2021

Aktie "Übung zur Numerik linearer und nichtlinearer Parameterschätzprobleme"

Copied!
20
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

nichtlinearer Parameterschätzprobleme

A. Franke-Börner, M. Helm

(2)

INHALT

1. 1D Wärmeleitungsgleichung 1.1 Finite-Differenzen-Diskretisierung

Das explizite Eulerverfahren Das implizite Eulerverfahren

1.2 Matrixexponent

(3)

1D Wärmeleitungsgleichung

... zur Beschreibung der Temperaturverteilung in einem homogenen Stab (0 ≤ x ≤ π) mit konstantem Querschnitt:

2 T

∂x 2 − 1 κ

∂T

∂t = f, 0 ≤ x ≤ π, t > 0 (1) mit der Temperaturleitfähigkeit κ sowie den Rand- und

Anfangsbedingungen:

T (0, t) = T 0 , T (π, t) = T π , t ≥ 0 (2)

T (x, 0) = g(x). (3)

(4)

Vereinfachte Aufgabe Es soll gelten:

2 T

∂x 2 − ∂T

∂t = 0 in Ω = [0, π] × [0, 1] (4) mit den Anfangs- und Randbedingungen:

g(x) = 3sin(x) − sin(2x) + sin(3x), T 0 = T π = 0. (5) Die analytische Lösung für dieses Problem lautet:

T (x, t) = 3e −t sin(x) − e −4t sin(2x) + e −9t sin(3x). (6)

(5)

INHALT

1. 1D Wärmeleitungsgleichung 1.1 Finite-Differenzen-Diskretisierung

Das explizite Eulerverfahren Das implizite Eulerverfahren

1.2 Matrixexponent

(6)

Diskretisierung der Differentialgleichung

Eingeführt wird eine Orts- und Zeitdiskretisierung mit x → x i , t → t n und T (x, t) → T(x i , t n ) = T i n .

Differentialausdrücke werden durch Differenzenquotienten ersetzt:

∂T

∂t → ∆T

∆t = T i n+1 − T i n

∆t und (7)

2 T

∂x 2 → ∆(∆T)

∆x 2 = T i+1 n + T i−1 n − 2T i n

∆x 2 . (8)

(7)

Das explizite Eulerverfahren

Das explizite Eulerverfahren berechnet für jeden Zeitschritt alle räumlichen Ableitungen von T n , um daraus T n+1 zu ermitteln:

T i n+1 − T i n

∆t = T i+1 n + T i−1 n − 2T i n

∆x 2 . (9)

Mit dem Parameter τ = ∆t/∆x 2 ergibt sich:

T i n+1 = T i n + τ (T i−1 n − 2T i n + T i+1 n ), (10) d.h. in Matrix-Vektor-Form

T n+1 = T n + τ AT n (11)

mit A = spdiags([1, −2, 1], [−1, 0, 1], nT, nT).

(8)

Das explitzite Eulerverfahren

 T 2 n+1 T 3 n+1

.. . T nT n+1 −1

=

 T 2 n T 3 n .. . T nT n −1

 + τ

−2 1 0 . . . 0 1 −2 1 . . . 0 .. . .. . .. . . .. ...

0 0 0 . . . −2

·

 T 2 n T 3 n .. . T nT n −1

(9)

Aufgabe 1 - die ersten Schritte

Anlegen einer MATLAB-Datei diffusion1d.m Festlegung der Raum- und Zeitschritte dx=pi/10;

dt=1e-3;

Erzeugung der Vektoren für Ort und Temperatur x=0:dx:pi;

T=3*sin(x)-sin(2*x)+sin(3*x); % Anfangsbedingung Berechnung und Darstellung der analytischen Lösung t=0.2; % Zeitpunkt, fuer den die analytische

% Loesung betrachtet wird

Tana=3*exp(-t)*sin(x)-exp(-4*t)*sin(2*x)+ ...

exp(-9*t)*sin(3*x);

plot(x,Tana);

(10)

Aufgabe 1 - Das explizite Eulerverfahren

1. Stellen Sie die Matrix A des Gleichungssystems (11) auf!

nT = length(T)-2;

tau = dt/dx^2;

Tau = ones(nT,1)*tau;

A = spdiags([Tau -2*Tau Tau],[-1 0 1],nT,nT);

2. Programmieren Sie eine Schleife von t = 0 bis t = 1:

t=0;

while t<1 t=t+dt;

...

end

3. Berechnen Sie n+1 in jedem Zeitschritt!

(11)

Aufgabe 1 - Darstellung des Ergebnisses

1. Stellen Sie für jeden Zeitschritt T(x) zusammen mit der analytischen Lösung graphisch dar!

2. Bewerten Sie die Genauigkeit der Ergebnisse in Abhängigkeit von dx und dt!

Achtung!

Das explizite Eulerverfahren ist nur stabil für ∆x ∆t

2

≤ 1/2.

(12)

Explizites Verfahren - Zusammenfassung

Lösung der 1D Wärmeleitungsgleichung für ein einfaches Problem

Zeitschrittverfahren: „Zeitableitung=f(Ortsableitung)“

Eulerverfahren vorwärts: Differenzenstern vorwärts einfache Methode, aber u.U. instabil

Das implizite Eulerverfahren

Eulerverfahren rückwärts: Differenzenstern rückwärts

(13)

Das implizite Eulerverfahren

Verwenden wir in Gleichung (9) statt der Vorwärtsdifferenzen T n → T n+1 die Rückwärtsdifferenzen T n+1 → T n , erhalten wir:

T i n+1 − T i n

∆t = T i+1 n+1 + T i−1 n+1 − 2T i n+1

∆x 2 . (12)

Mit τ = ∆x ∆t

2

ergibt sich:

T i n+1 = T i n + τ (T i−1 n+1 − 2T i n+1 + T i+1 n+1 ), (13) d.h. in Matrix-Vektor-Form

T n+1 = T n + τ AT n+1 (14)

mit A = spdiags([1, −2, 1], [−1, 0, 1], nT, nT).

(14)

Das implizite Eulerverfahren

Zur Berechnung von T n+1 ist es notwendig, das Gleichungssystem

BT n+1 = T n (15)

mit

B = (I − τ A) = spdiags([−τ , 1 + 2τ , −τ], [−1, 0, 1], nT, nT)

zu lösen.

(15)

Das implizite Eulerverfahren

1 + 2τ −τ 0 . . . 0

−τ 1 + 2τ −τ . . . 0 .. . .. . .. . . .. .. .

0 0 0 . . . 1 + 2τ

·

 T 2 n+1 T 3 n+1

.. . T nT n+1 −1

=

 T 2 n T 3 n .. . T nT n −1

(16)

Aufgabe 2 - Implizites Verfahren

1. Erweitern Sie diffusion1d.m um eine implizite Berechnung der Temperaturverteilung, indem Sie eine neue Variable Timp mit den gleichen Anfangsbedingungen erstellen!

2. Bilden Sie die Matrix B des Gleichungssystems (16):

nT=length(T)-2;

Tau=ones(nT,1)*tau;

B=spdiags([-Tau 1+2*Tau -Tau],[-1 0 1],nT,nT);

3. Lösen Sie in jedem Zeitschritt das Gleichungssystem (16) mit Tneu=B \ Talt für Timp!

4. Stellen Sie die Ergebnisse für beide Näherungsverfahren

und die analytische Lösung dar!

(17)

INHALT

1. 1D Wärmeleitungsgleichung 1.1 Finite-Differenzen-Diskretisierung

Das explizite Eulerverfahren Das implizite Eulerverfahren

1.2 Matrixexponent

(18)

Matrixexponent

Benutzen wir eine Semi-Diskretisierung der Wärmeleitungsgleichung, d.h. verwenden wir die Finite-Differenzen-Methode nur zur Approximation der räumlichen Ableitungen, erhalten wir ein System gewöhnlicher Differentialgleichungen der Form

CT − ∂T

∂t = 0 (16)

mit C = ∆x 1

2

spdiags([1, −2, 1], [−1, 0, 1], nT, nT) und der

Anfangsbedingung T(x, 0) = g(x).

(19)

Matrixexponent

Die Lösung des gewöhnlichen Differentialgleichungssystems (16) lautet

T (x, t) = e tC g(x) (17)

mit der Matrix C im Exponenten der e-Funktion.

(20)

Aufgabe 3 - Matrixexponent 1. Generieren Sie die Matrix C:

C = 1/dx^2* ...

spdiags([ones(nT,1),-2*ones(nT,1),ones(nT,1)],...

[-1, 0, 1], nT, nT);

2. Berechnen Sie T (t) mit Hilfe der Matlab-Funktion expm für alle Zeitschritte:

Texp(2:end-1) = expm(t * C) * T0(2:end-1)’;

Referenzen

ÄHNLICHE DOKUMENTE

Das Dreifache aus der Summe einer Zahl und 4 ist genau gleich gross wie das Vierfache dieser Zahl.. Wie lautet die

Beim Ausrechnen von Termen muss eine bestimme Abfolge der Operationen beachtet und die Aufgaben „Schritt für Schritt“ gelöst

Beim Ausrechnen von Termen muss eine bestimme Abfolge der Operationen beachtet und die Aufgaben „Schritt für Schritt“ gelöst

rechne geteilt dividiere der x-te Teil Quotient. Klammern auflösen und

In dieser Wirkungsanalyse sollen zur Sicherung einer umfassenden Versorgungsqualität im Gesundheitswesen auch spezifische Frage- stellungen, welche chronisch Erkrankte, multimorbide

4. Erstellen Sie im verz1 einen symbolischen Link auf datei und nennen Sie den Link slinkdatei. Erstellen Sie im verz1 einen Hardlink auf verz2 und nennen Sie den Link

Erstellen Sie mit dem Befehl update-rc.d und dem Parameter defaults in allen Runleveln Links zum Starten bzw.. Stoppen des Skripts

Familie Müller benötigt bis zum Forsthaus drei Viertel der Zeit, die die Familie Schulze benötigt. Familie Schulze benötigt y Stunden bis