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.

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

Beispiel<br />

§ 1792 Die Regeln der Matrixmultiplikation erfordern, dass die Zeilenzahl der zweiten Matrix<br />

mit der Spaltenzahl der ersten übereinstimmt. Daher lassen sich zwei Spaltenvektoren<br />

nicht mit einander multiplizieren, wohl aber ein Spalten- und ein Zeilenvektor (Skalarprodukt)<br />

oder ein Zeilen und ein Spaltenvektor (dyadisches Produkt). Mit den oben definierten<br />

Vektoren erhalten wir also<br />

>> a=[2, 4, 6];b=[2;4;6]; ←↪<br />

a * b ←↪<br />

ans =<br />

56<br />

b * a ←↪<br />

ans =<br />

4 8 12<br />

8 16 24<br />

12 24 36<br />

§ 1793 Eine Multiplikation zweier Zeilen- oder Spaltenvektoren dagegen liefert eine Fehlermeldung<br />

>> a=[2, 4, 6];b=[2 4 6]; ←↪<br />

??? Error using ==> mtimes<br />

Inner matrix dimensions must agree.<br />

Punktweise Multiplikation<br />

§ 1794 Für verschiedene Anwendungen ist statt einer Matrixmultiplikation die elementweise<br />

Multiplikation der Matrixelemente erwünscht. So lässt sich z.B. ein Vektor von x-Werten im<br />

Bereich von 0 bis 10 mit einem Abstand von 0.1 zwischen benachbarten Elementen definieren<br />

über x = [0:0.1:10] oder x = linspace(0,10,101), wobei der letzte Wert im Argument<br />

von linspace die Zahl der Elemente angibt. 3 Wird hier kein Wert angegeben, so setzt Mat-<br />

Lab als Default 100 ein. Aus diesem Vektor x soll ein zweiter Vektor y erzeugt werden, der<br />

die quadrierten x-Werte enthält, d.h. mathematisch soll gelten<br />

linspace<br />

y i = x 2 i ∀ i ,<br />

nicht aber ⃗x⃗x. Diese punktweise oder elementweise Operation wird durch einen Punkt vor<br />

dem Operanden angedeutet. Als MatLab-Fragment erhalten wir damit<br />

>> x = [0:0.1:10]; ←↪<br />

>> y = x.*x; ←↪<br />

Lässt man sich y anzeigen (entweder das Semikolon in der letzten Zeile des Fragments<br />

weg lassen oder einfach am Eingabeprompt y ←↪ tippen), so erhält man einen 101-spaltigen<br />

Vektor. Statt x.*x lässt sich natürlich auch x. ∧ 2 schreiben.<br />

§ 1795 Tabelle B.4 gibt einen Überblick über die elementaren mathematischen Funktionen<br />

in der allgemeinen Darstellung und für die punktweise Operation.<br />

3 Denken Sie daran: zwischen n + 1 Elementen (Zaunpfählen) befinden sich n Schritte. Bei der Definition<br />

der x-Werte als Vektor geben Sie das erste und letzte Element an und MatLab kümmert sich um die Zahl<br />

der Elemente für die erforderte Schrittweite. In diesem Beispiel wird MatLab Ihnen einen Vektor mit 101<br />

Elemente anlegen. Bei linspace ist Ihnen die Schrittweite nicht so wichtig sondern die Zahl der Elemente,<br />

d.h. Sie überlassen es MatLab, die korrekte Schrittweite zu bestimmen.<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!