Einführung in die Programmierung (MA8003)

Ähnliche Dokumente
Einführung in die Programmierung (MA8003)

Einführung in die Programmierung (MA8003)

Praktikum zur Vorlesung: Numerische Mathematik für Lehramt SS Matlab: Fortsetzung. Jan Mayer. 4. Mai 2006

Mathematische Computer-Software

MATLAB Ferienkurs WS 2010/2011

Einführung in die Programmierung (MA8003)

Zugriff auf Matrizen. Anhängen von Elementen. Punktweise Operatoren. Vektoren und Matrizen in MATLAB II

3 Matrizenrechnung. 3. November

2.2. Übung. Einführung in die Programmierung (MA 8003)

Inhaltsverzeichnis. MATLAB Einführung Teil I. Übungen zur Einführung in die wissenschaftliche Programmierung

Kurze Einführung in Octave

1 Konsole öffnen. 2 matlab & und return eingeben. 3 Konsole dauerhaft geöffnet lassen. 1 Menüpunkt File - Exit MATLAB oder. 2 quit (und return) oder

Programmiervorkurs für die Numerik Teil 2/4

Stichworte zu Octave

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

Mathematik am Computer 6. Vorlesung: Matlab, Teil I

Lektion 3. 1 Theorie. NTS1-P Natur, Technik und Systeme 1 Praktikum Herbstsemester 2012

Markus Grasmair. 8. März 2010

MATLAB-Tutorium WS18 Nathalie Marion Frieß

Mathematik am Computer 4. Vorlesung Matlab: Teil 1

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 9. Aufgabe 9.1. Herbstsemester Dr. V. Gradinaru D. Devaud A.

Matlab - eine kurze Einführung

Matlab: eine kurze Einführung

2 Matrizen und Vektoren

Eine kurze Einführung in MATLAB

Mathematik für Naturwissenschaftler II SS 2010

Vektoren und Matrizen

1 Matrizenrechnung zweiter Teil

Matrix. Unter einer (m n)-matrix (m, n N) über einem Körper K versteht man ein Rechteckschema. a m,1 a m,2 a m,n. A = (a i,j ) = Matrix 1-1

a ij i - te Gleichung (Zeile), i = 1,2,3,..., m

Anwendungssoftware III (MATLAB)

Inhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015

Lineare Algebra: Determinanten und Eigenwerte

Einführung in MATLAB Blockkurs DLR:

Dipl.-Volksw. Markus Pullen Wintersemester 2012/13

Erwin Grüner

Kapitel 2. Matrixalgebra. Josef Leydold Mathematik für VW WS 2017/18 2 Matrixalgebra 1 / 49

Matrixalgebra. Kapitel 2. Ein sehr einfaches Leontief-Modell. Matrix. Ein sehr einfaches Leontief-Modell. Vektor. Spezielle Matrizen I

Einführung in das rechnergestützte Arbeiten

Octave/Matlab-Übungen

Eine kurze Einführung in Matlab

Grundlagen der Optimierung. Übung 1

Besteht eine Matrix nur aus einer Spalte (Zeile), so spricht man auch von einem Spaltenvektor (Zeilenvektor)

Matlab: eine kurze Einführung

Kapitel 2. Matrixalgebra. Josef Leydold Mathematik für VW WS 2017/18 2 Matrixalgebra 1 / 49

Lösungen Serie 2. D-MAVT Lineare Algebra II FS 2018 Prof. Dr. N. Hungerbühler 1 0 1? 0 1 1

MATRIZEN. Eine Matrix ist eine rechteckige Anordnung von Zahlen, als ein Schema betrachtet. a 11 a a 1n a 21. a a 2n A = a m1 a m2...

Herbstsemester ist es.

3 Invertierbare Matrizen Die Inverse einer (2 2)-Matrix Eigenschaften invertierbarer Matrizen... 18

MATLAB Einführung. Numerische Methoden für ITET und MATL Dr. S. May, D. Devaud. ETH Zürich, Seminar for Applied Mathematics

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 23. Januar 2017

Lineare Algebra und Numerische Mathematik für D-BAUG

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 12. Aufgabe Herbstsemester Dr. V. Gradinaru D. Devaud.

D-INFK Lineare Algebra HS 2018 Özlem Imamoglu Olga Sorkine-Hornung. Serie 11

