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)
© Copyright 2025 ExpyDoc