Rechnen mit Vektoren

Im folgenden werden die Rechenregeln für Vektoren und ihre Anwendung in MATLAB vorgestellt.

 

Transponierte

Die im Abschnitt Vektordefinition vorgestellten Zeilen- und Spaltenvektoren können auch ineinander umgewandelt werden. Dies erfolgt durch Transposition.

 

 

In MATLAB wird die Transponierte durch ein ' symbolisiert.

 

>>a = [1,1,1];

>>b = a'


Es entsteht ein Spaltenvektor durch Transposition.

 

Addition und Subtraktion

Die Addition und Subtraktion ist nur bei Vektoren gleicher Länge möglich. Für die Addition oder Subtraktion von Zeilen- mit Spaltenvektoren muss zunächst die Transponierte eines Vektors gebildet werden.

 

 

>>a = [1;1;1];

>>b = [1;0;1];

>>c = a+b

>>d = a-b

 

Für die Addition und Subtraktion von Vektoren gelten das Kommutativ- und das Assoziativgesetz.

 

Multiplikation eines Vektors mit einem Skalar

 

 

>>x = [0.1,0.1,0.9];

>>x = x*10;

 

Elementweise Multiplikation zweier Vektoren

Außer dem Skalarprodukt und dem Kreuzprodukt können in MATLAB Vektoren auch elementweise multipliziert werden.

 

 

>>a = [9 ; 3 ; 5];

>>b = [5; 7; 4];

>>c = a.*b

 

Die Multiplikation wird elementweise ausgeführt. Neben Multiplikation sind auch die restlichen Operatoren verwendbar. Die Nutzung des Punktes ist Notwendig um Matlab die elementweise Multiplikation anzuweisen. Ohne angabe des Punktes würde Matlab eine Multiplikation zwischen zwei Vektoren ausführen, deren Ergebnis eine Matrix ist.

Auf die Multiplikation und Division von Vektoren wird näher im Kapitel Matrizen eingegangen.

Skalarprodukt

Das Skalarprodukt zweier Vektoren wird mit der Funktion dot() berechnet.

 

 

>>a = [1;3;5]

>>b =[5;9;1]

>>dot(a,b)

 

Das Ergebnis einer Funktion ohne Angabe einer Zielvariable, wird in die Standardvariable ans gespeichert.

 

Kreuzprodukt

Das Kreuzprodukt wird aus zwei Vektoren gebildet. Das Ergebnis ist wiederrum ein Vektor, welcher senkrecht auf den ersten zwei steht.

 

 

>>a = [1;2;3];

>>b = [5;6;7];

>>c = cross(a,b)



Vektoren in Rechnungen

Im Gegensatz zur Mathematik und anderen Programmiersprachen ist in Matlab die Rechnung 1+(1,1,1) möglich.

 

>>x = [1,1,1]

>>y = x+3;


Matlab wertet die Gleichung elementweise aus und erstellt für y einen Vektor, mit gleicher Länge wie x, in dem er die Ergebnisse speichert. In den meisten anderen Programmiersprachen wäre für solch eine Operation ein Konstrukt aus Schleifen notwendig um die Rechnung pro Element durchzuführen.

Auch komplexe Rechnungen können auf Vektoren angewendet werden.

 

>>x = 1:0.1:10;

>>y = sin(x);

 

Dieses Beispiel ist ihnen bereits aus Übung 1 bekannt.