Link zum FSI-Thread: https://fsi.informatik.uni-erlangen.de/forum/thread/7529-Klausur-vom-Februar-2010-Loesungsversuch
a)
n n j n j
b)
n n n j n
c)
n n n n j
d)
j j n j j
a)
0 0 1 0 3 4 0 0 2 1 0 0 0 0 0 1 3 2 0 0
b)
a)
A^T * A * x = A^T * b
b)
a)
b)
c)
ρ = 1/3
σ= 1/3
τ= 1/3
d)
Punkt P teilt Dreieck in drei Teil-Dreiecke. Das Verhältnis jedes Teil-Dreiecks (Punkt P und je zwei der anderen ursprünglichen Punkte) zum ganzen Dreieck ergibt jeweils eine baryzentrische Koordinate.
e)
Bild 1: Gerade durch T und die Mittelsenkrechte der Strecke RS
Bild 2: Gerade durch T und S
f)
f(P4) = 39 f(P5) = 57
s F(s,t) = t s^2*t + s*t^2 - s*t
a)
b)
Geringerer Aufwand
c)
x x x x x x 0 5 2 x x 0 4 2 x x 0 5 2 x x x x x x
a)
b)
c)
Für dünnbesetzte Matrizen besonders gut geeignet.
a)
1 0 0 0 2 -1 0 0 2 1 0 0 0 2 1 0 0 -2 1 0 0 0 1 1 0 0 -2 1 0 0 0 -1 L R
b) x = (3/2, 1, -4, 2)^T
a)
NewtonPolynom :: NewtonPolynom(const float *_x, const float *_y, const int _n) { n = _n; x = new float[n]; y = new float[n]; a = new float[n]; for (int i = 0; i < n; i++) { x[i] = _x[i] ; y[i] = _y[i] ; } // Erster Koeffizient a[0] = y[0]; for (int row = 1; row < n; row++) { for (int col = 0; col < n-col; col++) { y[col] = (y[col+1] - y[col]) / (x[row+col] - x[col]); } // Übernehme Koeffizienten (der immer im höchsten Element ist) a[row] = y[0]; } }
b)
float NewtonPolynom::operator()(const float x0) const { float result = a[n-1]; for (int i = n-2; i >= 0; i--) { result = a[i] * (x0 - x[i]) + result; } return result; }