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.

3.5. MATLAB: DARSTELLUNG VON FUNKTIONEN I 109<br />

Die im rechten Teil von Abb. 3.19 gezeigte Abbildung wurde daraus mit Hilfe der folgenden<br />

Befehle erzeugt:<br />

v=load(’speed.dat’);<br />

tplot=plot(v(:,1),v(:,2),’--sr’); hold on;<br />

plot(v(:,1),v(:,3),’--og’); plot(v(:,1),v(:,4),’-->b’);<br />

for i=1:length(v)<br />

vm(i) = sum(v(i,2:4))/3;<br />

end<br />

plot(v(:,1),vm,’k’,’LineWidth’,2);<br />

xlabel(’Zeit’,’FontSize’,14); ylabel(’Ort’,’FontSize’,14); hold off<br />

saveas(tplot,’splot.pdf’)<br />

In der ersten Zeile wird die Tabelle der Messwerte aus der Datei speed.dat in die Matrix<br />

v eingelesen. In den folgenden Zeilen werden die Spalten 2 bis 4 der Matrix jeweils gegen<br />

die erste Spalte geplottet. Die for-Schleife mittelt über die Spalten 2 bis 4 der Matrix,<br />

d.h. es wird zu jedem Zeitpunkt der Mittelwert der Messungen des Ortes gebildet. Dieses<br />

Information wird anschließend als dicke schwarze Linie in den Plot eingetragen. Der Rest ist<br />

Achsenbeschriftung und Speichern der Abbildung.<br />

§ 434 Die Mittelung im voran gegangenen Beispiel hätten wir auch ohne for-Schleife mit der<br />

Sequenz<br />

vm = sum(v(:,2:4),2)/3;<br />

erreichen können: der Doppelpunkt : ohne Angabe von unterer und oberer Grenze eines<br />

Wertebereichs wird wie das Zeichen ∀ interpretiert, d.h. es werden alle Werte dieses Index<br />

durchlaufen.<br />

§ 435 Gerade bei der Darstellung von Messwerten kann es zur Orientierung hilfreich sein,<br />

ein Gitternetz aus waagerechten und senkrechten Linien in der Zeichnung zu haben. Dieses<br />

lässt sich, nach dem Aufruf der Funktion plot, mit Hilfe von grid on ein- und mit Hilfe des<br />

Befehls grid off wieder ausschalten. Das Gitter lässt sich auch separat für jede Koordinate<br />

einzeln ansprechen. Dafür muss die Abbildung durch ein Handle eindeutig klassifiziert sein;<br />

das Anschalten des x-Gitters kann dann mit Hilfe von set(gca,’XGrid’,on) erfolgen.<br />

grid on<br />

grid off<br />

3.5.7 Ergänzung: fplot statt plot<br />

§ 436 Zur Darstellung eines gegebenen funktionalen Zusammenhangs kann statt der MatLab-<br />

Funktion plot die Funktion fplot verwendet werden. Während bei plot die x- und y-Werte<br />

als Vektoren übergegeben werden, akzeptiert fplot die Eingabe der Funktion als String:<br />

fplot<br />

>> fplot(’x + sin(x).*cos(x)’,[-2*pi 2*pi],’k’) ←↪<br />

Außerdem wird der zu betrachtende Wertebereich von x als ein Vektor übergeben, der Parameter<br />

’k’ setzt wieder die Farbe der Linie. Die weiteren Modifikationen an der Abbildung<br />

erfolgen wie bei plot. Die darzustellende Funktion wird an fplot entweder, wie im Beispiel,<br />

als in Hochkommata gesetzter String übergeben, als Name eines m-Files, in dem die Funktion<br />

definiert ist, oder als Handle einer an anderer Stelle im m-File definierten Funktion.<br />

§ 437 Eine etwas längere Formulierung des obigen Beispiels weist erst die Funktion und ihre<br />

Grenzen jeweils einer Variablen zu und ruft anschließend fplot auf:<br />

>> fun=’x + sin(x).*cos(x)’; lims=[-2*pi 2*pi]; fplot(fun,lims,’k’) ←↪<br />

Diese Variante ist dann besonders empfehlenswert, wenn die Funktion und/oder die Grenzen<br />

innerhalb eines Skripts mehrfach benötigt werden.<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!