13.01.2014 Aufrufe

Link - Hochschule Ulm

Link - Hochschule Ulm

Link - Hochschule Ulm

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!