Norges teknsk naturvtenskapelge unverstet Insttutt for matematske fag Sde 1 av 9 Faglg kontakt under eksamen: Enar Rønqust, tlf. 73 59 35 47 EKSAMEN I FAG SIF5040 NUMERISKE METODER Trsdag 15. ma 2001 Td: 09:00 14:00 Hjelpemdler: C1 Alle trykte og håndskrevne hjelpemdler tllatt. Alle kalkulatortyper tllatt. Sensuren faller uke 23. Besvarelsen skal nneholde så mange mellomregnnger at det tydelg går fram hvlke metoder og mellomresultater som er anvt. Oppgave 1 av funksjonen I denne oppgaven skal v se på polynom-nterpolasjon og splne-nterpolasjon fx) = e x 1)3 x), 0 x 3. V skal nterpolere funksjonen punktene x = 0, 1, 2, 3, d.v.s., v har datasettet: 0 1 2 3 x 0 1 2 3. f 0 3.43 6.39 0 a) Fnn nterpolasjonspolynomet px) av lavest mulg grad som nterpolerer funksjonen fx) punktene x = 0, 1, 2, 3. Fast: Lagrange nterpolasjonsformel gr xx 2)x 3) xx 1)x 3) px) = 3.43 + 6.39 11 2)1 3) 22 1)2 3) = 1.715xx 2)x 3) 6.39xx 1)x 3). Hvs man vl skrve ut polynomet, da blr det : [ ] px) = xx 3) 1.715x 2) 6.39x 1) = 1.4762x 3 + 4.1867x 2 + 0.7261x.
SIF5040 Numerske Metoder. Sde 2 av 9 Eller ved Newtons dvderte dfferenser: x k f x f[,] f[,,] f[,,,] 0 0 3.43 1 3.43-0.24 2.95-1.47 2 6.38-4.665-6.38 3 0 d.v.s., px) = 3.43x 0.24xx 1) 1.47xx 1)x 2). Dette er egentlg det samme polynomet som man fnner ved Lagrange fromlen. b) Fnn den naturlge kubske splne Sx) som nterpolerer funksjonen fx) punktene x = 0, 1, 2, 3. Du begynner med å beregne z = S x ). Splnes funksjonen Sx) kan skrves ved utrykk av z.) Hva blr S2.5)? Fast: Splnes Sx) defneres slkt: Sx) = S x), for x < x < x +1, = 0, 1, 2. La z = S x ), = 0, 1, 2, 3. For naturlg kubsk splnes, har v z 0 = 0 og z 3 = 0, derfor trenger v bare å beregne z 1, z 2. Ifølge algortmen læreboka Cheney og Kncad s.334-335, trenger v å løse et lneært lngnngssystem: h 1 z 1 + 2h + h 1 )z + h z +1 = 6b b 1 ), = 1, 2, hvor Skrv ut systemet: h = x x 1 = 1, b = f +1 f )/h = f +1 f. 4z 1 + z 2 = 6f 2 2f 1 + f 0 ) = 2.88 z 1 + 4z 2 = 6f 3 2f 2 + f 1 ) = 55.98 Løsnngen er z 1 = 2.964, z 2 = 14.736. Formel 5) læreboka s.334 gr S x) = z +1 6h x x ) 3 z 6h x x +1 ) 3 + Sett nn h = 1, x =, v får: S x) = z +1 6 x )3 z 6 x 1)3 + f+1 h z ) +1h f x x ) z ) h x x +1 ). 6 h 6 f +1 z +1 6 ) x ) For x = 2.5, lgger punktet mellon x 2 og x 3, derfor må S 2 brukes. V får: S2.5) = S 2 2.5) = 4.111. f z 6 ) x 1).
SIF5040 Numerske Metoder. Sde 3 av 9 Oppgave 2 Strømmen et krets er gtt som en funksjon av tden It) = A snt)) B e Ct, 1) hvor A, B, C er konstante parametre. I et eksperment målte v følge data: t 0.2 0.4 0.6 0.8 1.0 It) 0.35 0.55 0.53 0.40 0.35 Konstantene A, B, C bestemmes slk at funksjonen 1) tlpasser dataene best mulg. Omskrv funksjonen 1), beregn deretter konstantene A, B, C ved bruk av lneær mnste kvadraters metode. Hva blr strømmen når t? Fast: Ta logartmen på begge sder av lgnngen: lni) = ln A + B lnsn t) + Ct La a 0 = ln A, a 1 = B, og a 2 = C. Normallgnngene blr a 0 a 0 5a 0 + a 1 lnsn t k ) + a 2 t k = lnsn t k ) + a 1 lnsn t k )) 2 + a 2 t k lnsn t k ) = t k + a 1 t k lnsn t k ) + a 2 tk ) 2 = ln I k lnsn t k ) ln I k t k ln I k. Sett nn verdene av t k og I k, 5a 0 + 3.6356a 1 + 3.0000a 2 = 4.2487 3.6356a 0 + 3.9681a 1 + 1.4818a 2 = 3.1089 3.0000a 0 + 1.4818a 1 + 2.2000a 2 = 2.6129 som gr løsnngen d.v.s. a 0 = 1.5494, a 1 = 1.2967, a 2 = 2.4272 A = 4.7086, B = 1.2967, C = 2.4272. Sden C er negatv, går strømmen mot 0 når t. Oppgave 3 V skal fnne null-punkter tl funksjonen fx) = snx) ved numerske metoder. V ser at x 1 = 0 og x 2 = π er begge eksakt løsnngen tl fx) = 0.
SIF5040 Numerske Metoder. Sde 4 av 9 a) Først, skal v løse problemmet ved fkspunkt terasjon. La Sett opp terasjons-skjema. x = g F x) hvor g F x) = x + sn x. La startverd x 0 = 3.0 som lgger nær løsnngen x 2 = π) og kjør 2 terasjoner. La nå startverd x 0 = 0.1 som lgger nær løsnngen x 1 = 0) og kjør 6 terasjoner. Hva får du? Forklar resultatet. Fast: Iterasjons-skjemaet blr: For x 0 = 3.0 gr 2 terasjoner For x 0 = 0.1 gr 6 terasjoner x k+1 = g F x k ) = x k + sn x k, k = 0, 1, 2,. x 1 = 3.14112000805987, x 2 = 3.14159265357220. x 1 = 0.19983341664683, x 2 = 0.39833948190924, x 3 = 0.78622784960208, x 4 = 1.49392106408408, x 5 = 2.49096761603097, x 6 = 3.09665148579400, V ser at v fnner alltd løsnngen x 2 = π, selvom v velger startverd veldg nær x 1 = 0. Dette er ford g f x) > 1 nær x 1, og derfor fkspunkt terasjon konvergerer aldr mot x 1. Men g f x) < 1 nær x 2, og derfor fkspunkt terasjon konvergerer mot x 2. b) V bruker nå Newtons metode. Sett opp terasjons-skjemaet og kjør 2 terasjoner med de to startverdene x 0 = 3.0 og x 0 = 0.1. Hva fnner du nå? Forklar hvorfor resultatet er forskjellge fra fkspunkt-terasjonene Fast: Iterasjons-skjemaet for Newtons metode er For x 0 = 3.0, 2-terasjoner gr For x 0 = 0.1, 2-terasjoner gr x k+1 = g N x k ) = x k fxk ) f x k ) = sn xk xk cos x k. x 1 = 3.14254654307428, x 2 = 3.14159265330048. x 1 = 3.346720854505436e 04, x 2 = 1.249502806993999e 11. V ser at v fnner x 2 = π ved startverden x 0 = 3.0, og v fnner x 1 = 0 ved startverden x 0 = 0.1. Dette er ford Newtons metode konvergerer alltd hvs startverd lgger nær løsnngen.
SIF5040 Numerske Metoder. Sde 5 av 9 c) I denne oppgaven skal v se på fel. La e k være felen terasjons-steg nr. k, d.v.s., e k = s x k hvor s er eksakt løsnngen. Man kan vse at, du skal IKKE vse det!) for fkspunkt terasjon har v lneær konvergens, d.v.s., e k+1 me k, hvor m = g F x), mens for Newtons metode har v kvadratsk konvergens, d.v.s., e k+1 Me k ) 2, hvor M = f x) 2 mn f x). og g N x) = x fx)/f x) er terasjonsfunksjonen for Newtons metode. Sett x 0 = 3.0 for begge metoder. Hvor mange terasjoner trengs for fkspunkt terasjon og Newtons metode, slk at v er garantert en fel på mndre enn ε = 10 10? Kommenter resultatet. Fast: For fkspunk terasjon, ut fra felestmatoren e k+1 me k kan man lett utlede at e k m k e 0. Sden g F x) = 1 + cos x, derfor for x lgger mellon 3 og π, er g < 1 + cos 3 = 0.011. Da kan v bruke m = 0.011. Vdere er e 0 = π 3 < 0.15. Kravet e k ε gr d.v.s., v må kjøre mnst 5 terasjoner. For Newtons metode, skal v først fnne M k ln e0 ln ε ln m = 4.685, M = sn3) 2 cos3) = 0.071. V har også e 0 < 0.15. Ut fra felestmatoren tl Newtons metoden e k+1 Me k ) 2, har v e 1 Me 0 ) 2 e 2 Me 1 ) 2 MMe 0 ) 2 ) 2 = M 1+2 e 0 ) 2 2 e 3 Me 2 ) 2 MM 1+2 e 0 ) 2 2 ) 2 = M 1+2+22 e 0 ) 2 2 2 Ved nduksjon kan man lett vse at Kravet e k ε gr e k M 1+2+ +2k 1 e 0 ) 2k = M 2k 1 e 0 ) 2k = Me 0 ) 2k /M. Me 0 ) 2k Mε, 2 k lnmε)/ lnme 0 ) k ln Sett nn verdene for M, e 0 og ε, fnner v k 2.499 ) lnmε) lnme 0 / ln2). ) d.v.s., v trenger mnst 3 terasjoner. V ser at Newtons metode har kvadratsk konvergens, derfor konvergerer metoden raskere enn fkspunkt terasjon.
SIF5040 Numerske Metoder. Sde 6 av 9 Oppgave 4 La ux, t) være løsnngen tl adveksjon-dffusjons lknngen Her er a, b postve konstanter, a > 0, b > 0. u t + au x = bu xx, 0 x 1, t 0) u0, t) = 0, u1, t) = 0, t 0) ux, 0) = ūx), 0 < x < 1) V ønsker å fnne numerske løsnnger tl dfferensallknngen. La u n være den numerske tlnærmelsen tl ux, t n ) hvor x = h, t n = n k, og h og k er gtte størrelser x og t retnnger tl et unformt gtter. V dskretserer x retnngen med sentral dfferenser. a) Bruk forlengs Euler tdsdskretserngen og sett opp et eksplstt numersk skjema. Vs at under følge stabltetsbetngelsene k /2b), og h 2b/a oppfyller skjemaet maksmumsprnsppet, d.v.s., u n. Fast: Eksplstt skjema ser som ut: eller etter ryddng = u n k + a un +1 un 1 = b un +1 2un + un 1 ak + bk ) u n 1 + 1 2bk ) bk u n + ak ) u n +1. Nå skal v sjekke stabltetsbetngelsene. Ta absolut verd på begge sde og bruk trekant ulkhet: u n+1 = ak + bk ) u n 1 + 1 2bk ) bk u n + ak ) u n +1 ak + bk ) u n 1 + 1 2bk ) u n + bk ak ) u n +1 Bytt ut u n, u n 1 og u n +1 med den største de kan være, kan v beholde ulkheten ak + bk ) u n + 1 2bk ) bk u n + ak ) u n. Under betngelsene 2bk, h 2b/a, er alle konstantene absolutverd-tegn postve, og v har [ u n+1 ak + bk ) + 1 2bk ) bk + ak )] u n = u n. Sden ulkheten gjelder for alle, gjelder den også for når har maksmum verd. Derfor har v u n+1 u n som er maksmumsprnsppet.
SIF5040 Numerske Metoder. Sde 7 av 9 b) Bruk baklengs Euler tdsdskretserngen og sett opp et mplstt numersk skjema. Vs at skjemaet oppfyller maksmumsprnsppet hvs h < 2b/a. Forklar hvorfor denne betngelsen er mye bedre enn det tlsvare for det eksplstte skjemaet. Fast: Implstt skjema ser som ut: u n k + a un+1 +1 un+1 1 = b un+1 +1 2un+1 + 1 eller etter ryddng ak + bk ) 1 + 1 + 2bk ) ak + bk ) +1 = un. Her trenger man å løse et trdagonal lneært lknngssystem hvert tdssteg. Skjemaet kan også skrves som 1 + 2bk ) = u n + Under betngelsen h 2b/a er bk bruker trekant ulkhet: 1 + 2bk ) u n+1 ak ak u n + + bk u n + = u n + 2bk ak + bk ) bk 1 + ak ) +1. 0. V tar absolutverd på begge sder og deretter ) u n+1 ak + bk 1 ) bk + ak. ) +1 u n+1 bk + ak ) u n+1 Sden ulkheten gjelder for alle, gjelder den også når v tar maksmum på venstre sde. V har: 1 + 2bk ) u n+1 u n + 2bk u n+1. som gr maksmumsprnsppet u n. V ser at betngelsen h 2b/a er felles for begge skjema, som egentlg kke er en streng betngelse. Den bare krever at roms-ntervallet må være mndre enn en konstant 2b/a. Men for eksplstt skjema, kreves tllegg at k /2b), som setter strengt krav på tds-ntervallet. V ser at hvs h er lte, er mye mndre, derfor må v bruke en veldg lte k og mange tdsteg for å få garantert stablteten. Dette er et uønskelgt krav. Implstt skjema unngår dette kravet, og man kan velge stor k. Men hvert tdssteg må man løse et trdagonal lneært lknngssystem. c) Skrv et Matlab program som beregner den numerske løsnngen tl dfferensallknngen, med både eksplstt og mplstt skjema. La ux, 0) = ūx) = sn4πx). Programmet skal sjekke stabltetsbetngelsene og g meldng hvs dette kke er oppfylt. Den skal også plotte løsnngen. Programmet kan begynne med:
SIF5040 Numerske Metoder. Sde 8 av 9 functon u=adv_dffa,b,t,h,k,metode) % functon u=adv_dffa,b,t,h,k,metode) % loesnnger av adveksjon-dffusjons lknngen ved numerske metoder % nput parameter: % a, b: koeffsenter tl dff.lkngnen % T: tden v skal beregne loesnngen, t=t. % h: gtter stoerrelse x % k: gtter stoerrelse t % metode: hvlken metode skal brukes. % hvs metode==1, bruk eksplstt metode, % hvs metode==2, bruk mplstt metode. % % resultat: % u: numersk loesnng tdspunkt t=t. Fast: Et forslag for Matlab programmet er gtt: functon u=adv_dffa,b,t,h,k,metode) % functon u=adv_dffa,b,t,h,k,metode) % loesnnger av adveksjon dffusjons lknngen ved numerske metoder % nput parameter: % a, b: koeffsenter tl dff.lkngnen % T: tden v skal beregne loesnngen, t=t. % h: gtter stoerrelse x % k: gtter stoerrelse t % metode: hvlken metode skal brukes. % hvs metode==1, bruk eksplstt metode, % hvs metode==2, bruk mplstt metode. % % resultat: % u: numersk loesnng tdspunkt t=t. N = 1/h; % antall nterval x M = T/k; % antall nterval t x=[0:h:1] ; up=zerosszex)); u=zerosszex)); up=sn4*p*x); % sett ntal data m1=a*k/2/h; m2=b*k/h/h; f metode==1) % bruk eksplstt skjema f m1>m2) 2*m2>1)) % sjekk stabltetsbetngelsene dsp Warnng: stabl.bet. kke oppfylt for eksplstt skjema! ) for n=1:1:m, for =2:1:N, u) = m1+m2)*up-1) + 1-2*m2)*up) + m2-m1)*up+1); up=u;
SIF5040 Numerske Metoder. Sde 9 av 9 plotx,u), ttle Loesnng med eksplstt metode ), elsef metode==2) % bruk mplstt skjema f m1>m2) % sjekk stabltetsbetngelsene dsp Warnng: stabltetsbet. kke oppfylt for mplstt skjema! ) % sett opp lgnngssystemet A = zerosn-1,n-1); d=1+2*m2; % dagonal d1=m1-m2; % upper dag d2=-m1-m2; % lower dag A=dagonesN-1,1)*d) + dagonesn-2,1)*d1,1) +... dagonesn-2,1)*d2,-1); % trdagonal matrse for n=1:1:m, u2:n)=a\up2:n); up=u; plotx,u), ttle Loesnng med mplstt metode ),