Schriftlicher Test zu C (90 Minuten) VU Einführung ins Programmieren für TM. 1. Oktober 2012

Ähnliche Dokumente
Schriftlicher Test zu C++ (90 Minuten) VU Einführung ins Programmieren für TM. 22. Juni 2012

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 01. März 2015

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

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

Numerisches Programmieren, Übungen

Schriftlicher Test zu Matlab (90 Minuten) VU Einführung ins Programmieren für TM. 17. Juni 2011

Numerisches Programmieren, Übungen

Schriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 24. Juni 2016

Numerik I. Universität zu Köln SS 2009 Mathematisches Institut Prof. Dr. C. Tischendorf Dr. M. Selva,

Numerisches Programmieren, Übungen

Übungspaket 23 Mehrdimensionale Arrays

3 Matrizenrechnung. 3. November

4. Großübung. Lösung linearer Gleichungssysteme

D-MAVT Lineare Algebra I HS 2018 Prof. Dr. N. Hungerbühler. Lösungen = A 4 3 6

Algorithmen und Datenstrukturen (für ET/IT)

Java programmieren mit JavaKara. Eine Zusammenfassung in Beispielen

Algorithmen und Datenstrukturen (für ET/IT)

Matrizen, Determinanten, lineare Gleichungssysteme

Lineares Gleichungssystem

Klausur Kompaktkurs Einführung in die Programmierung Dr. T. Weinzierl & M. Sedlacek 25. März 2011

Blockmatrizen. Beispiel 1 Wir berechnen das Produkt von A R 4 6 mit B R 6 4 :

Numerik für Informatiker und Bioinformatiker. Daniel Weiß

Matrizen. Lineare Algebra I. Kapitel April 2011

Serie 5. Lineare Algebra D-MATH, HS Prof. Richard Pink. 1. [Aufgabe] Invertieren Sie folgende Matrizen über Q:

Kapitel 5. LU Zerlegung. 5.1 L- und U-Matrizen

3 Determinanten, Eigenwerte, Normalformen

Programmiersprachen Einführung in C

Lösung Serie 11: Lineare Gleichungssysteme, Gauss-Elimination & LR-Zerlegung

Matrix: Eine rechteckige Anordnung reeller Zahlen a ij (i = 1,..., n i ; j = 1,..., m) in Zeilen und Spalten. Die a ij heiÿen Elemente von A.

bekannt: Eliminationsverfahren von Gauß Verfahren führt zu einer Zerlegung der Koeffizientenmatrix: A = LR A = LR

Lineare Algebra 1. Roger Burkhardt

Matrizenoperationen mit FORTRAN

Übungspaket 23 Mehrdimensionale Arrays

Lineare Algebra und Numerische Mathematik für D-BAUG

pue13 January 28, 2017

MLAN1 1 MATRIZEN 1 0 = A T =

3 Lineare Gleichungssysteme

Cramersche Regel. Satz Es sei A R n n eine quadratische Matrix mit det(a) 0. Für ein LGS Ax = b sei. A j := (a 1,...,a j 1,b,a j+1,...

WiMa-Praktikum 1. Woche 8

Übungen zur Linearen Algebra II, Sommersemester Test, , Gruppe A: Lösung

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

Viel Erfolg bei der Bearbeitung der Aufgaben!

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6.

Wertebereich und Genauigkeit der Zahlendarstellung

Züchtungslehre - Einführung in Lineare Algebra Peter von Rohr

Computergestützte Mathematik zur Linearen Algebra

3 Matrizen und Lineare Gleichungssysteme

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

Strukturen & Math. Strukturen für mathematische Objekte: allgemeine Vektoren Matrizen

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.

5.2 Rechnen mit Matrizen

Strukturen. Deklaration von Strukturen. Strukturen & Members. Bemerkungen zu Strukturen

5.2 Rechnen mit Matrizen

Algorithmen und Datenstrukturen 2

Eigenschaften der Matrizenmultiplikation. Transponierung. Spezielle Matrizen.

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

Spezielle Matrizen. Invertierbarkeit.

Teil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.

Matrix-Algorithmen Matrixmultiplikation Allgemeiner Matrizen

Einstieg in die Informatik mit Java

Mathematik II Frühjahrssemester 2013

Rechenaufwand der LR- und LDL T - Zerlegung

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

Musterlösung 11. D-INFK Lineare Algebra HS 2017 Özlem Imamoglu Olga Sorkine-Hornung

A = ( a 1,..., a n ) ii) Zwei Matrizen sind gleich, wenn die Einträge an den gleichen Positionen übereinstimmen. so heißt die n n Matrix

