Institutionen för Matematik, KTH Tentamen del Numeriska metoder SF545 8.00-.00 / 04 Inga hjälpmedel är tillåtna (ej heller miniräknare). Råd för att undvika poängavdrag: Skriv lösningar med fullständiga meningar och utförliga motiveringar. Del rättas om del är godkänd. Betygsgränser: D 0, C 0, B 0 och A 40 poäng. Det finns två alternativa uppgifter.. Givet är en differentialekvation d y dt + sin(dy dy ) + γy 0, y(0), dt dt (0) 0 där γ är en parameter (oberoe av t). (a) 4p Skriv om differentialekvationen som ett system av första ordningens differentialekvationer på vektorform, dvs. du f(t, u). dt (b) 7p Skriv en MATLAB-funktion som tar parametern γ som argument, och returnerar en approximation till y(), beräknad med Eulers metod med steglängd h 0.00. (c) 7p Vi vill hitta ett värde på γ som ger y() 0. Skriv ett MATLAB-program som med intervallhalveringsmetoden eller sekantmetoden bestämmer detta värde. Programmet kan anropa den funktion du konstruerat i uppgift (b). En lösning ligger i närheten av γ. Låt u u u y y. Då blir ekvationen u (t) u (t) sin u (t) γu (t) Ett exempel på matlabfunktion är function y eulerg( gamma ) h0.00; %steglangd N/h; u;0; for n:n uu+h*u();-sin(u())-gamma*u(); yu(); och ett exempel på intervallhalvering är : f ( t, u(t) ).
g0.5; %startvarde g.5; %startvarde f0eulerg(g0); %motsvarande funktionsvarde feulerg(g); N0; % antal intervallhalveringar if(f0*f>0) error( startfunktionsvarden med samma tecken ) for n:n g(g0+g)*0.5; fxeulerg(g); if(f0*fx<0) gg; ffx; else g0g; f0fx; disp( gamma ) disp(g). Följande två kurvor är givna: och x(t) sin(t) y(t) sin(t) + cos(t) x(s) sin(s) y(s) cos(αs). För α är kurvorna plottade i figuren bred- 0.5 0 0.5 vid. x (a) p Visa att när α har kurvorna en skärningspunkt för t π och s π. Ange x och y-koordinaten för punkten. (b) 6p Vi ska nu hitta en skärningspunkt när α.0. Formulera problemet som ett olinjärt ekvationssystem i två variabler. (c) 7p Skriv ett MATLAB-program som med Newtons metod bestämmer en lösning. Vi har ( x(π), y(π) ) (sin π, sin 4π + cos π) (0, ) i första kurvan och ( x(π), y(π) ) (sin π, cos 6π) (0, ) i andra kurvan. y 0
Ekvationssystemet lyder vilket för y (t, s) kan skrivas f(y) och Jacobianen blir f (y) sin t sin s 0 sin t + cos t cos(αs) 0 sin y sin y sin y + cos y cos(αy ) 0 cos y cos y cos y sin y α sin(αy ) så Newtonsteget är: lös f (y)d f(y) och låt y y d. Ett exempel på matlaprogram är %Newtons metod for skarande kurvor alfa.0; %parameter y*pi;*pi; %startgissning tole-0; %tolerans rnorm(y); while r>tol f sin(y())-sin(y()); sin(*y())+cos(y())-cos(alfa*y()) %funktion fpcos(y()), -cos(y()); *cos(*y())-sin(y()), alfa*sin(alfa*y()); %Jacobian dfp\f; yy-d; %Newtonsteg rnorm(d); %andring i y disp( (t,s) ) disp(y) Uppgift eller den alternativa uppgiften får göras, inte båda!. (6p) Betrakta potensmetoden function lam,upowerit(a,x,k) for j:k ux/norm(x); xa*u; lamu *x; ux/norm(x);
4 5 4 Låt funktionens indata vara A och x. Bestäm asymptotiska värden av matlabfunktionens utdata när k växer mot oändligheten och avgör konvergenshastigheten (d.v.s. feluppskattning). Matrisen A har egenvärden λ som uppfyller 5 λ 4 0 det (5 λ)( λ) + 8 (λ ) λ + 4 a vilket ger lösningarna λ och λ. Motsvarande egenvektorer v i ger b 0 4 4 a 0 b / så v a och normalisering ger v / för λ och 0 4 a 0 4 b 5 / så v b och normalisering ger v 5 / för λ. Vi har då / 5 c v + c v / c / 5 / c där c 5 / 5 / 5 / c 0 / / / 5 /. Vi ser att utdata u efter k potensiterationer har samma riktning som A k x där A k x c λ k v + c λ k v k (c k v + c v ) dvs A k x är asymptotiskt parallell med v, för stora k, och u Ak x A k x c v + c k v c + c k + c c k v T v v + α k där α k O( k ), så u k v O( k ). Utdata lam blir asymptotiskt det största egenvärdet lam u T k Au k (v + α k ) T A(v + α k ) v T Av + α T k Av + v T Aα k + α T k Aα k λ + O( k ) + O( k ).
Alternativ uppgift. (6p) Formulera och bevisa en sats om konvergens av Newtons metod. Se sats. i kursboken 5