====== A1 ====== **a)** siehe Komplexitaetenliste/Skript **b)** alter loesungsvorschlag: 4.5, 5.5, 6.5, 7.5 neuer loesungsvorschlag: gesucht sind FP mit B = 2 und t = 3 innerhalb [1,8]. FP = M * B^E mit M = [B^(t-1), B^(t)[ hier ist also M = [2^2, 2^3[ = [4,8[ = {4,5,6,7} E 1 0 -1 -2 M 4 8 4 2 1 5 >8 5 2.5 1.25 6 >8 6 3 1.5 7 >8 7 3.5 1.75 Fuer die restlichen Exponenten (E < -2 && E >1) sind die zugehoerigen FP auszerhalb von [1,8]. noch neuerer Lösungsvorschlag ;) : laut Aufgabenstellung soll die Mantissenlänge t = 3 sein. Das ist für E = 1 nicht gewährleistet. Daher gehört die 8 nicht mehr zu der Lösung. ====== A3 ====== **a)** L = {{1,0,0,0},{2,1,0,0},{0,-2,1,0},{0,0,-1,1}} U = {{3,1,0,0},{0,-3,2,0},{0,0,3,-2},{0,0,0,2}} **b)** x = (4, 1, -3)^T **c)** Q = 1/5{{4,-3},{3,4}} R = {{5,2},{0,1}} ====== A4 ====== **b)** \\ p0(x) = 2 + (x - 0) * ( 1-2 / 1-0 ) = 2 - x \\ p1(x) = 1 + (x - 1) * ( -1-1 / 2-1 ) = 1 + (x-1)*(-2) = 1 + (-2x) - (-2) = 3 - 2x \\ p2(x) = -1 + (x - 2) * (1-(-1) / 4-2 ) = x - 3 \\ p(x) = (2-x) * (3-2x) * (x-3) \\ \\ [ l(x) = 2-x fuer x in [0,1], 1-2x fuer x in [1,2], x-3 fuer x in [2,4] ](Alt) **c)** Forenloesung erklaert es imo. ganz gut (aber wsh schwer auffindbar) \\ a0 = 0 \\ a1 = -1 \\ a2 = -0.5 \\ a3 = 5/8 \\ a(x) = -x - 0.5*x*(x-1) + 5/8 *x*(x-1)*(x-2) = (5/8)x^3 - (7/4)x^2 - (13/8)x + 3/4 \\ **d)** m_1 = -1.5, m_2 = 0 ====== A5 ====== **a)** P0 = (0;3), P1 = (3:2), P2 = (2.5; 3.5) **b)** f_0 = f_1 = 4, f2 = 14/3 **c)** (2, 2) = (1/2, 1/6, 1/3) **d)** - Gerade tau = 1 geht durch T und liegt parallel zur Gerade RS \\ - die Menge liegt über Gerade RT und links und rechts von der Gerade ST (links eingeschränkt durch Gerade tau = 1!) **e)** M: w00 = w01 = w10 = w11 = 1/4 Q: w00 = 2/5, w10 = 4/15, w01 = 1/5, w11 = 2/15 ====== A6 ====== **a)** I: Tangentengleichheit in den Endpunkten, variationsreduzierend \\ II: Endpunktinterpolation, Tangentengleichheit in Endpunkten \\ III: konvexe Hülle, variationsreduzierend \\ (-ohne Garantie-) ====== A7 ====== **d)** if(kp.size()==1) return kp; std::vector n; for(int i = 0; i < kp.size() - 1; i++){ vec3 tmp = (1.0-u)*kp[i] + u*kp[i+1]; n.pushBack(tmp); } return deCasteljau(n,u)[0]; ====== A7 ====== **a)** Jacobi: x^1 = (1,1,0,2) **b)** GS: x^1 = (1,1,1,2.5) **c)** Ja, starke Spaltendiagonaldominanz **d)** Ja, schwache Spaltendiagonaldominanz, mind. in 1 Spalte starke Diagonaldominanz ====== A8 ====== **a)** I = 42 **b)** I = 24+2/3 **c)** ca. 72% bei Trapez und ca. 1% bei Simpson **d)** 24+5/12 (was ungefaehr 24 + 4.8 / 12 ist, was gerade die exakte Loesung ist) ====== A9 ====== **b)**\\ float xold = 0; do{ xold=x0; x0 = (float)f(xold)/df(xold): maxIterations--; }while(maxIterations>=0 && epsilon > std::abs(x0-xold)) return x0; **c)** \\ int count = 0; int[] erg = new int[maxIterations + 2]; erg[0] = x0; erg[1] = x1; do{ long zahler = erg[count]*f(erg[count+1]) + erg[count+1] * f(erg[count]) long nenner = f(erg[count+1]) - f(erg[count]) erg[count + 2] = (float)zahler/nenner; }while(count < maxIterations && std::abs(erg[count + 2] - erg[count)>epsilon)) return count+2;