Einführung in die Programmierung (MA8003)

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

3 Matrizenrechnung. 3. November

Matlab - eine kurze Einführung

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

Einführung in Matlab Was ist MATLAB? Hilfe Variablen

Eine kurze Einführung in MATLAB

Matlab: eine kurze Einführung

2 Matrizen und Vektoren

Anwendungssoftware III (MATLAB)

Erwin Grüner

Einführung in MATLAB

1 Matrizenrechnung zweiter Teil

Lineare Algebra: Determinanten und Eigenwerte

Einführung in MATLAB Blockkurs DLR:

Informationsverarbeitung im Bauwesen

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

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

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.

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

Vektorräume und Rang einer Matrix

Einstieg in die Informatik mit Java

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

Rang einer Matrix. 1-E1 Ma 1 Lubov Vassilevskaya

Serie 10: Inverse Matrix und Determinante

täglich einmal Scilab!

Einführung in. Pierre Bayerl

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

8. Elemente der linearen Algebra 8.5 Quadratische Matrizen und Determinanten

Orthonormalbasis. Orthogonalentwicklung

Matlab Übersicht. Matlab steht für MATrix LABoratory, die Fa. The Mathworks wurde 1984 gegründet

Mathematische Erfrischungen III - Vektoren und Matrizen

Organisatorisches. Grundsätzliches. Computermathematik. Organisatorisches. Einführung in MATLAB. Winfried Auzinger.

Inverse Matrix. 1-E Ma 1 Lubov Vassilevskaya

Überbestimmte Gleichungssysteme

Gruppe I (SS 2010) VU Einführung ins Programmieren für TM. 23. März 2010

a 2β... a n ω alle Permutationen von α β γ... ω a 3 γ ( 1) k a 1α

mit "Skalarprodukt" aus i-tem "Zeilenvektor" und j-tem "Spaltenvektor"

Serie 8: Fakultativer Online-Test

10:Exkurs MATLAB / Octave

Der Kern einer Matrix

3 Schnellkurs in MATLAB

Mathematik II Frühjahrssemester 2013

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth

Matrizen, Determinanten, lineare Gleichungssysteme

Lineare Gleichungssysteme - Grundlagen

Statistisches Programmieren

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck

36 2 Lineare Algebra

1 Singulärwertzerlegung und Pseudoinverse

Wirtschaftsmathematik Formelsammlung

Matrizen. Spezialfälle. Eine m nmatrix ist ein rechteckiges Zahlenschema mit. m Zeilen und n Spalten der Form. A = (a ij ) =

Matlab Praktikum - Tag 1

Installation. Arbeiten mit der MATLAB-Entwicklungsumgebung. MATLAB als Taschenrechner mit Matrix- und Vektorrechnung.

Zyklen: break und continue

Lineare Algebra mit dem Statistikprogramm R

Analytische Geometrie mit dem Voyage 1

Klausur Grundlagen Informatik Musterklausur & Lösungen

Matrix-Algorithmen Matrixmultiplikation Allgemeiner Matrizen

4 Lineare Abbildungen und Matrizen

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Lineare Algebra I (WS 13/14)

R-Tutorial. R bietet zahlreiche Hilfe-Funktionen an. Informiere Dich über die Funktion log():

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Vektoren. 2.1 Darstellung. Kapitel Subtraktion und Addition

Zweiter Teil des Tutorials. Workspace M-files Matrizen Flow Control Weitere Datenstrukturen Gemeinsames Beispiel erarbeiten

Spezialfall: Die Gleichung ax = b mit einer Unbekannten x kann mit Hilfe des Kehrwerts 1 a = a 1 gelöst werden:

Aufgabensammlung aus Mathematik 2 UMIT, SS 2010, Version vom 7. Mai 2010

8.2 Invertierbare Matrizen

QR-Zerlegung Allgemeines. Householder-Spiegelung. Givens-Rotation. Gram-Schmidt-Orthogonalisierung. Fazit. QR-Zerlegung.

Funktionen mehrerer Variabler

Strukturen & Math. Strukturen und Vektoren. Allokieren eines Vektors. Zugriff auf Strukturen. Freigeben eines Vektors

( ) Lineare Gleichungssysteme

Lineare Algebra. Gymnasium Immensee SPF PAM. Bettina Bieri

Kapitel 16. Aufgaben. Verständnisfragen. Rechenaufgaben

INTELLIGENTE DATENANALYSE IN MATLAB

Mathematik I Herbstsemester 2014 Kapitel 8: Lineare Algebra 8.1 Reelle Matrizen

Mathematik für Wirtschaftswissenschaftler, WS 10/11 Musterlösungen zu Aufgabenblatt 11

Einführung in die Vektor- und Matrizenrechnung. Matrizen

Numerische Lineare Algebra

Matlab Einführung. Tobias Wunner

Lineare Algebra 1. . a n1 a n2 a n3 a nm

Termin 7: DATENSTRUKTUREN UND ALGORITHMEN

1.Übung Mathematik I

Analytische Geometrie, Vektorund Matrixrechnung

Datenverarbeitung und Tabellenkalkulation. Braunschweig, den Dipl.- Ing. Katrin Leicht

Matrizenoperationen mit FORTRAN

Tag 9: Datenstrukturen

Einführung in MATLAB zur Veranstaltung Einführung in die Numerik

Lineare Algebra und Numerische Mathematik für D-BAUG. Serie 6

Überbestimmte Gleichungssysteme, Regression

[Nächste Frage: wie wissen wir, ob Spaltenvektoren eine Basis bilden? Siehe L6.1] , enthält eine Basis v. V, nämlich und somit das ganze V.

Matrizen, Gaußscher Algorithmus 1 Bestimmung der inversen Matrix

Tag 1: Einführung in Programmierung und Benutzung von Matlab

Normalengleichungen. Für eine beliebige m n Matrix A erfüllt jede Lösung x des Ausgleichsproblems Ax b min die Normalengleichungen A t Ax = A t b,

(Allgemeine) Vektorräume (Teschl/Teschl 9)

Skalarprodukte (Teschl/Teschl Kap. 13)

Vorlesung 5: DATENSTRUKTUREN UND ALGORITHMEN

3.4 Der Gaußsche Algorithmus

Mathematik für Informatiker II Übungsblatt 7

Technische Universität München Zentrum Mathematik. Übungsblatt 7

Transkript:

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

Theorie 1.2: 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 A 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 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) ; >> A\b 27.0000-192.0000 210.0000 >> A*x 1.0000 2.0000 3.0000 >> b /A 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 >> A\b -22.4152 87.1090-60.6662 >> A*x 0.9172 2.6622 2.1723 4.0276

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 >> 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

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 >> 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 -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 >> 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 1 2 3 >> x(:) 1 2 3 >> A*x error: operator *: nonconformant arguments (op1 is 3x3, op2 is 1x3) >> A*x(:) 2 4 2

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]) = [] 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. 1 >> x(4) = 4 1 0 0 4 >> x(3,3) = 5 1 0 0 4 0 0 0 0 0 0 5 0

Fragen? Ende Theorie 1.2 Fragen?