Numerisk derivsjon og integrsjon utledning v feilestimter Knut Mørken 6 oktober 007 1 Innledning På forelesningen /10 brukte vi litt tid på å repetere inhomogene differensligninger og rkk dermed ikke gjennomgå lt stoffet som vr plnlgt Dette nottet oppsummerer hovedtrekkene i forelesningen, også den delen jeg ikke rkk Hvorfor numerisk integrsjon og derivsjon? Mnge funksjoner som kn forekomme i prksis foreligger ikke ved et symbolsk uttrykk som kn deriveres og integreres Funksjonen kn for eksempel være resultt v målinger, eller kn bre foreligge som en funksjon progrmmert på dtmskin som genererer numeriske funksjonsverdier når vi sender inn et rgument Når det gjelder integrsjon er det dessuten slik t de fleste funksjoner ikke kn integreres symbolsk Det er derfor behov for metoder som lr oss beregne tilnærminger til deriverte og integrler ved hjelp v funksjonsverdier 3 Trpesmetoden Mndg 1/10 så vi rskt på noen metoder for numerisk derivsjon og integrsjon Tirsdg /10 så vi på trpesmetoden i litt mer detlj Utledningen v trpesmetoden består v tre trinn 1 Grunnleggende ide Tilnærm en funksjon f på et intervll [x i 1, x i ] med den rette linj som går gjennom punktene (x i 1, f(x i 1 )) og (x i, f(x i )), 1
ltså seknten p i til f gjennom disse to punktene Vi tilnærmer så integrlet v f med integrlet v p i, f(x) dx p i (x) dx x i 1 x i 1 Tegner du en figur vil du se t området vi skl finne relet v når vi bruker p i er et trpes Vi hr derfor p i (x) dx = f(x i 1) + f(x i ) x i 1 (x i x i 1 ) Summer opp bidrgene fr delintervllene Når vi skl integrere over et intervll [, b] deler vi dette i mindre biter, = x 0 < x 1 < x < < x n 1 < x n = b, og summerer opp relene over hvert delintervll, f(x) dx = = x i 1 f(x) dx x i 1 p i (x) dx f(x i 1 ) + f(x i ) (x i x i 1 ) 3 Forbered formelen for progrmmering Formelen over kn i og for seg godt progrmmeres direkte, men det er som regel lurt å se om det er mulighet for effektivisering For det første er det vnlig å nt t punktene {x i } n i=0 er jevnt fordelt i intervllet [, b] Dette vil si t x i = + ih, i = 0, 1,, n, der h = (b )/n = x i x i 1 Dermed hr vi f(x) dx h ( f(xi 1 ) + f(x i ) ) Vi ser t dette sprer oss for en multipliksjon hver gng vi løper gjennom summsjonsløkken Skriver vi ut summen som gjenstår ser vi t den svrer
til ( f(xi 1 ) + f(x i ) ) i= {}}{{}}{ = f(x 0 ) + f(x 1 ) + f(x 1 ) + f(x ) + Dermed hr vi i=n 1 i=n {}}{{}}{ + f(x n ) + f(x n 1 ) + f(x n 1 ) + f(x n ) n 1 = f() + f(b) + f(x i ) f(x) dx h ( n 1 ) f() + f(b) + f(x i ) som nesten hlverer ntll beregninger v funksjonsverdier Når f er en enkel funksjon betyr ikke dette så mye, men hvis det er krevende å finne f(x) kn regnetiden med et slikt enkelt grep knskje reduseres fr to dger til en dg! Unsett er det en god regel å ikke gjøre unødige beregninger Du kn lese mer om trpesmetoden og hvordn den kn progrmmeres på sidene 104 107 i det norske kompendiet og i seksjon 87 i Klkulus 4 Simpsons formel Simpsons formel er nlog med trpesregelen, men er bsert på å tilnærme f med prbler i stedenfor rette linjer En prbel er bestemt v verdien til f i tre punkter så vi må d dele opp [, b] i et like ntll delintervller (odde ntll punkter) for å få det hele til å gå opp Som for trpesregelen er det viktig å finpusse formelen slik t den kn progrmmeres effektivt, se seksjon 7 i det norske kompendiet 5 Vlg v h ved numerisk integrsjon Når numerisk integrsjon brukes i prksis er det viktig å vite hvor stor h må være To strtegier er d vnlig å bruke 51 Numerisk bestemmelse v h Ant t vi skl integrere f numerisk på intervllet [, b] ved hjelp v trpesmetoden Vi kn d først beregne en tilnærming T 0 til integrlet der vi bre 3
tilnærmer f med en rett linje Vi kn så hlvere h og beregne en tilnærming T 1 med to linjesegmenter Vi hlverer igjen og beregner en tilnærming T med fire linjesegmenter også videre Vi generer ltså en følge T 0, T 1, T,, T j, v tilnærminget til integrlet Et vnlig stoppkriterium er å fortsette dette inntil forskjellen på to påfølgende tilnærminger er mindre enn en pssende tolernse, ltså T j T j+1 < ɛ, helt nlogt til det som ofte gjøres for for eksempel Newtons metode Dette er ingen grnti for konvergens, men i mngel v noe bedre er det vnlig Som lltid bør vi psse oss for bsolutt feil og heller bruke T j T j+1 T j+1 Et helt tilsvrende kriterium kn brukes med Simpsons metode Som nevnt over kn du lese mer om hvordn trpesmetoden kn progrmmeres på sidene 104 107 i det norske kompendiet 5 Bestemmelse v h ut fr feilestimt Det kn vises t om vi deler [, b] i n delintervller så er feilen i trpesmetoden begrenset ved f(x) dx h ( f() + f(b) + ) f(x i ) (b )3 1n M der M = mx x [,b] f (x) Hvis vi ønsker å bestemme integrlet slik t den sbolutte feilen er mindre enn ɛ kn vi ut fr dette finne n Den bsolutte feilen vil bli mindre enn ɛ hvis (b ) 3 1n M < ɛ Løser vi denne ulikheten med hensyn på n får vi (b ) 3 M n > 1ɛ Velger vi n som det minste heltllet som er større enn uttrykket på høyre side er vi ltså grntert t feilen vi gjør ved å bruke trpesmetoden er mindre enn ɛ Leggg merke til t vi d må kunne finne M som er mksimumsverdien til f på intervllet [, b] Dette vil som regel være vnskelig, men legg merke 4
til t vi kn ersttte M med en øvre grense Dette vil øke n, men grntere t feilen blir mindre enn ɛ Hvis for eksempel f(x) = sin x er f (x) = sin x slik t M 1, unsett hv [, b] er Legg merke til likheten mellom det å estimere n her og det å estimere ntll ledd vi må t med i Tylorpolynomet for å få feilen i en eller nnen tilnærming liten nok Dette kn du lese mer om i seksjonene 87 og 11 i Klkulus 6 Numerisk derivsjon Den enkleste formelen for numerisk derivsjon er bsert direkte på definisjonen v den deriverte, f () f( + h) f() h der h er lite tll I seksjon 96 i det norske kompendiet kn du finne ndre tilnærminger til den deriverte, for eksempel f () f( + h) f( h) h En nnen derivsjonsformel som frmkommer ved å interpolere f i punktene h, h,, + h og + h med et polynom p 4 v grd 4 og bruke tilnærmingen f () p 4 () er f () f( h) 8f( h) + 8f( + h) f( + h) 1h Når vi tilnærmer den deriverte som i (1) gjør vi åpenbrt en feil, så snt f ikke er en rett linje På den nnen side vil vi forvente t denne feilen blir mindre når vi lr h bli mindre Dette er i og for seg riktig, men hvis vi progrmmerer formelen over og prøver på en konkret funksjon vil vi se t feilen først vtr med h, for så å øke igjen når h blir liten Dette kommer v t en nnen feilkilde enn den rent mtemtiske kommer inn i bildet, nemlig vrundingsfeil Når h blir liten vil f( + h) og () bli omtrent like store og vi hr llerede sett t subtrksjon v to nesten like store tll vil kunne gi stor vrundingsfeil J, velger vi h liten nok vil f() og f( + h) bli vrundet til det smme flyttllet slik t tilnærmingen til den deriverte gitt ved (1) blir 0 Dette kn du lese mer om i seksjon 6 i det norske kompendiet Det smme skjer om vi bruker de ndre tilnærmingene over, men forskjellen er t feilen blir mindre før den begynner å øke igjen Du kn teste dette selv ved hjelp v progrmmet numderpy som du finner på kurshjemmesid 5 (1)
7 Generelt om numerisk derivsjon og integrsjon Det fins mnge lterntive metoder for numerisk derivsjon og integrsjon En stndrd måte å finne frm til slike metoder er ved å tilnærme funksjonen som skl deriveres eller integreres med et interpolsjonspolynom (se seksjon 91 i det norske kompendiet) og så derivere eller integrere dette polynomet i steden for den opprinnelige funksjonen, se innledningen til seksjon 96 på sidene 169 170 i det norske kompendiet Eksempler på dette er vist i seksjonene 961 og 96 i kompendiet Ved integrsjon er det så vnlig å dele opp intervllet i mindre deler og bruke en slik tilnærming på hvert delintervll Ved hjelp v Tylorpolynomer er det mulig å finne uttrykk for feilen i slike tilnærminger Flere eksempler på dette er vist i seksjon 963 Teknikken for å utlede feilestimter kn virke komplisert til å begynne med, men følger en fst oppskrift som er oppsummert på side 178 i seksjon 964 i det norske kompendiet 6