Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » algoks » Lösungsvorschlag   (Übersicht)

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte ÜberarbeitungBeide Seiten, nächste Überarbeitung
pruefungen:bachelor:algoks:loesungws15 [01.08.2017 10:22] Marcel[Inf]pruefungen:bachelor:algoks:loesungws15 [02.08.2017 10:48] Marcel[Inf]
Zeile 87: Zeile 87:
 l_1 = [(x+1)(x-2)/(1+1)(1-2)] = -1/2 * (x^2 -x -2)\\ l_1 = [(x+1)(x-2)/(1+1)(1-2)] = -1/2 * (x^2 -x -2)\\
 l_2 = [(x+1)(x-1)/(2+1)(2-1)] = 1/3 * (x^2 - 1) l_2 = [(x+1)(x-1)/(2+1)(2-1)] = 1/3 * (x^2 - 1)
 +
 +Ich glaube nicht, dass das Ausmultiplizieren gefordert war. Dies wird in neueren Klausuren auch explizit angemerkt.
  
 **d)**\\ **d)**\\
-p(x) = -l_0 + 2*l_1 + 4*l_2 = -1/6 * (x^-3x +2) -(x^2 -x -2) + 4/3 * (x^2 - 1)+-1und 4 (das sind genau die y_i)
  
 **e)**\\ **e)**\\
Zeile 120: Zeile 122:
      
  **b)**\\  **b)**\\
-b_0 = (18, 8)^T +Affine Transformation \Phi(x, y) = (y, x)^T + (-2, 0)^T. 
-b_1 = (10, 0)^T + 
-b_2 = (2, 8)^T +b_0 = (14, 8)^T 
-b_3 = (58, 32)^T+b_1 = (6, 0)^T 
 +b_2 = (-2, 8)^T 
 +b_3 = (54, 32)^T
  
 **c)**\\ **c)**\\
Zeile 134: Zeile 138:
 **e)**\\ **e)**\\
  
 +Man skizziere sich drei Punkte und führe den De-Casteljau-Algorithmus aus.
 +Zuerst interpoliert man d_0 und d_1: 1/2 (d_0 + d_1)\\
 +Dann d_1 und d_2: 1/2 (d_1 + d_2)\\
 +Nun interpoliert man diese beiden Punkte und gelangt zu:\\
 +1/2 (1/2 (d_0 + d_1)) + 1/2 (1/2 (d_1 + d_2)) = 1/4 d_0 + 1/2 d_1 + 1/4 d_2
  
 ==== Aufgabe 7 (Programmierung: Bilineare Interpolation) ==== ==== Aufgabe 7 (Programmierung: Bilineare Interpolation) ====
 +<code> 
 +def getInterpolatedPixel(img, u, v): # img ist np array 
 +  xf = v * (img.shape[1] - 1) 
 +  yf = u * 8img.shape[0] - 1) 
 +  p00 = (floor(xf), floor(yf)) 
 +  p01 = (ceil(xf), floor(yf)) 
 +  p10 = (floor(xf), ceil(yf)) 
 +  p11 = (ceil(xf), ceil(yf)) 
 +  w0 = xf - p00[0] 
 +  w1 = yf - p11[1] 
 +  return w1 * ((1-w0) * img[p00] + w0 * img[p01]) + (1-w1) * ((1-w0) * img[p10] + w0 * img[p11])) 
 +</code>
 ==== Aufgabe 8 (Baryzentrische Koordinaten) ==== ==== Aufgabe 8 (Baryzentrische Koordinaten) ====
 **a)**\\ **a)**\\
Zeile 168: Zeile 188:
  
 **d)**\\ **d)**\\
-Der erste Uebergang leicht nach unten gebogen, dann linear:+Der erste Uebergang leicht nach unten gebogen (quadratisch), dann linear:
 (-1/2, 0) -> (3/2, 1) -> (3/2 + x, 1 + x) (-1/2, 0) -> (3/2, 1) -> (3/2 + x, 1 + x)
 +
 +Quadratisch kommt daher, dass man in das erste Dreieck hineinläuft. Die 'Slices' des Dreiecks, die man immer hinzufügt, werden größer und größer, sozusagen 1 + 2 + 3 + 4, was bekanntermaßen O(n^2) ist.\\
 +Es tritt dann bei x=0,5 vollkommene Überlappung auf. Nun haben wir ein Trapez, das mit größer werdendem x immer weiter nach rechts geschoben wird und oben durch f begrenzt wird. Formel für den Flächeninhalt eines Trapezes ist h * (a + c)/2. Die Höhe, oder hier die Breite des Trapezes, ändern wir nicht, sie bleibt konstant 1. Lediglich a und c ändern wir, diese sind aber gerade die Bilder unter f. Da diese immer 'gleichzeitig' nach rechts geschoben werden, ändert sich a + c auch nur linear. Der Flächeninhalt ist also linear in x. Nun braucht man nur zwei Punkte sich im Kopf kurz zu errechnen und zeichnet sich seine Gerade durch.
 +
 +**e)**\\
 +Unterscheide nach x < -2, -2 <= x <= 2, 2 < x < \infty.\\
 +(f*g_2)(x) =\\
 +0 falls x < -2,
 +1/8 (x+2)^2 falls 2 <= x <= 2,\\
 +x falls 2 < x < \infty (also sonst)
  
 ==== Aufgabe 10 (Hauptkomponentenanalyse) ==== ==== Aufgabe 10 (Hauptkomponentenanalyse) ====
 +
 +**a)**\\
 +
 +Schwerpunkt S = (1, 1)^T\\
 +A := (p_0 - S | p_1 - S | ... | p_4 - S)
 +
 +Dann ist C = 1/(5 - 1) * AA^T = 1/2 {{9, 0}, {0, 4}}.
 +
 +**b)**\\
 +<code>
 +det(B-\lambda Id) = (1-\lambda)(7-\lambda) // bitte a^2-b^2 = (a-b)(a+b) nutzen :)
 +
 +Eig(1) = span{(1, 1)^T}\\
 +Eig(7) = span{(-1, 1)^T}</code>
  
 ==== Aufgabe 11 (Numerische Integration) ==== ==== Aufgabe 11 (Numerische Integration) ====
Zeile 182: Zeile 226:
  
 **c)**\\ **c)**\\
-''T_f(1/2) = 20    \ +<code> 
-                         +T_f(1/2) = 20    \ 
-T_f(1/4) = 17  -> T_f^1 (1/4) = (4T_f(1/4) - T_f(1/2))/3 = 16 (was übrigens der exakte Wert des Integrals ist)''+                  
 +T_f(1/4) = 17  ---> T_f^1 (1/4) = (4T_f(1/4) - T_f(1/2))/3 = 16 (was übrigens der exakte Wert des Integrals ist) 
 +</code> 
 + 
 +**d)**\\ 
 +<code>(1 - 0) * (1/6 * f(0) + 4/6 * f((0 + 1)/2) + 1/6 * f(1)) = 16</code> 
 + 
 +Hier muss der exakte Wert rauskommen, denn die Simpson-Regel angwandt auf ein kubisches Polynom ist immer exakt (folgt aus der einen Fehlerabschätzung, welche max{|f^(4)(x)|} erwähnt, was ja 0 bei kubischen Polynomen ist!). 
 + 
 +**e)**\\ 
 +O(h^2) 
 + 
 +**f)**\\ 
 +O(h^4)