Matrizen. Jörn Loviscach. Versionsstand: 14. April 2009, 00:25

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 10. Aufgabe ETH Zürich D-MATH. Herbstsemester Dr. V. Gradinaru D.

2. Einführung in das Ingenieurtool MATLAB

Prof. Dr. Stefan Funken, Dipl.-Ing. Christoph Erath 11. Mai WiMa-Praktikum (Matlab 1/9) Einführung in LATEXund Matlab

Matrizen. Jörn Loviscach. Versionsstand: 12. April 2010, 19:00 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung.

Matrizen. Jörn Loviscach

Kapitel 6: Matrixrechnung (Kurzeinführung in die Lineare Algebra)

Lineare Algebra für D-ITET, D-MATL, RW. Beispiellösung für Serie 11. Aufgabe ETH Zürich D-MATH. Dr. V. Gradinaru D. Devaud. Herbstsemester 2015

WiMa-Praktikum 1. Woche 8

Serie a) Welche der folgenden Vektoren sind Eigenvektoren der Matrix 1 0 1? 0 1 1

Matrizen. a12 a1. a11. a1n a 21. a 2 j. a 22. a 2n. A = (a i j ) (m, n) = i te Zeile. a i 1. a i 2. a i n. a i j. a m1 a m 2 a m j a m n] j te Spalte

Lineare Algebra. 5. Übungsstunde. Steven Battilana. battilana.uk/teaching

Ökonometrische Analyse

Computerorientiertes Problemlösen

Serie 8: Online-Test

2. Dezember Lineare Algebra II. Christian Ebert & Fritz Hamm. Skalarprodukt, Norm, Metrik. Matrizen. Lineare Abbildungen

LR Zerlegung. Michael Sagraloff

Matrizen und Determinanten, Aufgaben

1 Lineare Unabhängigkeit Äquivalente Definition Geometrische Interpretation Vektorräume und Basen 6

Vektorräume und Rang einer Matrix

Matrizen. Stefan Keppeler. 28. November Mathematik I für Biologen, Geowissenschaftler und Geoökologen

Einführung in. Pierre Bayerl

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 25. Jänner 2016

In den USA verwendet man statt dessen eckige Klammern, was sich in der Software niederschlägt (mit Ausnahmen wie Wolfram Alpha):

a 11 a 12 a 1(m 1) a 1m a n1 a n2 a n(m 1) a nm Matrizen Betrachten wir das nachfolgende Rechteckschema:

47 Singulärwertzerlegung

Mathematik II Frühlingsemester 2015 Kapitel 8: Lineare Algebra 8.3 Ergänzungen

Einstieg in die Informatik mit Java

Grundsätzliches Rechnen mit Matrizen Anwendungen. Matrizenrechnung. Fakultät Grundlagen. Juli 2015

2 Die Algebra der Matrizen

Serie 10: Inverse Matrix und Determinante

Einführung in Matlab

MATLAB Sommersemester 2018 Dr. Ulf Mäder

8. Elemente der linearen Algebra 8.5 Quadratische Matrizen und Determinanten

Informationsverarbeitung im Bauwesen

Vortrag 20: Kurze Vektoren in Gittern

Grundsätzliches. Computermathematik. Was ist MATLAB? Verfügbarkeit. Toolboxen. Features. Einführung in MATLAB. Winfried Auzinger.

Musterlösungen Blatt Mathematischer Vorkurs. Sommersemester Dr. O. Zobay. Matrizen

Einstieg in die Informatik mit Java

MATLAB Sommersemester 2018 Dr. Ulf Mäder

a ij i - te Gleichung (Zeile), i = 1, 2,3,..., m I) MATRIZEN Motivation: 1) Speichern geometrischer Daten: Punkte, Vektoren. 2) Lineare Gleichungen

6. Vorlesung. Rechnen mit Matrizen.

täglich einmal Scilab!

Transkript:

Theorie 1.2: Vektoren & Matrizen II, Funktionen, Indizierung Dr. Laura Scarabosio Technische Universität München Fakultät Mathematik, Lehrstuhl für Numerische Mathematik M2 04.10.2017

Theorie 1.2: Inhalt 1 Vektoren und Matrizen Backslash und Slash 2 Funktionen 3 Indizierung 4 Matrizen manipulieren

Inhalt 1 Vektoren und Matrizen Backslash und Slash 2 Funktionen 3 Indizierung 4 Matrizen manipulieren

