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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5.5. NUMERISCHE INTEGRATION IN MATLAB 189<br />

Abbildung 5.8: GUI numint zur numerischen<br />

Integration<br />

§ 740 Das GUI besteht aus dem eigentlichen Skript numint, einer Routine setintegration,<br />

die für den Plot und die Zuordnung zu den verschiedenen Integrationsverfahren erforderlich<br />

ist, sowie den Funktionen mittelgui, trapezgui und simpsongui, die jeweils die numerischen<br />

Verfahren ausführen. Diese Funktionen unterscheiden sich von den weiter oben<br />

eingeführten Funktionen nur durch die Art und Weise, in der die mathematische Funktion<br />

übergeben wird (Handle vs. String) und damit wie sie ausgewertet wird (feval vs. eval). Alle<br />

Funktionen sind in Abschn. B.6.4 gegeben sowie in elektronischer Form auch unter stud.ip.<br />

5.5.7 <strong>Numerische</strong> Integration von Messwerten<br />

§ 741 Die bisher betrachteten numerischen Verfahren sind geeignet Funktionen in expliziter<br />

Darstellung zu integrieren, d.h. wir gehen von Funktionen der Art s(t) = vt oder y = sin x<br />

aus. Definitions- und Wertebereich in dieser klassischen Vorstellung sind kontinuierlich. Bei<br />

einer Messung dagegen erhalten wir nur diskrete Werte, z.B. eine Zeitreihe der Momentangeschwindigkeit<br />

v(t). Den zurück gelegten Weg erhalten wir bei einer kontinuierlichen Funktion<br />

durch Integration als s = ∫ v(t) dt. Ist die Funktion nur an diskreten Stellen bekannt, so<br />

ergibt sich der Weg durch Summation<br />

s = ∑ v(t) ∆t .<br />

§ 742 Die Messwerte liegen als zwei Vektoren vor: time enthält die Zeitpunkte an denen die<br />

in speed gespeicherten Geschwindigkeiten gemessen wurden. Welche Möglichkeiten haben<br />

wir, den zurück gelegten Weg im Eigenbau in MatLab zu bestimmen? In § 624 haben wir<br />

die Funktion diff kennen gelernt. Mit ihrer Hilfe können wir die Breiten der Integrationsintervalle<br />

bestimmen zu dt = diff(time). Die Geschwindigkeiten nehmen wir jeweils in der<br />

Mitte eines Zeitintervalls als Mittelwert aus den Geschwindigkeiten an den Rändern des entsprechenden<br />

Intervalls: vmittel = speed(1:length(speed)-1) + 0.5*diff(speed). Dieses<br />

Verfahren entspricht der Trapezmethode der numerischen Integration. Beide Vektoren<br />

werden anschließend komponentenweise multipliziert, die Produkte werden addiert. Insgesamt<br />

erhalten wir damit als Fragment für die numerische Integration unserer Messwerte<br />

>> dt = diff(time); vmittel = speed(1:length(speed)-1) + 0.5*diff(speed) ←↪<br />

>> s = sum(vmittel.*dt) ←↪<br />

Die letzte Zeile hätte auch kürzer als Skalarprodukt s = dot(vmittel,dt) geschrieben werden<br />

können.<br />

§ 743 MatLab offeriert für diese Übung auch eine fertige Funktion trapz. Dieser Funktion trapz<br />

werden die beiden Vektoren der Messwerte übergeben: s = trapz(time,speed). Ein Blick in<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!