DN11 mfl. Namn:...Pnr:... DN11+DN11+DN115+DN10+DN11+DN1 mfl Lördag 01-0-0, kl 9-1 Tentamen i Grundkurs i numeriska metoder Del 1 (av ) Skrivtid tim. Inga hjälpmedel. Betygsgräns (inkl bonuspoäng) för betyg E: 1p. Ange dina giltiga bonuspoäng från ht10 eller vt11 och den kursomgång (program, termin) där poängen erhållits. Maximal poäng 0 + bonuspoäng från årets laborationer (max p). Har du bonuspoäng? Antal: Från kursomgång: (p) 1. Man vill skatta integralen 10 1 x dx med trapetsregeln och intervallet delas i delar. Vad blir värdet? 50.5 115.5.0 (p). En funktion y = f(x) går genom de tre (x i,y i ) punkterna (,1),(,) och (5,). Funktionen approximeras genom kvadratisk interpolation. Vad blir y-värdet då x =? (p) Vad blir y-värdet då x =? (1p) 6.5 5.5 59.5 7/ 8/ Något annat 7/ 8/ Något annat (1p). Newton-Raphsons metod används till att beräkna en rot till en ekvation f(x) = 0. Hur lyder iterationsformeln? x n+1 = x n +f (x n )/f (x n ) x n+1 = x n +f(x n )/f (x n ) x n+1 = x n +f( x n )/f(x n ) x n+1 = x n f (x n )/f (x n ) x n+1 = x n f(x n )/f (x n ) x n+1 = x n f (x n )/f(x n ) (p). Vid rotsökning med en iterativ metod, x n+1 = x n t n fick man följande sekvens av approxmationer x=[1.89 1.5 1. 1.0 1.1 1.09] Vilken typ av konvergens är det? linjär konvergens kvadratisk konvergens kubisk konvergens annan typ av konvergens (p) 5. Om man anpassar uttrycket y = c 1 +c x till samtliga mätvärden (x i,y i ) = ( 1,),(1,),(,6) med minstakvadratmetoden så får man värdena c 1 = 16/6, c = 5/6 c 1 = 5/1, c = 1/1 c 1 = 1, c = 5/ c 1 = 5/6,c = 16/6 c 1 = 1/1,c = 5/1 c 1 = 5/,c = 1 Var god vänd! 1
DN11 mfl. Namn:...Pnr:... (p) 6. Givet differentialekvationen y xy = + y, x med y() = och y () =. Om man använder Eulers metod med steget 0.5 vad skattas då y(.5) till? (1p) och vad skattas då y (.0) till? (p) y =.0 y =.0 y = 7.0 y = 7.5 y = 15.75 y = 16.5 y =.0 y =.0 y = 7.0 y = 7.5 y = 15.75 y = 16.5 (p) 7. Funktionen f är given som f(x,y,z) = x y z Om x är och har en relativ felgräns på %, och y är och har en relativ felgräns på %, och z är och har en relativ felgräns på %, skatta hur stor relativ felgräns f-värdet får då? (p) 8. Minstakvadratanpassning görs av ett tredjegradspolynomtill givna mätdata y 1,y,y,y,y 5,y 6 vid x-värdena x 1,x,x,x,x 5,x 6 Hur många okända parametrar ska bestämmas Problemet ovan leder till ett överbestämt linjärt ekvationssystem Ax b. Vilket påstående nedan är sant? 5 6 10 (p) 9. Differentialekvationen 10 16 Minstakvadratmetoden minimerar euklidiska normen för x Ab y +0.5yy +(y ) = sin(x), 0 x 5 Normalekvationerna lyder AA T x = A T x skall bli noll Minstakvadratmetoden minimerar euklidiska normen för r = b Ax. Om kolumnerna i A är linjärt beroende så blir normalekvationernas koefficientmatris icke-singulär. skrivs om som ett system av n st första ordningens differentialekvationer. n blir.. (1.5p) Om Eulers eller Runge-Kuttas metod används, hur många begynnelsevärden krävs? (1.5p) 5 omöjligt att säga 5 omöjligt att säga Tentan fortsätter med del.
DN11+DN11+DN115+DN10+DN11+DN1 mfl nummegrundkurser, KTH 01-0-0 DN11+DN11+DN115+DN10+DN11+DN1 mfl Tentamen i Grundkurs i numeriska metoder Del (av ) Lördag 01-0-0, kl 9-1 Skrivtid tim. Inga hjälpmedel. Rättas endast om del 1 är godkänd. Betygsgräns (inkl bonuspoäng): 10p D, 0p C, 0p D, 0p A. Maximal poäng 50 + bonuspoäng från årets laborationer (max p). Var god notera att miniräknare ej är tillåten på denna tentamen. Svar skall motiveras och uträkningar redovisas. Korrekt svar utan motivering eller med felaktig motivering medför poängavdrag. Då algoritmbeskrivning begärs, avses normalt beskrivning i Matlab. Eftersom miniräknare ej är tillåten är det tillåtet att lämna enkla beräkningsuttryck oförenklade, tex c = 0.5 0. cos(π/) i stället för det uträknade c = 0.00 P0. Ange dina bonuspoäng och den kursomgång (linje och termin) där poängen erhållits. Endast poäng från senaste kursomgången är giltiga. P1. (5) a) Ekvationen e x = Kx(1 x ) där K = 8 har en rot nära 0. Ge en detaljerad algoritm, gärna i form av ett Matlab-program, för att bestämma roten med (minst) 7 decimaler. () b) Ekvationen har en negativ rot. Grovlokalisera den med ca 1 siffra. () c) Har ekvationen några fler rötter? (Glöm inte motiveringen!) () d) Ge en detaljerad algoritm för hur man skattar hur mycket roten i delupppgift a kan flyttas om konstanten K inte är exakt 8 utan ligger i intervallet 7.9-8.1. P. Man vill numeriskt skatta integralen 0.8 0.8 cos(x 1)dx () a) Inför lämpliga beteckningar och formulera den allmänna formeln för trapetsregeln för denna integral. () b) Skriv upp uttrycket som erhålls med trapetsregeln och intervallet uppdelat i delar. () c) Beskriv hur man praktiskt skattar trunkeringsfelet i trapetsregelvärdet erhållet med steglängden d = 0.1? () d) Med steglängden d = 0.1 skattades trunkeringsfelet till 0.09. Vad förväntar man att trunkeringsfelet i trapetsregelvärdet erhållet med steglängden d = 0.05 ungefär blir? Var god vänd 1
DN11+DN11+DN115+DN10+DN11+DN1 mfl nummegrundkurser, KTH 01-0-0 P. Givet ekvationssystemet x +5sin(y) = 0.5 sin(x) y = 0.6 () a) Bestäm en startgissning till systemet. (5) b) Beskriv detaljerat en algoritm, gärna i form av ett Matlabprogram, hur man bestämmer en rot till systemet med minst 6 decimaler. P. En sex kilograms raket skickas upp i luften. Drivkraften uppåt beror av förbränningen av raketbränslet, vilket i sin tur gör att raketen blir lättare, så massan kommer att bero av tiden: m(t) = { M(t) för t 5 M(5) för t > 5 där M(t) = 6 0.t+0.t Drivkraften nedåt är jordens gravitationskraft, som antas vara konstant g = 9.81. Raketen startar från en plattform meter ovan marken. Efter ca 5 minuters färd är bränslet slut och raketen faller till marken i sin fallskärm. Raketfärden beskrivs av my = mg km C d y där k = 0.1 är en förbränningskonstant och luftmotståndet beskrivs av C d = 0. (tiden mäts i minuter). () a) Formulera om differentialekvationsproblemet till ett system av första ordningen. () b) Genomför två kompletta steg med Eulers metod och tidssteget 0.5 (använd här g=10). (5) c) Skriv ett Matlab-progem som skattar raketens höjd över marken som funktion av tiden för de första 5 minutrarnas färd. Skriv ut höjden vid 5 minuter. () d) Lägg till satser eller beskriv detaljerat hur man plottar m(t) och y(t) i samma diagram. (Inga andra kurvor skall plottas.) P5. En åskådare har fotograferat raketbanan vid fem tidpunkter under flygningen. t = 1...9.5.1 y = 1.1.5 6.7 9..8 () a) Skriv ett Matlabprogram (eller beskriv noggrannt en algoritm) som lägger ett lämpligt interpolationspolynom genom samtliga fem mätpunkter. Beräkna vad polynomet ger för höjd vid t =. Kompisen filmade flygningen istället, 5 sekunder med bilder per sekund. När de tittade på filmen upptäckte de att banan inte alls beskrivs av ett polynom utan i stället är på formen y(t) = y 0 +c 1 t+ c t +α/(t+1) (7) b) Skriv ett Matlabprogram(eller beskriv noggrannt en algoritm) som med minstakvadratmetoden och samtliga filmrutor bestämmer de okända parametrarna y 0,c 1,c och α. Du får anta att samtliga y-värden från filmen redan finns i vektorn hojd. Lycka till och gott fortsatt nummande!
DN11+DN11+DN115+DN10+DN11+DN1 mfl nummegrundkurser, KTH 01-0-0 Kort förslag till lösning Integral Trapetsregeln och delar på 10 1 x dx blir 6.5 ************* Svar till DEL 1 **************** Interpol Med kvadratisk interpolation genom tre punkter fås y() = 7/ och y() =. Beräknas lättast med Newtons ansats! New-Raph x n+1 = x n f(x n )/f (x n ) Konvergens Linjär konvergens. Ty skillnaderna är x = (0.6,0.1,0.1,0.07,0.0) och då blir kvoterna (0.1/0.6, 0.1/0.1, 0.07/0.1, 0.0/0.07) = (0.58, 0.57, 0.58, 0.57) dvs alla ungefär 0.6. (Testar man för kvadratisk konvergens får man (0.1/0.6,0.1/0.1,0.07/0.1,0.0/0.07 ) = = (1.6,.7,.9,8.) vilket inte alls är konstant) MKV A = 1 x = 1 1 1 1 A T A = ( 6 6 18 ),A T y = 1 c = (A T A) 1 A T b = 1 8/ 5/6 Euler y(.5) skattas till.0 och y (.0) skattas till 16.5 (och y(.0) till 7.5) Felgräns Med tex Störningsräkning skattas felgränsen till %. (Med Min-o-Max snarare till 5%) gradsmkv parametrar (ty det är parametrar i ett tredjegradspolynom). MKV minimerar euklidiska normen för residualen, r = b Ac. Diffekv En fjärde ordningens differentialekvation skrivs om till fyra stycken första ordningens. Var och en av dessa behöver ett bygynnelsevärde. ************* Svar till DEL **************** P1a En ickelinjär ekvation. Roten skall bestämmas noggrannt: välj tex Newton-Raphsons metod: x n+1 = x n t n där t n = f(x n )/f (x n ). Här blir x 0 = 0 och tex f(x) = Kx(1 x ) e x och f (x) = K(1 x ) + Kx( x) e x där K = 8. För 7 decimaler måste man iterera tills t n är mindre än 0.5 10 7. (Detta är en rätt säker skattning av felet om vi har kvadratisk konvergens.) x=0; t=1; while abs(t)>1e-9; f=k*x*(1-x^)-exp(x); d=k*(1-x^)+k*x*(-*x)-exp(x); t=f/d x=x-t; end; rot=x P1b För x < 0 så kan e x approximeras med 0. Nollställen till 0 = Kx(1 x ) är ju x = 0 och x = ±1, så den negativa roten torde vara vid x 1.
DN11+DN11+DN115+DN10+DN11+DN1 mfl nummegrundkurser, KTH 01-0-0 P1c Ja. Då x så går f. Då x + så går f +. Funktionen f(x) måste alltså ha ett udda antal rötter. Vi vet om två - så det finns minst en till. P1d Hur påverkar osäkra indata resultatet? Kollas med tex störningsräkning: Med algoritmen i P1a bestäms roten med K = 8. Kalla detta rotvärde x ost Bestäm sedan rotens värde med genom att köra om algoritmen i P1a fast nu med K = 8.1. Kalla detta värde x s Osäkerheten i rotvärdet pga den osäkra konstanten skattas med E tab = x s x ost, dvs x = x ost ±E tab (Vi antar här att E tot = E tab +E trunk +E ber E tab då vi ju bestämt roten med minst 7 decimaler och datorn räknar med 15-16 siffror). Pa Om vi betecknarintegrandenmed f(x) och undre och övregränsmed a respektivebså blir trapetsregeln { 1 T(h) = h f(a)+f(a+h)+f(a+h)+...f(b h)+ 1 } f(b) där N är det antal delar man delar upp intervallet i. med h = (b a)/n Pb Med N = så blir h = 0. och x = 0.8, 0.,0,0. och 0.8 dvs { 1 T(0.) = 0. f( 0.8)+f( 0.)+f(0.0)+f(0.)+ 1 } f(0.8) med f(x) = cos(x 1) Pc Trunkeringsfelet skattas genom att jämföra med samma typ av beräkning men med dubbla steglängden: E trunk,t(d=0.1) = T(d = 0.1) T(d = 0.) Detta är en rätt säker skattning om T(d=0.) T(d=0.) T(d=0.1) T(d=0.). Pd Som framgår av Pc skall trunkeringsfelet avta med en faktor så vi förväntar oss att trunkeringsfelet med steget d = 0.05 blir ungefär 0.09/= 0.055 Pa Högerleden är ganska små tal, så vi förväntaross att x och y är små. Då gälleratt x < x och sin(x) x så systemet kan förenklas till x +5sin(y) = 0.5 sin(x) y = 0.6 = 5y = 0.5 x = 0.6 med lösningen x = 0. och y = 0.1, vilket är en bra startgissning. Pb Ett ickelinjärt ekvationssystem, löses bäst med Newtons metod för system. Sätt z = (x y) T så blir iterationerna ( z n+1 = z n t ) n där t n är( lösningen till J( z n ) t ) n = f( z n ). I detta fall blir x f = +5sin(y) 0.5 x 5cos(y) sin(x) y och J =. Iterera tills t 0.6 cos(x) y n < 0.5 10 6 för 6 säkra decimaler. (Detta är en rätt säker skattning av felet om vi har kvadratisk konvergens.) Startgissning enligt Pa. x=0.; y=0.1; t=1; while norm(t)>1e-8; f=[x*x+5*sin(y)-0.5; *sin(x)-y*y-0.6 ]; J=[*x, 5*cos(y); *cos(x), -*y ]; t=j\f; disp(norm(t)) x=x-t(1); y=y-t(); end; rot=[x; y]
DN11+DN11+DN115+DN10+DN11+DN1 mfl nummegrundkurser, KTH 01-0-0 Pa En andra ordningens differentialekvation blir två stycken första ordningens. Inför hjälpfunktionerna u 1 och u. ū = ( u1 u ) ( ) = ū u = 1 u u = g k m /m C d u /m med ū 0 = u1 (0) = u (0) 0 med m(t) = { 6 0.t+0.t för t 5 10 för t > 5 och m (t) = { 0.t 0. för t 5 0 för t > 5 Pb Eulers metod för två hjälpfunktioner är u 1n+1 = u 1n +hu 1n u n+1 = u n +hu n x n+1 = x n +h u 1n+1 = u 1n +hu n u n+1 = u n +h( g k m (t n )/m(t n ) C d /m(t n ) u n ) x n+1 = x n +h med ū 0 = 0 ( ) ū 0 = ū 0 0 = u 0 0.0000 = g k m(t 0 )/m(t 0 ) C d /m(t 0 ) u 0 9.8667 ū 1 = ū 0 +h ū 0.0000.0000 0 = +0.5 = t 0 9.8667.9 1 = t 0 +h = 0+0.5 = 0.5 ( ) ū u 1 = 1.9 = g k m(t 1 )/m(t 1 ) C d /m(t 1 ) u 1 10.9867 ū = ū 1 +h ū.0000.9 0.667 1 = +0.5 = t.9 10.9867 10.67 = t 1 +h = 0.5+0.5 = 1.0 (ursäkta - det blev väldigt jobbiga siffror). Pc En funktionsfil för derivataberäkningarna och ett huvudprogram: function uprim=dudt(t,u); k=0.1; Cd=0.; g=9.81 if t<5; m=6-0.*t+0.*t*t; mprim=-0.+0.*t; else m=10; mprim=0; end; u0=[; 0] [tut, uut]= ode5( dudt,[0 5],u0); hojd5=uut(end,1) Pd Lägg till följande satser: M=6-0.*tut+0.*tut.*tut; Y=uut(:,1); plot(tut,m, r,tut,y, g ) 5
DN11+DN11+DN115+DN10+DN11+DN1 mfl nummegrundkurser, KTH 01-0-0 P5a För ett interpolerande polynom genom fem punkter får ansättas grad fyra. t=[1.;.;.9;.5;.1]; y=[1.1;.5; 6.7; 9.;.8]; A=[ones(size(t)) t t.*t t.*t.*t t.*t.*t.*t]; % (Upphojt-till-hatten ville inte...) c=a\y; s=; hojd=c(1)+c()*s+c()*s*s+c()*s*s*s+c(5)*s*s*s*s P5b 5 sekunder med bilder per sekund innebär 11 bildrutor. Vi söker värden på fyra parametrar. Ett överbestämt linjärt ekvationssystem. Linjära MKV-problem löses med tex normalekvationerna. t=[0:(1/):5] ; y=hojd; % fanns ju redan A=[ones(size(t)) t t.*t 1./(t+1)]; z=a\y; y0=z(1) c1=z() c=z() alfa=c() 6