Lineare Gleichungssysteme, LR-Zerlegung

Invertierbarkeit von Matrizen

Kurzform. Choleskyzerlegung. Julia Hoeboer. 13. Mai 2011

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

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

Spezielle Matrixformen

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

Matrikelnummer:

Vektoren und Matrizen

19. Dynamic Programming I

Universität Duisburg - Essen

Lineare Algebra und analytische Geometrie I

hue05 November 25, 2016

19. Dynamic Programming I

Einstieg in die Informatik mit Java

Zusatzübung. Abgabetermin: Gruppe: G1 (Löberbauer) G2 (Prähofer) G3 (Prähofer)

44 Orthogonale Matrizen

Wiederholungsklausur "C#" SS 2013

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

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

Numerische Lineare Algebra

Lineare Algebra und analytische Geometrie I

Teil I. Lineare Algebra I Vorlesung Sommersemester Olga Holtz. MA 378 Sprechstunde Fr und n.v.

C++ Teil 5. Sven Groß. 16. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16

Numerische Lineare Algebra - Matlab-Blatt 2

Algebraische und arithmetische Algorithmen

4 Matrizenrechnung. Beide Operationen geschehen also koeffizientenweise. Daher übertragen sich die Rechenregeln von K(m n, k).

Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Welche Informatik-Kenntnisse bringen Sie mit?

Copyright, Page 1 of 5 Die Determinante

Lösung zur Übungs-Klausur Informatik für allg. Maschinenbau

Lineare Gleichungssysteme: direkte Verfahren

Universität Duisburg - Essen

Transkript:

