Lösningsförslag till Numerisk analys, 2016-08-22. Del I: (1) Nedan följer ett antal påståenden. Använd nyckelbegreppen därunder och ange det begrepp som är mest lämpligt. Skriv rätt bokstav (a)-(l) i luckan i varje mening Påståenden: (i) För att lösa icke-linjära ekvationer kan man använda (i) (ii) RK4 har (a) 4. (iii) För styva differentialekvationer är det bra att använda (j) (iv) När δ 1 bör man använda omskrivningen x + δ x = δ x+δ+ x för att undvika (f). (v) Det är viktigt att notera att inversen A 1 till en bandmatrisen A vanligtvis är (e) och att man därför aldrig bör beräkna A 1 explicit. Nyckebegrepp: (a) noggrannhetsordning (b) komplexitet (c) adaptivitet (d) explicita metoder (e) helfylld (f) kancellation (g) diskretiseringsfel (h) konvergensordning (i) iterationsmetoder (j) implicita metoder (k) maskinepsilon (l) konditionstal (2) För en iterationsmetod uppskattas felen e n i iterationerna till e 3 = 0.5017, e 4 = 0.0991, e 5 = 0.0205, e 6 = 0.00396. Vilken konvergensordning motsvarar detta? 0, dvs. ingen konvergens X 1, dvs. linjär konvergens 2, dvs. kvadratisk konvergens 3, dvs kubisk konvergens något annat (3) Modellen y = ax + b anpassad i minstakvadratmening till mätvärdena (1, 0), (2, 2), (4, 4) ger b lika med 2 1.7 1.3 X 1 0.7 0.3 0 inget av ovan. (4) För den exakta lösningen till differentialekvationen y (x) = f(x), y(x 0 ) = y 0 gäller att y(x n+1 ) y(x n ) = xn+h x n f(x)dx, från vilken kan vi dra följande påstående för att få globaltrunktionsfel. X Heuns metod i det här fallet är identisk med trapetsregeln för numerisk integration. Heuns metod i det här fallet är identisk med Simpsons formel för numerisk integration.
RK4 metod i det här fallet är identisk med trapetsregeln för numerisk integration. RK4 metod i det här fallet är identisk med Rombergs metod för numerisk integration. (5) Punkterna (0, 5), (1, 4) och ( 1, 0) är givna och anger (x-värde, y-värde). Interpolera ett polynom av lämpligt gradtal genom punkterna. Vad blir interpolationspolynomets y-värde då x = 0.5? 4 4 + 1 4 4 + 1 3 4 + 1 2 4 + 2 3 4 + 3 4 5 X 5 + 1 4 (6) Vad beräknar iterationsmetoden x n+1 = x n (2 17x n ), x 0 = 0.1 med konvergensordning 2? 17 3 17 17/2 X 1/17 1/ 17 1/ 3 17 2/17 (7) Differentialekvationsproblemet d 2 y = 2x(y 2), y(0) = 10, y(8) = 3 dx2 diskretiseras med steget h = 1. Då erhålls ett ekvationssystem. Hur många ekvationer n har detta system om y(0) och y(8) eliminerats med hjälp av randvillkoren? n är... 2 3 5 X 7 8 det är omöjligt att säga (8) Integralen 2 0 1/2 + 2e x sin(2x 2 ) dx har beräknas med trapetsregeln med steglängderna 0.2 och 0.1. Resultatet blev T (0.2) = 1.6426, T (0.1) = 1.6418. Vilken steglängd h (ungefär) bör användas i trapetsregeln om vi vill ha ett fel som är mindre än 8 10 8 och minsta möjliga arbete. 10 2 X 10 3 10 4 10 5 10 6 10 7 (9) En vektor x R 3 har norm x = 2. Om 1 2 3 A = 4 5 6 7 8 9 hur stort kan då Ax maximalt vara? 9 10 12 18 24 36 X 48 Något annat (10) Med hjälp av tabellen t 1.1 1.2 1.3 1.4 f(t) 3.0042 3.3201 3.6693 4.0552 kan derivatan f (1.2) approximeras. Välj det alternativ nedan som ger bäst approximation. 0.21 0.45 1.3 X 3.3 5.6 7.1 10.4 2
DEL 2 (1) Värdet av y = 3 x och z = x 30 beräknas för x = 0.92 som är korrekt avrundat. Man får y = 0.9726 och z = 0.08197. Hur många korrekta siffror har resultaten? Hur många korrekta decimaler borde x-värdet vara givet med för att alla siffror i z-värdet ovan ska vara tillförlitliga? Lösning. Notera att absolutfelet i x kan uppnå 0.005 och således relativfelet i x kan uppnå 0.005/0.92. Felfortplaneringsformeln ger R y = R x /3 och R z = 30R x R y = 0.0018 2 10 3, och R z = 0.16 2 10 1. Det ger en grovbedömning att antalet korrekta siffror kan vara högst tre i y-värdet och högst en i z-värdet. För y-värdet blir absolutfelets gräns 0.0018. Alltså y = 0.9726 ± 0.0018 eller y = 0.973 ± 0.002 bara två siffror är alltså säkra För z-värdet blir absolutfelets gräns 0.0134. Alltså z = 0.083 ± 0.0134 inte ens första siffran är säker. Vi kan även uppskatta störningsräkning med att uppskatta undre och övre gräns för y och z: y min = 0.915 1/3 = 0.9708 och y max = 0.925 1/3 = 0.9743 z min = 0.915 30 = 0.0696 och y max = 0.925 30 = 0.0964. z-värdet är mycket känsligt för en störning i x. Sex siffrors noggrannhet i x-värdet (R x 10 6 ) medför att x-värdet får fyra säkra siffror eftersom R z = 30R x < 0.3 10 4 (2) Ekvationen a x = x a har en (trivial) rot x = a och en annan rot. För a = 2 blir den x = 4. Bestäm den icketriviala roten för a = 3. Använd Newtons-Raphsons metod efter lämplig omskrivning. Om a inte är exakt tre utan snarare 3.00 ± 0.005, hur stor är osäkerheten i x-värdet? För vilket a-värde finns bara roten x = a? Lösning. Logaritmers: x ln a = a ln x, eller ln x x ln a a = 0. Lår c = ln a/a = ln 3/3 = 0.366204096. Lös ekvationen ln x cx = 0 med Newton-Raphsons metod. Grovskiss av kurvan y = ln x cx visar att förutom roten vid x = 3 finns de en rot nära x = 2.5. Efter några iterationer erhålls roten till 2.4780527. Gör om räkningarna med störda a-värden. Med a = 3.005 gäller c = 0.3661489 och roten blir 2.4744. Med a = 2.995 gäller c = 0.3662585, roten blir 2.4817. Resultat: x = 3.478 ± 0.004. Kurvan y = ln x/x skär linjen y = c i två punkter generellt, men för a = e sammanfaller de i maxpunkten x = e, y = 1/e. 3
(3) Betrakta differentialekvationen y = a(t)y + b(t) med villkoret y(0) = y 0. Antag att a(t) och b(t) är reella tal och a min a(t) a max < 0. En ostörd lösning {y n } med framåt Euler ger u n+1 = u n + h[a(t n )u n + b(t n )], u 0 = y 0. Vi betraktar också en lösning {z n } för vilken begynnelsevärdet är stört med ett litet tal δ z n+1 = z n + h[a(t n )z n + b(t n )], z 0 = y 0 + δ. Låt nu e n = z n u n. Beskriv effekten av den lilla störningen. Undersök vidare störnings effekt om det finns en störning i varje steg, dvs den störda lösningen z n ges av z n+1 = z n + h[a(t n )z n + b(t n ) + δ n ], z 0 = y 0 + δ 0. för små {δ n }. Lösning. Notera att a(t) är reell och strikt negativ. En ostörd lösning {u n } med framåt Euler ges då av Låt e n := z n u n beskriva effekten av den lilla störningen. Då har vi En omskrivning ger e n+1 = e n + ha(t n )e n, e 0 = δ. e n+1 = (1 + ha(t n ))e n = (1 + ha(t n ))(1 + ha(t n 1 )) (1 + ha(t 0 ))δ. Om nu 1 + ha(t) < 1 för alla t (stabilitets villkor för för Euler), kommer produkten 1 + ha(t n ) [1 + ha(t 0 ) < 1. Om dessutom ha min och ha max uppfyller samma villkor gäller att Det betyder att 1 + h(t) r < 1, r = max( 1 + ha max, 1 + ha min ). e n+1 δr n+1 0, då n. Så har vi konstaterat att i detta fall 1 + ha(t) < 1, för alla t är tillräckligt för att effekten av en liten störning ska försvinna när n. I fall det finns störning i varje steg har vi e n+1 = (1 + ha(t n ))e n + δ n = (1 + ha(t n ))(1 + ha(t n 1 )e n 1 + (1 + h(t n ))δ n 1 + δ n n n = (1 + ha(t j ))δ 0 + (1 + ha(t j ))δ 1 + + (1 + ha(t n ))δ n 1 + δ n j=0 j=1 Om 1 + ha(t) < 1, för alla t e n+1 max 0 j n δ j (1 + r + + r n+1 ) = δ 1 rn+1 1 r δ 1 r. Det innebär att effekten av störningarna inte alltid går mot 0 men är begränsad av storlekar på δ n. 4
(4) Trapetsregeln med steglängderna 1.6, 0.8, 0.4, 0.2 har används för att beräkna integralen 1.6 0 ln(2 + cos 16t)dt och givit värdena 1.7287, 1.7359, 1.7378, 0.8964. (a) Ge en förklaring till de erhållna resultaten med hjälp av figuren som visar intergrandkurvan. (b) Värdet av integralen π 2 0 ln(2 + cos 16t)dt önskas med stor noggrannhet. Diskutera vilken metod som är lämpligast. Lösning. (a) Trapetsregeln i de tre första fallen (stegen 1.6, 0.8 och 0.4) utnyttjar integrandvärden enbart nära topparna på funktionskurvan och ger alltså alldeles för stora approximationer till integralvärdet. Man måste komma ned i steglängder under halva våglängden för att få vettiga approximationer. Eftersom våglängden är π/8 dvs nära 0.4, så är trapetsvärdet 0.8964 som erhålls för h = 0.2 det först acceptabla. (b) Fyra perioder genomlöps. Beräkna integralen I från 0 till π/8 med trapetsregeln som är effektivast (och enklast) för periodiska integraler över en hel period. [Det visar sig (vid koll med n = 12, 24, 48) att redan n = 24 ger full datorprecision. Det sökta integralvärdet blir 4I = 0.97987958188123.] (5) (a) Bestäm den parabel som passerar genom punkterna (1.6, 4.4), (2.4, y 2 ) och (3.2, 2.0) dels för fallet y 2 = 0.4, dels för y 2 = 5.2. Beräkna polynomets derivata vid x = 2.4 i båda fallen. (b) Visa att vid interpolation med ett andragradspolynom så är polynomets derivata i intervallers mittpunkt oberoende av y-värdet där. Lösning. (a) Med Newtons ansats är derivatan P (x) = c 1 + c 2 (x 1.6) + c 3 (x 1.6)(x 2.4), P (x) = c 2 + c 3 (x 2.4 + x 1.6). Sambanden P (1.6) = 4.4, P (2.4) = 0.4, P (3.2) = 2.0 leder till c 1 = 4.4, c 2 = 5, c 3 = 35/8, polynomet blir P I (x) = 4.4 5(x 1.6) + 35/8(x 1.6)(x 2.4), och dess derivata vid x = 2.4: P I (2.4) = 5 + (35/8)0.8 = 1.5. 5
Med P (2.4) = 5.2 blir koefficienterna c 1 = 4.4, c 2 = 1, c 3 = 25/8, alltså P II (x) = 4.4 + x 1.6 25/8(x 1.6)(x 2.4). Derivatan vid x = 2.4: P II (2.4) = 1 (25/8)0.8 = 1.5, dvs samma som ovan. (b) Låt punkterna vara (x 1, y 1 ), (x 1 + h, y 2 ), (x 1 + 2h, y 3 ): P (x) = c 1 + c 2 (x x 1 ) + c 3 (x x 1 )(x x 1 h). De tre interpolationssambanden ger c 1 = y 1, c 2 = (y 2 y 1 )/h, 2h 2 c 3 = y 3 y 1 2(y 2 y 1 ), dvs c 3 = 1 2h 2 (y 3 2y 2 + y 1 ). Derivatan P (x) = c 2 + c 3 (x x 1 h + x x 1 ) P (x 1 + h) = c 2 + c 3 h = 1 h (y 2 y 1 ) + 1 2h (y 3 2y 2 + y 1 ) = 1 2h (y 3 y 1 ). Derivatan i intervallets mittpunkt är alltså oberoende av y-värdet där och är lika med centraldifferenskvoten 1 2h (y 3 y 1 ) = y 3 y 1 x 3 x 1, vilket är lutningen för den räta linjen genom (x 1, y 1 ) och (x 3, y 3 ). (6) Skriv om så att ekvationssystemet Ax = b kan lösas med iterationsmetod, där 2 10 0 1 30 0 1 1 5 A = 5 1 0 0 b = 25 10 1 0 10 0 70 Bevisa (utan att iterera) att konvergens kommer att erhållas. Genomför två iterationer. Lösning. Byt raderna så att vi löser ekvationen på formen 5 1 0 0 10 5 0 0 0 5 1 0 0 10 2 10 0 1 1 0 10 0 x = 30 70 0 10 0 0 0 0 10 0 + 2 10 0 1 1 0 10 0 x = 30 70 0 1 1 5 25 0 0 0 5 0 1 1 5 25 3 0 0.2 0 0 3 x = 7 + 0.2 0 0 0.1 0.1 0 0 0 x 5 0 0.2 0.2 0 Gauss-Seidels metod med startvektor x (0) = (2, 3, 7, 5) T ger: 2 0.6 1.4 1.356 x (1) 2 0.2 1.4 + 0.1 5 = 7 + 0.1 1.4 = 3.22 7.14 och 3.150 x(1) = 7.136 5 + 0.2 3.22 0.2 7.14 4.216 4.203 6