Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » algoks » Forendiskussionen (Übersicht)
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
pruefungen:bachelor:algoks:loesungws10 [31.01.2014 17:58] – Dawodo | pruefungen:bachelor:algoks:loesungws10 [22.07.2015 12:44] (aktuell) – ellyria | ||
---|---|---|---|
Zeile 27: | Zeile 27: | ||
< | < | ||
- | l(x) = { 0 für 0 <= x < 1 | + | l(x) = { 0 für 0 <= x < 1 |
- | { 12x - 12 für 1 <= x < 2 | + | { 12x - 12 |
- | { 60x - 108 für 2 <= x < 3 | + | { 60x - 108 für 2 <= x < 3 |
</ | </ | ||
**b)** | **b)** | ||
- | Koeffizienten | + | Koeffizienten |
c0 = 0, c1 = 0, c2 = 6, c3 = 6 | c0 = 0, c1 = 0, c2 = 6, c3 = 6 | ||
- | Polynom: | + | Polynom: |
a(x) = 6x³ - 12x² + 6x | a(x) = 6x³ - 12x² + 6x | ||
**c)** | **c)** | ||
+ | |||
< | < | ||
|1 0 0 0 | | |1 0 0 0 | | ||
Zeile 49: | Zeile 50: | ||
**d)** | **d)** | ||
+ | |||
Die Systemmatrix A ist eine untere Dreiecksmatrix und lässt sich einfach durch Vorwärtseinsetzen lösen. | Die Systemmatrix A ist eine untere Dreiecksmatrix und lässt sich einfach durch Vorwärtseinsetzen lösen. | ||
Zeile 54: | Zeile 56: | ||
**a)** | **a)** | ||
+ | |||
< | < | ||
- | |1 0 0 0| | + | |
L = |2 1 0 0| | L = |2 1 0 0| | ||
- | |0 3 1 0| | + | |
- | |0 0 2 1| | + | |0 0 2 1| |
- | |2 1 4 1| | + | |
U = |0 1 1 1| | U = |0 1 1 1| | ||
- | |0 0 2 1| | + | |
- | |0 0 0 3| | + | |0 0 0 3| |
</ | </ | ||
Zeile 73: | Zeile 76: | ||
**a)** | **a)** | ||
+ | |||
* Affine Invarianz | * Affine Invarianz | ||
* Bézier-Kurven liegt in der konvexen Hülle | * Bézier-Kurven liegt in der konvexen Hülle | ||
Zeile 87: | Zeile 91: | ||
**a)** | **a)** | ||
+ | |||
Fläche im spitzen Winkel bei T | Fläche im spitzen Winkel bei T | ||
**b)** | **b)** | ||
+ | |||
Halbgerade RS links von R (exklusiv) | Halbgerade RS links von R (exklusiv) | ||
**c)** | **c)** | ||
+ | |||
Punkt T | Punkt T | ||
**d)** | **d)** | ||
- | ... | + | |
+ | P0: Auf 2/3 der Strecke von R nach S \\ | ||
+ | P1: Relativ mittig im Dreieck, leicht in Richtung T bzw. der Strecke TS versetzt \\ | ||
+ | P2: Existiert nicht (Summe ergibt 0 statt 1) | ||
**e)** | **e)** | ||
- | ρ = -2 | + | |
- | σ = 1 | + | ρ = -2 \\ |
- | τ = 2 | + | σ = 1 \\ |
+ | τ = 2 | ||
==== Aufgabe 6 - Singulärwertzerlegung ==== | ==== Aufgabe 6 - Singulärwertzerlegung ==== | ||
**a)** | **a)** | ||
- | Singulärwerte: | + | |
- | Rang: r = 3 | + | Singulärwerte: |
- | Bild: span{(-1/3 -2/3 -2/3)^T, (-2/3 2/3 -1/3)^T, (-2/3 -1/3 2/3)^T} | + | Rang: r = 3 \\ |
- | Kern: span{(1/2 -1/2 -1/2 1/2)^T} | + | Bild: span{(-1/3 -2/3 -2/3)^T, (-2/3 2/3 -1/3)^T, (-2/3 -1/3 2/ |
+ | Kern: span{(1/2 -1/2 -1/2 1/ | ||
Konditionszahl: | Konditionszahl: | ||
**b)** | **b)** | ||
+ | |||
(-14 -4 4 14)^T | (-14 -4 4 14)^T | ||
**c)** | **c)** | ||
+ | |||
< | < | ||
- | |1 1 1 1| | + | |
- | -1/4 x |2 2 2 2| | + | -1/4 x |2 2 2 2| |
- | |2 2 2 2| | + | |2 2 2 2| |
</ | </ | ||
==== Aufgabe 7 - Programmierung ==== | ==== Aufgabe 7 - Programmierung ==== | ||
- | ... | ||
- | |||
- | ==== Aufgabe 8 - Numerische Integration ==== | ||
**a)** | **a)** | ||
- | 20 | + | |
+ | <code cpp> | ||
+ | BezierCurve:: | ||
+ | this-numCPs = numCPs; | ||
+ | this-> | ||
+ | |||
+ | for(int i = 0; i < numCPs; i++) { | ||
+ | this-> | ||
+ | } | ||
+ | } | ||
+ | |||
+ | BezierCurve:: | ||
+ | delete[] CPs; | ||
+ | } | ||
+ | </ | ||
**b)** | **b)** | ||
- | 17 | + | |
+ | <code cpp> | ||
+ | void BezierCurve:: | ||
+ | Points* newCPs = new Point[numCPs - 1]; | ||
+ | |||
+ | for(int i = 0; i < numCPs; i++) { | ||
+ | if(i < idx) | ||
+ | newCPs[i] = CPs[i]; | ||
+ | |||
+ | if(i > idx) { | ||
+ | newCP[i - 1] = CPs[i]; | ||
+ | } | ||
+ | |||
+ | delete[] CPs; | ||
+ | CPs = newCPs; | ||
+ | |||
+ | this-numCPs = numCPs - 1; | ||
+ | } | ||
+ | </ | ||
**c)** | **c)** | ||
- | 16 | + | |
+ | <code cpp> | ||
+ | Point BezierCurve:: | ||
+ | Point tmpCPs[numCPs]; | ||
+ | |||
+ | for(int i = 0; i < numCPs; i++) | ||
+ | tmpCPs[i] = CPs[i]; | ||
+ | |||
+ | for(int c = 1; c < numCPs; c++) { | ||
+ | for(int r = 0; r < numCPs, numCPs - c; r++) { | ||
+ | tmpCPs[r] = (1-t) * tmpCPs[r] + t * tmpCPs[r + 1]; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | return tmpCPs[0]; | ||
+ | } | ||
+ | </ | ||
**d)** | **d)** | ||
- | 16 | + | |
+ | <code cpp> | ||
+ | void BezierCurve:: | ||
+ | Point* newCPs = new Point[numCPs + 1]; | ||
+ | newArr[0] = CPs[0]; | ||
+ | newArr[numCPs] = CPs[numCPs - 1]; | ||
+ | |||
+ | for(int i = 1; i < numCPs; i++) { | ||
+ | float t = i / (numCPs + 1); | ||
+ | float z = (numCPs + 1 - i) / (numCPs + 1); | ||
+ | newArr[i] = t * CPs[i - 1] + z * CPs[i]; | ||
+ | } | ||
+ | |||
+ | delete[] CPs; | ||
+ | CPs = newArr; | ||
+ | numCPs++; | ||
+ | } | ||
+ | </ | ||
**e)** | **e)** | ||
- | 16 | ||
- | **f)** | + | <code cpp> |
- | O(h²) | + | void BezierCurve:: |
+ | for(int i = 0; i < numCPs; i++) | ||
+ | CPs[i] = 2 * p - CPs[i]; | ||
+ | } | ||
+ | </ | ||
- | **g)** | + | |
- | O(h^4) | + | **c)** |
+ | |||
+ | ==== Aufgabe 8 - Numerische Integration ==== | ||
+ | |||
+ | **a)** 20 | ||
+ | |||
+ | **b)** 17 | ||
+ | |||
+ | **c)** 16 | ||
+ | |||
+ | **d)** 16 | ||
+ | |||
+ | **e)** 16 | ||
+ | |||
+ | **f)** O(h²) | ||
+ | |||
+ | **g)** | ||
==== Aufgabe 9 - Matrix-Norm und Kondition ==== | ==== Aufgabe 9 - Matrix-Norm und Kondition ==== | ||
**a)** | **a)** | ||
- | Das Problem ist für Funktion g(x) besser konditioniert, | + | |
- | K(f) = π | + | Das Problem ist für Funktion g(x) besser konditioniert, |
- | K(g) = 1/π | + | K(f) = π \\ |
+ | K(g) = 1/π \\ | ||
g hat die kleinere Konditionszahl. | g hat die kleinere Konditionszahl. | ||
**b)** | **b)** | ||
+ | |||
7, 5, 19, 24, 6, 6 | 7, 5, 19, 24, 6, 6 | ||
**c)** | **c)** | ||
- | mit 1-Norm: | + | |
- | K(A_1) = 49/25 | + | mit 1-Norm: |
+ | K(A_1) = 49/25 \\ | ||
K(A_3) = 24 | K(A_3) = 24 | ||
**d)** | **d)** | ||
- | Die Geraden von SP_1 stehen fast senkrecht aufeinander. | + | |
- | Die Geraden von SP_2 verlaufen relativ parallel. | + | Die Geraden von SP_1 stehen fast senkrecht aufeinander. |
+ | Die Geraden von SP_2 verlaufen relativ parallel. | ||
Damit ist SP_1 besser konditioniert. | Damit ist SP_1 besser konditioniert. | ||
Zeile 172: | Zeile 271: | ||
**a)** | **a)** | ||
+ | |||
... | ... | ||
**b)** | **b)** | ||
- | x_2 = 1/2 | + | |
+ | x_2 = 1/2 \\ | ||
x_3 = -7 | x_3 = -7 | ||
**c)** | **c)** | ||
+ | |||
(-4, 3)^T | (-4, 3)^T |