\ und / Operator I \ (mldivide) und / (mrdivide) sind im gewissen Sinn das Gegenstück zum Matrizenprodukt *: Mit Ihnen kann man lineare Gleichungssysteme lösen bzw. eine Lösung approximieren. Fragestellung: Gesucht ist ein Vektor x mit Ax = b. Wenn kein solches x existiert, dann suche x mit Ax b 2 minimal. Dieser Vektor wird mit A \ b bestimmt. Dazu wird intern je nach Struktur von A ein geeigneter Algorithmus verwendet. b kann auch eine Matrix sein (z.b. mehrere rechte Seiten). Anzahl Zeilen von A muss gleich Anzahl Zeilen von b sein. Bei Verwendung von Zeilenvektoren, also x = (x 1, x 2,..., x n ), verwendet man /. Merkregel A \ b = A 1 b, wenn b Spaltenvektor b / A = ba 1, wenn b Zeilenvektor

\ und / Operator II >> hilb(3) 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 >> b = (1:3) ; >> x = A\b x = 27.0000-192.0000 210.0000 >> A*x 1.0000 2.0000 3.0000 >> x = b /A x = 27.0000-192.0000 210.0000 >> x*a 1.0000 2.0000 3.0000 >> B = [(1:3), ones(3,1)] B = >> A\B 1 1 2 1 3 1 27.0000 3.0000-192.0000-24.0000 210.0000 30.0000

\ und / Operator III Achtung: Aufpassen, wenn Matrix nicht quadratisch oder singulär! >> [hilb(3); ones(1,3)] 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 1.0000 1.0000 1.0000 >> b = (1:4) b = 1 2 3 4 >> x = A\b x = -22.4152 87.1090-60.6662 >> A*x 0.9172 2.6622 2.1723 4.0276

Inhalt 1 Vektoren und Matrizen Backslash und Slash 2 Funktionen 3 Indizierung 4 Matrizen manipulieren

Funktionen Viele Matlab Funktionen lassen sich in eine von drei Klassen einteilen: Skalarwertig Skalar als Eingabeargument. Wirken bei Feldern komponentenweise. Vektorwertig Vektor als Argument. Werden bei Matrizen auf jede Spalte einzeln angewendet. Rückgabewert ist Skalar oder Vektor. Matrixwertig Matrix als Argument, z.b. det Viele Funktionen in Matlab verhalten sich unterschiedlich je nach Anzahl und Art der Eingabe- bzw. Ausgabeparameter. QR Orthogonal-triangular decomposition. [Q,R] = QR(A), where A is m-by-n, produces an m-by-n... [Q,R] = QR(A,0) produces the "economy size" decomposition... [Q,R,E] = QR(A) produces unitary Q, upper triangular R... [Q,R,E] = QR(A,0) produces an "economy size" decomposition... X = QR(A) and X = QR(A,0) return the output of LAPACK s......

Skalare Funktionen Beispiele: >> magic(2) 1 3 4 2 >> cos(a*pi/2) 0.0000-0.0000 1.0000-1.0000 sin cos tan asin acos atan exp log (ln) round sqrt factorial (Fakultät) abs (Betrag)

Vektor Funktionen I Wenn das Argument der Funktion eine Matrix ist, wird die Funktion einzeln auf jede Spalte der Matrix angewendet. Um eine Vektorfunktion auf eine gesamte Matrix A anzuwenden und nicht auf die einzelnen Spalten, A(:) als Argument verwenden. Meist zweites optionales Argument welches angibt, ob Funktion auf Spalten (1) oder Zeilen (2) einer Matrix angewendet werden soll. Beispiele: min max mean sum prod (Produkt) diff cumsum sort

Vektor Funktionen II >> x = 4:-1:1; >> prod(x) 24 >> max(x) 4 >> [m, i] = max(x) >> magic(3); >> sum(a) 15 15 15 >> sum(a,2) 15 15 15 m = i = 4 1 >> sum(a(:)) 45 >> sort(a) >> diff(x) -1-1 -1 3 1 2 4 5 6 8 9 7

Hilfreiche Funktionen length: Die Länge eines Vektors oder die größere Dimension einer Matrix size: Vektor mit den Dimensionen des Feldes numel: Anzahl der Elemente des Feldes Hinweis: prod(size(a)) == numel(a) == length(a(:)) >> A=ones(3,2); >> length(a) 3 >> length(a ) 3 >> size(a) 3 2 >> numel(a) 6

