Vektorrechnung - Fachhochschule Südwestfalen

Fachhochschule Südwestfalen
Wir geben Impulse
Vektorrechnung
in
Octave
Inhalt
• Erzeugung von Vektoren
• Zugriff auf Vektorelemente
• Addition und Subtraktion von Vektoren
• Betrag eines Vektors
• Berechnung des Einheitsvektors
• Berechnung des Richtungskosinus
• Skalarprodukt
• Vektorprodukt
• Spatprodukt
Dipl.-Ing. M. Birkhölzer
Folie 2 (07/2011)
Vektorrechnung
Erzeugung von Vektoren
Definition von Vektoren:
Ein Vektor v ist eine ein-dimensionale Struktur bestehend aus n Skalaren. Es gibt
Zeilenvektoren (eine Zeile, n Spalten) und Spaltenvektoren (n Zeilen, eine Spalte).
•
Erzeugung von Zeilenvektoren:
Es gibt 3 Möglichkeiten Zeilenvektoren zu erzeugen.
1) a=[1 2 3 4]
Eingabe mit Leerstellen zwischen
den Werten als Trennzeichen
2) b=[1,2,3,4]
Komma als Trennzeichen
zwischen den Werten
3) c=1:4
(siehe hierzu auch Bereichsvariablen
in der Octave-Einführung)
•
Alle 3 Möglichkeiten erzeugen den gleichen Vektor.
Dipl.-Ing. M. Birkhölzer
Folie 3 (07/2011)
Vektorrechnung
Erzeugung von Vektoren
•
Erzeugung von Spaltenvektoren:
Zur Erzeugung von Spaltenvektoren gibt es nur eine Möglichkeit:
a=[1;2;3;4]
•
Es können aber Zeilenvektoren in Spaltenvektoren und Spaltenvektoren in
Zeilenvektoren umgewandelt (transponiert) werden. Dies geschieht durch die
Verwendung des Hochkommas ‘ .
Dipl.-Ing. M. Birkhölzer
Folie 4 (07/2011)
Vektorrechnung
Erzeugung von Vektoren
• Ein neuer Zeilenvektor kann auch dadurch erzeugt werden, dass man zwei Vektoren
hintereinander hängt:
• Dies funktioniert natürlich auch mit einem Spaltenvektor:
Dipl.-Ing. M. Birkhölzer
Folie 5 (07/2011)
Übungsaufgaben Vektorerzeugung
Erzeugen Sie die Zeilenvektoren a =(1 3 5 7) und b=(2 4 6 8),
sowie die Spaltenvektoren c=(1 3 6 10) und d=(9 7 5 3).
a) Transponieren Sie den Vektor a
b) Wandeln Sie den Vektor c in einen Zeilenvektor um
c) Erzeugen Sie den Zeilenvektor e aus a und b
d) Erzeugen Sie den Spaltenvektor f aus c und d
e) Erzeugen Sie einen Zeilenvektor g aus b und c
f) Erzeugen Sie einen Spaltenvektor h aus d und a
Dipl.-Ing. M. Birkhölzer
Folie 6 (07/2011)
Vektorrechnung
Zugriff auf Vektorelemente
•
Ist die Länge eines Vektors nicht bekannt, so kann diese mit Hilfe des Befehls
length(Vektorname) ermittelt werden.
•
Einzelne Elemente eines Vektors können mit Vektorname(Position)
ausgegeben werden. Als Sonderform gilt hier Vektorname(end), der befehl gibt
das letzte Element des Vektors aus.
Dipl.-Ing. M. Birkhölzer
Folie 7 (07/2011)
Vektorrechnung
Zugriff auf Vektorelemente
• Man kann auch auf Teilbereiche eines Vektors zugreifen, dies geschieht durch
Vektorname(a:c:b) wobei a die Anfangsposition des Bereiches, b die
Endposition des Bereiches und c die Schrittweite darstellt. Wird der Parameter c weg
gelassen, wird automatisch eine Schrittweite von 1 gewählt. Für den Parameter b kann
man auch end eingeben.
Dipl.-Ing. M. Birkhölzer
Folie 8 (07/2011)
Vektorrechnung
Zugriff auf Vektorelemente
• Natürlich können auch einzelne Elemente eines Vektors verändert werden. Dies
geschieht durch einfache Neuzuweisung Vektorname(a:c:b)=Wert.
Dipl.-Ing. M. Birkhölzer
Folie 9 (07/2011)
Vektorrechnung
Für die weiteren Themen generieren wir uns nun ein paar Vektoren, welche in den
nächsten Beispielen Anwendung finden:
• Spaltenvektoren: as=[2;0;-3]
bs=[3;-4;2]
cs=[1;5;7]
ds=[1;4;2;-3]
• Zeilenvektoren:
Dipl.-Ing. M. Birkhölzer
Folie 10 (07/2011)
az=[2 0 -3]
bz=[3 -4 2]
cz=[1,5,7]
dz=[1,4,2,-3]
Vektorrechnung
Addition und Subtraktion von Vektoren
• Vektoren können einfach addiert und subtrahiert werden. Dabei ist es aber wichtig, das
die Vektoren die gleiche Länge haben und das es sich um 2 Spalten- bzw.
Zeilenvektoren handelt (siehe Markierung im Bild)
• Die Addition von Zeilenund Spaltenvektor
führt zu einer Warnmeldung und erzeugt
eine Matrix.
Hier müsste ein
Vektor erst
transponiert werden.
Dipl.-Ing. M. Birkhölzer
Folie 11 (07/2011)
Vektorrechnung
Betrag eines Vektors
• Der Betrag eines Vektors errechnet sich laut Studienbuch „Ingenieurmathematik 1“
nach:
2
2
2
a= a +a +a
x
y
z
In Octave wird die Berechnung dann wie folgt durchgeführt:
ra=sqrt(as(1)^2+as(2)^2+as(3)^2)
• Wie bereits in der Einführung erwähnt, gibt es Standardfunktionen und Funktionen
welche durch Packages hinzugefügt werden können.
Für die Berechnung des Betrages eines Vektors kann die Standardfunktion
norm(Vektor) verwendet werden.
Dipl.-Ing. M. Birkhölzer
Folie 12 (07/2011)
Vektorrechnung
Berechnung des Einheitsvektors
• Wird der Vektor durch seinen Betrag dividiert, so erhält man den Einheitsvektor.
• Der Betrag dieses so entstandenen Vektors muss gleich „1“ sein. Dies kann mit
norm(Vektor) kontrolliert werden.
Dipl.-Ing. M. Birkhölzer
Folie 13 (07/2011)
Vektorrechnung
Berechnung des Richtungskosinus
Zur Berechnung des Richtungskosinus gibt es zwei Möglichkeiten
• Möglichkeit 1:
Die einzelnen Werte des Vektors werden durch den Betrag Vektors dividiert.
cosinusalpha=a(1)/betrag
cosinusbeta=a(2)/betrag
cosinusgamma=a(3)/betrag
• Möglichkeit 2:
Die Werte des Einheitsvektors werden den Winkeln zugewiesen.
Dipl.-Ing. M. Birkhölzer
Folie 14 (07/2011)
Vektorrechnung
Skalarprodukt
• Das Skalarprodukt kann in Octave durch die Summe der Produkte der entsprechenden
Koordinaten berechnet werden.
Skalarprodukt=a(x)*b(x)+a(y)*b(y)+a(z)*b(z)
• Das Skalarprodukt kann aber auch durch einfache Multiplikation der Vektoren gebildet
werden. Dies funktioniert aber nur, wenn der erste Vektor ein Zeilenvektor und der
zweite ein Spaltenvektor ist. Um die passenden Vorbedingungen zu schaffen, kann das
Transponieren von Vektoren angewendet werden.
Dipl.-Ing. M. Birkhölzer
Folie 15 (07/2011)
Vektorrechnung
Skalarprodukt
• Octave bietet aber auch eine Standardfunktion, mit der das Skalarprodukt berechnet
werden kann.
Skalarprodukt=dot(a,b)
hierbei unterscheidet Octave aber nicht nach Zeilen- und Spaltenvektor.
• Achtung: Die Vektoren müssen dafür die gleiche Länge haben!!!! Octave gibt in
diesem Fall bei dem befehl dot(a,b) keine Fehlermeldung aus!!
Dipl.-Ing. M. Birkhölzer
Folie 16 (07/2011)
Vektorrechnung
Vektorprodukt
• Die Berechnung des Vektorprodukts erfolgt laut Studienbuch „Ingenieurmathematik 1“
über folgenden Lösungsweg.
• Auch hier bietet Octave durch den Befehl cross(a,b) eine Standardfunktion an.
Hierbei ist es wie beim dot-Befehl
egal, ob es sich um Zeilen- oder
Spaltenvektoren handelt.
Dipl.-Ing. M. Birkhölzer
Folie 17 (07/2011)
Vektorrechnung
Vektorprodukt
• Achtung: Bei der Berechnung von Vektorprodukten ist darauf zu achten, dass es sich
um dreidimensionale Vektoren vom gleichen Typ handelt.
Dipl.-Ing. M. Birkhölzer
Folie 18 (07/2011)
Vektorrechnung
Spatprodukt
• Die Berechnung des Spatvolumens nach dem Studienbuch „Ingenieurmathematik 1“
erfolgt über folgende Formel:
s=as(1)*bs(2)*cs(3)+as(2)*bs(3)*cs(1)+as(3)*bs(1)*cs(2)as(1)*bs(3)*cs(2)-as(2)*bs(1)*cs(3)-as(3)*bs(2)*cs(1)
• Die kann in Octave durch die beiden Standardbefehle dot und cross vereinfacht
berechnet werden.
Achtung: Auch hier müssen die Punkte für die Verwendung von dot und cross
beachtet werden!!
Dipl.-Ing. M. Birkhölzer
Folie 19 (07/2011)