Familienname: Vorname: Matrikelnummer: Aufgabe 1 (2 Punkte): Aufgabe 2 (3 Punkte): Aufgabe 3 (2 Punkte): Aufgabe 4 (3 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (1 Punkte): Aufgabe 7 (2 Punkte): Aufgabe 8 (7 Punkte): Aufgabe 9 (3 Punkte): Aufgabe 10 (5 Punkte): Gesamtpunktzahl: Schriftlicher Test zu C (90 Minuten) VU Einführung ins Programmieren für TM 1. Oktober 2012 Aufgabe 1 (2 Punkte). Was ist der Unterschied und der Zusammenhang zwischen einer Variable und einem Pointer? Lösung zu Aufgabe 1.

Aufgabe 2 (3 Punkte). Schreiben Sie eine Funktion swap, die die Werte zweier Variablen a und b vertauscht. Warum funktioniert das folgende Vorgehen nicht? Wie würde man es richtig implementieren? void swap(double a, double b) { double tmp = a; a = b; b = tmp; Lösung zu Aufgabe 2.

Aufgabe 3 (2 Punkte). Schreiben Sie einen Struktur-Datentyp Matrix zur Speicherung quadratischer Matrizen A R n n beliebiger Dimension n N. In der Struktur sollen neben der Dimension n die Koeffizienten A jk vom Typ double gespeichert werden, wobei die Matrix A spaltenweise im Speicher abgelegt werde. Eine (3 3)-Matrix A = a 00 a 01 a 02 a 10 a 11 a 12 a 20 a 21 a 22 werde also beispielsweise in einem Vektor entries mit entries = (a 00,a 10,a 20,a 01,a 11,a 21,a 02,a 12,a 22 ) gespeichert. Diese Struktur soll auch in allen nachfolgenden Aufgaben verwendet werden. Lösung zu Aufgabe 3. Aufgabe 4 (3 Punkte). Schreiben Sie eine Funktion newmatrix, die für gegebenes n N eine Matrix A R n n allokiert und initialisiert. Lösung zu Aufgabe 4.

Aufgabe 5 (2 Punkte). Schreiben Sie eine Funktion delmatrix, die den Speicher einer Matrix A R n n freigibt und den NULL-Pointer zurückgibt. Lösung zu Aufgabe 5. Aufgabe 6 (1 Punkt). Schreiben Sie eine Funktion getmatrixdim, die die Dimension n N einer Matrix A R n n zurückgibt. Lösung zu Aufgabe 6.

Aufgabe 7 (2 Punkte). Schreiben Sie eine Funktion getmatrixentry, die für gegebene Indizes j,k den Koeffizienten A jk von A R n n zurückgibt. Begründen Sie Ihre Index- Formel (spaltenweise Speicherung!). Lösung zu Aufgabe 7.

Gegeben sei eine Matrix A R n n mit ihrer normalisierten LU-Zerlegung A = LU, wobei L R n n eine normalisierte untere Dreiecksmatrix und U R n n eine obere Dreiecksmatrix mit n j=1 u jj 0 seien, d.h. es gilt a 00 a 01... a 0,n 1 1 0... 0 u 00 u 01... u 0,n 1 a 10 a 11... a 1,n 1.... = l 10 1.... 0 u 11.......... 0....... un 2,n 1 a n 1,0 a n 1,1... a n 1,n 1 l n 1,0... l n 1,n 2 1 0... 0 u n 1,n 1. EinesolcheFaktorisierungistbrauchbar, wennmanfürvieleb R n dasgleichungssystem Ax = b lösen muss. Aufgabe 8 (7 Punkte). Nicht jede regulärematrix A R n n besitzt eine normalisierte LU-Zerlegung. Wenn aber A = LU eine normalisierte LU-Zerlegung ist, so gilt i 1 u ik = a ik l ij u jk j=0 l ki = 1 u ii ( a ki i 1 ) l kj u ji j=0 l ii = 1 für i = 0,...,n 1, für i = 0,...,n 1, k = i,...,n 1, für i = 0,...,n 1, k = i+1,...,n 1, wie man leicht über die Formel für die Matrix-Matrix-Multiplikation zeigen kann. Alle übrigen Einträge von L,U R n n sind Null. Man schreibe eine Funktion computelu, die (n n)-matrizen A, L und U übernimmt und die Matrizen L und U mit den Werten der LU-Zerlegung überschreibt. Sie dürfen davon ausgehen, dass L und U als(n n)-matrizen mit Nulleinträgen initialisiert sind. ACHTUNG: Überlegen Sie sich zunächst, wie viele geschachtelte Schleifen Sie brauchen und in welcher Reihenfolge diese durchlaufen werden müssen, damit alle auftretenden Produkte l ij u jk bzw. l kj u ji bereits berechnet worden sind!

Lösung zu Aufgabe 8.

Aufgabe 9 (3 Punkte). Was versteht man unter Aufwand? Was besagt die Landau- Notation O(N α )? Welchen Aufwand hat die Berechnung der LU-Zerlegung in Landau- Notation? Begründen Sie Ihre Antwort. Lösung zu Aufgabe 9.

Aufgabe 10 (5 Punkte). Was tut die folgende Funktion func bei Übergabe der Matrix? 3 0 0 0 A = 0 4 0 3 1 2 0 2 (1) 17 4 4 1 Geben Sie tabellarisch wider, welchen Wert die Variablen zum angegebenen Zeitpunkt haben. Erweitern Sie hierfür die untenstehende Tabelle geeignet. Welche Funktionalität wird durch func bereitgestellt? Was ist an dieser Lösung ineffizient realisiert, und wie könnte man das effizienter gestalten? int func(matrix* mat) { double foo = 0; int mp, dp, tf; mp = 1; for (dp = 0; dp < getmatrixdim(mat); ++dp) { for (tf = dp+1; tf < getmatrixdim(mat); ++tf) { foo = getmatrixentry(mat,dp,tf); if ( foo!= 0 ) { mp = 0; /* WERT DER VARIABLEN ZU DIESEM ZEITPUNKT */ return mp; mp foo dp tf