Link - Hochschule Ulm
Link - Hochschule Ulm
Link - Hochschule Ulm
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
wie folgt (zum Beispiel in der Funktion bcs)<br />
programmiert:<br />
1 function res = bcs(yx0,yxf)<br />
2 res = [yx0(1);yxf(1)-1];<br />
Als Startlösungsfunktionen wählen wir die<br />
Nullfunktion.<br />
1 function yinit = guess(x)<br />
2 yinit = [0;0];<br />
Die folgenden Matlab-Zeilen berechnet die<br />
Lösung und stellt sie grafisch dar.<br />
1 solinit = bvpinit(linspace(0,1,5),<br />
@guess);<br />
2 sol = bvp4c(@odes,@bcs,solinit);<br />
3 xint = linspace(0,1);<br />
4 sxint = deval(sol,xint);<br />
5 plot(xint,sxint(1,:))<br />
Der Aufruf der Funktion bvpinit kreiert die<br />
Struktur solinit, welche die Daten beinhaltet,<br />
die durch Auswerten von guess an fünf<br />
äquidistanten Punkten von 0 bis 1 berechnet<br />
werden; in diesem Fall alle Null.<br />
Im Allgemeinen hat ein Aufruf von bvp4c die<br />
Form:<br />
1 sol = bvp4c(@odefun,@bcfun,solinit<br />
,<br />
2 options,p1,p2,...)<br />
In odefun wird das Differenzialgleichungssystem<br />
ausgewertet, in bcfun werden die Randbedingungen<br />
ausgewertet, solinit beschreibt<br />
den Anfangszustand, in options können Optionen<br />
übergeben werden und die Eingabeargumente<br />
p1, p2 erlauben zusätzliche Parameter.<br />
Zusammenfassend sind für die Durchführung<br />
folgende Schritte empfehlenswert:<br />
1. Schreiben Sie das Problem als Randwertproblem<br />
erster Ordnung.<br />
2. Schreiben Sie eine Matlab-Funktion, in<br />
der das System erster Ordnung definiert ist.<br />
3. Schreiben Sie eine Funktion für die Randbedingungen.<br />
4. Schreiben Sie eine Funktion für die Startnäherung.<br />
5. Rufen Sie den RWA-Löser bvp4c auf.<br />
6. Zeigen Sie die Resultate.<br />
Aufgabe 139 (Randwertaufgaben) Wir betrachten<br />
die Randwertaufgabe<br />
⎧<br />
⎪⎨ y ′′ = −y<br />
RWA :<br />
0 ≤ x ≤ π/2.<br />
⎪⎩ y(0) = 3, y(π/2) = 7<br />
(a) Zeigen Sie, dass<br />
y(x) = 7 sin(x) + 3 cos(x), x ∈ [0, π/2]<br />
die eindeutige Lösung ist.<br />
(b) Bestätigen sie (a), indem Sie die Lösung<br />
mit der Funktion bvp4c numerisch berechnen.<br />
62.3. Partielle Differenzialgleichungen<br />
Mit der Funktion pdepe kann man partielle<br />
Differenzialgleichungen lösen. Matlabs<br />
pdepe löst eine Klasse von parabolischen bzw.<br />
elliptischen partiellen Differenzialgleichungssysteme<br />
(PDE: Partial Differential Equation).<br />
Die allgemeine Klasse hat die Form:<br />
c(x, t, u, u x )u t =<br />
x −m (x m f(x, t, u, u x )) x + s(x, t, u, u x ),<br />
132 Copyright c○ G. Gramlich