12.02.2014 Aufrufe

Mathematik für Physiker - Numerische Physik: Modellierung

Mathematik für Physiker - Numerische Physik: Modellierung

Mathematik für Physiker - Numerische Physik: Modellierung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

188 KAPITEL 5. INTEGRATION<br />

Abbildung 5.7: Zur Idee eines adaptiven Verfahrens<br />

der numerischen Integration: in Bereichen,<br />

in denen sich die Funktion kaum<br />

ändert oder mit konstanter Steigung (blau)<br />

sind große Schrittweiten ausreichend, bei<br />

schnellen Änderungen (rot) werden dagegen<br />

kleine Schritte benötigt. Im grün markierten<br />

Bereich ist eine mittlere Schrittweite ausreichend.<br />

Ein adaptives Verfahren passt sich<br />

entsprechend an<br />

§ 736 Das adaptive Simpson-Verfahren angewandt auf unsere Beispielfunktion ist<br />

>> a=2; b=4; fun = @(x) 3*x.*x +2; ←↪<br />

>> I = quad(f,a,b) ←↪<br />

I =<br />

60<br />

wobei fun wieder die Funktion und a und b die Grenzen geben, in denen diese Funktion<br />

integriert werden soll. Beim Aufruf von quad lässt sich eine Toleranz als weiterer Parameter<br />

angeben, die MatLab anweist, bis zu welcher Genauigkeit die Integration erfolgen soll (und<br />

damit auch, wie zeitintensiv diese sein darf).<br />

§ 737 Statt der Zuweisung der Funktion zu einer Variablen kann die Funktion auch direkt<br />

als Parameter beim Funktionsaufruf übergeben werden:<br />

>> I = quad(’3*x. ∧ 2+2’,2,4) ←↪<br />

5.5.5 Weitere MatLab Funktionen<br />

§ 738 Für die numerische Integration stehen in MatLab abgesehen von den oben gegebenen<br />

einfachen Selbstbau-Skripten zusammen mit quad verschiedene Funktionen zur Verfügung:<br />

• quad verwendet ein adaptives Simpson-Verfahren für die numerische Integration wie bereits<br />

beschrieben.<br />

• quadl verwendet ein adaptives Lobatto-Verfahren; die Syntax zum Aufruf von quadl entspricht<br />

der von quad.<br />

• dblquad kann für Doppelintegrale verwendet werden. Sie basiert auf einem adaptiven<br />

Simpson-Verfahren, der Funktion werden beim Aufruf dblquad(fun,xmin,xmax,ymin,ymax)<br />

neben der Funktion fun die Integrationsgrenzen in x und y übergeben.<br />

• triplequad hilft bei der numerischen Lösung von Dreifachintegralen und basiert ebenfalls<br />

auf einem adaptiven Simpson-Verfahren. Hier werden insgesamt sieben Parameter<br />

übergeben: die Funktion sowie die drei Paare von Integrationsgrenzen.<br />

Die MatLab-Funktionen folgen in ihrer Syntax alle dem bei quad besagten; nähere Informationen<br />

bietet die MatLab-Hilfe.<br />

5.5.6 GUI zur numerischen Integration<br />

§ 739 Die Datei numint enthält ein einfaches GUI zu numerischen Integration von Funktionen,<br />

vgl. Abb. 5.8. 4 Die Eingabeparameter (rechts oben) beschränken sich auf die Funktion,<br />

die untere und obere Grenze sowie die Schrittzahl. Über das Pop-Up Menü können die verschiedenen<br />

bisher diskutierten Verfahren zur numerischen Integration ausgewählt werden. Als<br />

Ergebnis wird im linken Teil der Funktionsgraph im zu untersuchenden Bereich geplottet,<br />

der Wert des sich ergebenden Integrals ist ebenfalls angegeben.<br />

4 Der vollständige Code findet sich im Anhang in Abschn. B.6.2.<br />

13. März 2007 c○ M.-B. Kallenrode

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!