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.

492 ANHANG B. MATLAB: THE BASICS<br />

pi 3.14159265...<br />

i imaginäre Einheit, i 2 = −1<br />

j ebenfalls imaginäre Einheit<br />

eps relative Genauigkeit bei Floating-Point Operationen ɛ = 2 −52<br />

realmin kleinste Gleitkommazahl 2 −1022<br />

realmax größte Gleitkommazahl, (2 − ɛ)2 1023<br />

inf Unendlich<br />

NaN not a number<br />

ans Default zur Bezeichnung eines Ergebnis<br />

flops zählt die Floating-Point Operationen<br />

nargin Zahl der Eingabe-Argumente einer Funktion<br />

nargout Zahl der Ausgabe-Argumente einer Funktion<br />

Tabelle B.2: In MatLab vor definierte Variablennamen<br />

>> pi=2; e=2; i=5; e∧(i*pi) ←↪<br />

ans = 1024<br />

§ 1822 MatLab ist flexibel genug, um die Zuweisung eine Größe zu einer vor definierten<br />

Variablen zu erlauben – es mag ja Situationen geben, in denen dies für einen Nutzer sinnvoll<br />

ist. Daher gibt MatLab in diesem Fall keine Warnung – und rechnet bis zum bitteren Ende<br />

mit der neuen Zuweisung auch wenn der Nutzer schon lange wieder mit pi = π arbeiten<br />

möchte.<br />

§ 1823 Auch die Namen mathematischer Funktionen wie in Tab. B.5, B.7, B.8 oder B.9<br />

sollten nicht als Variablennamen missbraucht werden. Wie bei den vor definierten Variablen<br />

erhebt MatLab auch in diesem Fall keine Einwände – allerdings lässt sich anschließend die<br />

Funktion nicht mehr sinnvoll aufrufen. So erzeugt die Sequenz<br />

>> a=linspace(0,2*pi);plot(a,sin(a)) ←↪<br />

konventionell (und mit formal sinnvollem Variablennamen a) einen Plot der Funktion Sinus<br />

im Bereich [0, 2π]. Mit sin statt a als Variablennamen folgt<br />

>> sin=linspace(0,2*pi);plot(sin,sin(sin)) ←↪<br />

??? Subscript indices must either be real positive integers or logicals.<br />

d.h. MatLab interpretiert den Ausdruck sin(sin) nicht als Funktion sin der Variablen<br />

sin sondern sucht dass sinte Element der variablen sin – und kommt ins Straucheln, da<br />

die Elemente von sin nicht als Indizes taugen; sie sind schließlich transzendent und nicht<br />

natürlich. In der Variante<br />

>> cos=linspace(0,2*pi);plot(cos,sin(cos)) ←↪<br />

tritt das Problem nicht auf: die Variable cos wird definiert. Da sin nicht anderweitig umdefiniert<br />

wurde, verwendet MatLab die Funktion sin und plottet wieder die Funktion Sinus<br />

im Bereich [0, 2π] – un den Preis, dass sich die Funktion cos nicht mehr verwenden lässt.<br />

§ 1824 Ein wesentlich pragmatischeres Argument gegen die Verwendung von Funktions- als<br />

Variablennamen ist natürlich die Lesbarkeit des Codes: was soll sich der Leser unter sin(cos)<br />

vorstellen? Mathematisch ist die Winkelfunktion einer Winkelfunktion auch nicht unbedingt<br />

zu erwarten.<br />

Zahlenformate<br />

§ 1825 Zur Darstellung von Zahlen in einem Rechner wird Speicherplatz benötigt. Ganze<br />

Zahlen in einem relativ kleinen Zahlenraum benötigen nur wenig Speicherplatz: die binäre<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!