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.

4.6. DIFFERENTIALRECHNUNG IN MATLAB 159<br />

sieht es dagegen bei einer Messung aus. Hier haben Sie z.B. den Ort in Abhängigkeit von der<br />

Zeit gemessen, d.h. es liegt eine Tabelle ähnlich der in § 433 vor. Die Geschwindigkeiten in<br />

jedem Zeitintervall lassen sich dann durch ‘Ableitung’ der Messwerte bestimmen. Sei space<br />

der den Ort enthaltende Vektor, time ist der die Zeit enthaltende Vektor. Dann ergibt sich<br />

die Geschwindigkeit zu<br />

ds=diff(space);dt=diff(time);v=ds./dt<br />

Ist die Messung, wie im Beispiel in § 433 in äquidistanten Zeitschritten erfolgt, so können<br />

wir uns das diff(time) sparen und stattdessen einfach durch den Zeitschritt teilen. Falls<br />

Sie den Vektor v plotten wollen, müssen Sie sich erst eine neue Zeitachse erzeugen, da die<br />

Geschwindigkeiten jetzt jeweils in der Mitte des Zeitintervalls gelten. Ist time äquidistante,<br />

so lässt sich der neue Vektor wie in § 625 erzeugen. Sonst müssen Sie ihn aus time und<br />

diff(time) erzeugen, z.B.<br />

for k=1:length(time)-1<br />

timefuerv = time(k)+dt(k)<br />

end<br />

oder in wesentlich eleganterer Variante, direkt in den Aufruf von plot integriert<br />

plot(v,time(1:length(time)-1)+0.5*dt)<br />

4.6.3 Extrema<br />

§ 629 Extrema einer Funktion sind die Punkte mit waagerechter Tangente und damit die<br />

Nullstellen der Ableitung.<br />

§ 630 MatLab stellt neben fzero für die Nullstellensuche die Funktion fminbnd für die Su- fminbnd<br />

che nach Extrema. Auch hier wird die Funktion als String eingegeben. Als weitere Argumente<br />

werden zwei x-Werte übergeben, die das Intervall definieren, in dem fminbnd das Minimum<br />

sucht:<br />

>> fminbnd(’x*x’,-3,3) ←↪<br />

ans =<br />

1.1102e-016<br />

Das Ergebnis weicht um die interne Rechnergenauigkeit vom Erwartungswert Null ab. Bei<br />

der Verwendung von fminbnd ist jedoch Vorsicht geboten, da die Funktion den kleinsten<br />

Wert innerhalb des betrachteten Intervalls bestimmt – was nicht zwingend ein Extremum<br />

der Funktion ist. So liefert auch der Befehl<br />

>> fminbnd(’x*x’,-3,-1) ←↪<br />

ans =<br />

-1.0000<br />

einen minimalen Wert (eben den in dem Intervall), aber kein Minimum.<br />

4.6.4 Felder und Gradienten<br />

§ 631 Bei der Darstellung von Feldern in MatLab müssen wir zwischen Skalar- und Vektorfeldern<br />

unterscheiden. Die für Vektorfelder wichtigen MatLab-Funktionen coneplot,<br />

stream2, und streamline werden wir im Rahmen der Vektoranalysis in Kap. 10 genauer<br />

betrachten.<br />

§ 632 Zur Darstellung der in diesem Kapitel betrachteten Skalarfelder können wir auf die<br />

Darstellung von Funktionen mehrerer Variablen, wie in Abschn. 3.7 diskutiert, zurück greifen:<br />

ein Skalarfeld ist eine skalare Funktion mehrerer Variablen, nämlich der Raumkoordinaten<br />

und der Zeit. Wie in Abschn. 3.7 diskutiert, ist die anschauliche Darstellung beschränkt auf<br />

Funktionen in Abhängigkeit von zwei Variablen, d.h. wir können nur Felder in einer Ebene<br />

coneplot<br />

stream2<br />

streamline<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!