Inhalt 1 Vektoren und Matrizen Backslash und Slash 2 Funktionen 3 Indizierung 4 Matrizen manipulieren

Indizierung I Mit Matlab kann gezielt auf Teile eines Vektors oder einer Matrix zugegriffen werden. Zum Indizieren verwendet man runde Klammern (...). x(i): Das i-te Element des Vektors x A(i,j): Das Element in der i-ten Zeile und j-ten Spalte end: Bezeichnet den letzten Index der Dimension Achtung: Indizes fangen in Matlab bei 1 an! >> A(1,2) = -2 >> x = 2:-1:0; >> x(2) 1 >> [1,2; 3,4] 1 2 3 4 1-2 3 4 >> A(1,end) -2 >> A(end,end) 4

Lineares Indizieren Auf die Elemente einer Matrix kann auch mit nur einem Index zugegriffen werden. Syntax A(i) gibt den i-ten Eintrag der Matrix A zurück. Die Einträge werden hierbei spaltenweise durchnummeriert. 1 4 7 10 2 5 8 11 3 6 9 12 >> A=magic(3) 8 1 6 3 5 7 4 9 2 >> A(2) 3 >> A(end) 2

Indizierung II Auch Felder können zum Indizieren verwendet werden, sei v ein Vektor bzw. M eine Matrix mit Indizes x(v): Vektor mit i-tem Element gleich x(v(i)) x(m): Matrix mit (i,j)-ten Element gleich x(m(i,j)) A(v,w): Matrix mit (i,j)-ten Element gleich A(v(i), w(j)) A(v): Vektor mit i-tem Element gleich A(v(i)) Hinweis: Kurschreibweise: : == 1:end. Hinweis: v(:) bzw. A(:) ist immer ein Spaltenvektor. Achtung: Die Einträge in den Vektoren, bzw. Matrizen, die zum Indizieren verwendet werden, müssen ganzzahlig und größer als 0 sein. Achtung: Matlab unterstützt keine doppelte Indizierung, z.b. x(v)(1) funktioniert nicht!

Indizierung III x = -3-2 -1 0 1 2 3 >> x(2:4) -2-1 0 >> x([2 3 end end 1]) -2-1 3 3-3 >> M = [1 2; 2 1] M = >> x(m) 1 2 2 1-3 -2-2 -3 >> magic(3) >> A(1,:) 8 1 6 3 5 7 4 9 2 8 1 6 >> A([1,2],[2,3]) 1 6 5 7 >> A(2:end,:) 3 5 7 4 9 2

Lineares Indizieren II >> x = 1:3 >> zeros(3) 0 0 0 0 0 0 0 0 0 >> A(2:2:end) = 1 0 1 0 1 0 1 0 1 0 x = 1 2 3 >> x(:) 1 2 3 >> A*x error: operator *: nonconformant arguments (op1 is 3x3, op2 is 1x3) >> A*x(:) 2 4 2

Inhalt 1 Vektoren und Matrizen Backslash und Slash 2 Funktionen 3 Indizierung 4 Matrizen manipulieren

Einträge löschen Es ist möglich, Einträge aus Vektoren zu löschen. x(i) = [] löscht den i-ten Eintrag des Vektors x x(v) = [] löscht alle Einträge von x mit Indizes in v A(i,:) = [], A(:,i) = [] löscht i-te Zeile bzw. Spalte der Matrix A >> x=1:5; >> x([2 3]) = [] x = 1 4 5 >> A=magic(3) 8 1 6 3 5 7 4 9 2 >> A(:,2) = [] 8 6 3 7 4 2 >> A([2,1],:) = [] 4 2 >> magic(3); >> A(1:end, 2) = []??? Subscripted assignment dimension mismatch.

Einträge hinzufügen Matlab verlängert Felder bei Element-Zuweisung automatisch. >> x=1 x(i) = k setzt das i-te Element auf den Wert k und verlängert den Vektor wenn i > length(x). A(i,j) = k setzt das (i,j)-te Element auf den Wert k, hängt ggf. Zeilen und Spalten an. x = 1 >> x(4) = 4 x = 1 0 0 4 >> x(3,3) = 5 x = 1 0 0 4 0 0 0 0 0 0 5 0

Fragen? Ende Theorie 1.2 Fragen?