Lösningar tentamen i kurs 2D1210, 2003-04-26 1. Noggrannhetsordning p innebär att felet går mot noll minst så snabbt som h p då h 0. Taylorurveckling: y(x + h) =y(x)+hy (x)+ h2 2 y (x)+ h3 6 y (x)+... (1) insätts i den första differenskvoten y(x + h) y(x) h ordningen är ett. Taylorurveckling: = hy (x)+ h2 2 y (x)+... = y (x)+ h h 2 y (x)+... y(x h) =y(x) hy (x)+ h2 2 y (x) h3 6 y (x)+... subtraheras från utvecklingen (1), endast udda potenser av h blir kvar, vilket ger: y(x + h) y(x h) 2h ordningen är två. Svar: ett och två. = 2hy (x)+2 h3 6 y (x)+... = y (x)+ h2 2h 6 y (x)+... 2. Problemet är på formenax = b med 1 2 6 A = 1 1 b = 2 x = 3 1 0 ( ) x1 Normalekvationerna A T Ax = A T b ger minstakvadratlösningen. ( ) 1 2 ( ) 1 1 3 A T 11 0 A = 1 1 = 2 1 1 0 6 3 1 ( ) 6 ( ) 1 1 3 A T 8 b = 2 = 2 1 1 14 0 Normalekvationerna blir alltså 11x 1 = 8 6x 2 =14 1 x 2
vilket ger svar: x 1 =8/11, x 2 =7/3. Residualvektorn, r, gesavr = b Ax med x =(8/11, 7/3).Om r = (r 1 r 2 r 3 ) T såberäknas den euklidiska normen som r = r1 2 + r2 2 + r3. 2 3. Newton-Raphson för att lösa f(x) =0 definieras av x k+1 = x k f(x k) f (x k ) här är f(x) =x 2 2så formeln blir Iterera: x 0 =1, x k+1 = x k x2 k 2 2x k x 1 = 1 1 + 1 2 = 3 2 = 1 x k + x k 2 x 2 = 2 3 + 3 4 = 17 12 b) Felet avtar kvadratiskt, så felvidk = 3bör ungefär vara kvadraten på felet vid k =2, dvs 4 10 6 Svar: a) 17,b)4 10 6 12 4. (a) Trapetsregeln för att beräkna b a f(x) dx säger att T (h) =h(f 0 /2+f 1 + f 2 +...f n 1 + f n /2) b a f(x) dx där h =(b a)/n och f i = f(ih) (b) Formel för richardsonextrapolation: ˆT (h) =(4T (h) T (2h))/3, där ˆT (h) är approximation med förbättrad noggrannhet. Matlabprogram nedan Uppgift 4, trapetsregeln. Input: n - antal intervall Output: t - Approximation med trapetsformel tr - Approximation med richardssonextrapolation 2
Inget forsok att spara operationer genom att ateranvanda funktionsvarden fran grovre indelning har gjorts. Vektornotation har inte anvants function [t,tr] = u4( n ) for k=1:3 h = 1/n; sum = 1/2; for i=1:n-1 sum = sum + sqrt( (i*h)^3 + 1 ); end; sum = sum + sqrt(1.0+1.0)/2; t(k) = sum*h; n = 2*n; end; tr(1) = (4*t(2)-t(1))/3; tr(2) = (4*t(3)-t(2))/3; ) 5. Insättning av datapunkter ger systemet f 1 (A, a, c) =(8+A sin at 3 1 )e ct 1 y 1 =0 f 2 (A, a, c) =(8+A sin at 3 2)e ct 2 y 2 =0... f 20 (A, a, c) =(8+A sin at 3 20)e ct 20 y 20 =0 (2) Detta är ett överbestämt ekvationssystem för de obekanta x =(A, a, c) och löses med Gauss-Newtons metod, J(x k+1 )(x k+1 x k )= f(x k ) där J(x) är jacobianmatrisen. Det linjära systemet är överbestämt och löses med linjär minstakvadratapproximation i varje iteration. Jaco- 3
bianmatrisen ges av de partiella derivatorna och blir här sin(at 3 1)e ct 1 At 3 1 cos(at 3 1)e ct 1 t 1 (8 + A sin at 3 1)e ct 1 sin(at J(A, a, c) = 3 2 )e ct 2 At 3 2 cos(at3 2 )e ct 2 t 2 (8 + A sin at 3 2 )e ct 2......... sin(at 3 20)e ct 20 At 3 20 cos(at 3 20)e ct 20 t 20 (8 + A sin at 3 20)e ct 20 Algoritmen blir : 0. Ge feltolerans 1. Gissa startvärden A 0,a 0,c 0, k =0 2. Iterera till felet < tolerans a) Lös det överbestämda linjära systemet δa J(A k,a k,c k ) δa = f(a k,a k,c k ) δc med linjär minstakvadratlösning. f(a, a, c) är (den vektorvärda) funktionen (2), och J är 20 3 matrisen ovan. b) Updatera lösningen A k+1 a k+1 = c k+1 A k a k + c k δa δa δc samt beräkna felet som A k+1 A k δa a k+1 a k = δa c k+1 c k δc 3. Sätt k = k +1ochgå till 2. Minstakvadratmetoden minimerar den euklidiska normen av residualen, dvs f 1 (A, a, c) 2 + f 2 (A, a, c) 2 +...+ f 20 (A, a, c) 2 minimeras med avseende på A, a, c. 6. Newtons ansats för interpolation av andragradspolynom genom tre punkter p(x) =c 1 + c 2 (x x 1 )+c 3 (x x 1 )(x x 2 ) 4
Sätt in punkterna i polynomet (vi har x 1 =1,x 2 =4): 5=p(1) = c 1 14 = p(4) =5 + c 2 (4 1) c 2 =3 40 = p(6) =5 + 3 5+c 3 5 2 c 3 =2 Svar: Polynomet är : p(x) =5+3(x 1) + 2(x 1)(x 4) En extra punkt läggs till, polynomet utökas med en term q(x) =p(x)+c 4 (x 1)(x 4)(x 6) Både p och q går genom de tre första punkterna, eftersom extratermen är noll i dessa. Insättning av ny punkt ger 50 = q(7) = p(7) + c 4 6 3 1 c 4 = 1/2 Svar: Polynomet är: q(x) =5+3(x 1) + 2(x 1)(x 4) 1 2 (x 1)(x 4)(x 6) 7. Införande av ny obekant u, medu = y, ger system u = 2xu y y = u med initialdata Matlabprogram ( ) ( ) u C = y 0.1 Uppgift 7, Differentialekvation Input: c - Initalt varde for y (0) Output: y10 - Beraknat funktionsvarde vid x=10 function y10 = u7( c ) [t,y] = ode45( f7,0, 10,[c;0.1]); 5
Bestamning av y(10) n = length(t); y10 = y(n,2); Plotting av losning plot(t,y(:,2)) For att plotta derivatan: plot(t,y(:,2),t,y(:,1)) med tillhörande funktionsfil function f= f7 (t,y) f(1) = -2*t.*y(1)-y(2); f(2) = y(1); Beräkna y(10) med y (0) = C 0.0005, kalla resultatet y. Beräkna y(10) med y (0) = C +0.0005, kalla resultatet y +. En skattning av osäkerheten i y gesavformeln y dy(c) dc C där y är osäkerheten i y, och C är osäkerheten i C. Mednumerisk skattning av derivatan erhålles y y + y 2 0.0005 0.0005 = y + y /2 6