André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 93) Trapetsregeln Adaptiva metoder ODE-metod Förbehandlande metoder

Relevanta dokument
f(x + h) f(x) h f(x) f(x h) h

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning

Beräkning av integraler

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

LABORATION cos (3x 2 ) dx I =

DN1212 för M: Projektrapport. Krimskramsbollen. av Ninni Carlsund

André Jaun, HT-2005 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 60) Problemformulering. Använd matematik

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

Interpolation Modellfunktioner som satisfierar givna punkter

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Differentialekvationer. Repetition av FN5 (GNM kap 6.

Del I: Lösningsförslag till Numerisk analys,

Sammanfattning (Nummedelen)

f (a) sin

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

SF1625 Envariabelanalys Lösningsförslag till tentamen

Euler-Mac Laurins summationsformel och Bernoulliska polynom

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Differentialekvationer begynnelsevärdesproblem

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori

Föreläsning 8, Numme i2,

SAMMANFATTNING TATA41 ENVARIABELANALYS 1

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

OH till Föreläsning 15, Numme K2, God programmeringsteknik

MVE465. Innehållsförteckning

Konvergens för iterativa metoder

Uppgift 1 R-S. Uppgift 2 R-M. Namn:...

Kap 5.7, Beräkning av plana areor, rotationsvolymer, rotationsareor, båglängder.

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A. e 50k = k = ln 1 2. k = ln = ln 2

Lösningar till MVE017 Matematisk analys i en variabel för I x 3x y = x. 3x2 + 4.

Kurs DN1215, Laboration 3 (Del 1): Randvärdesproblem för ordinära differentialekvationer

Ordinära differentialekvationer,

Kontrollskrivning KS1T

SF1664 Tillämpad envariabelanalys med numeriska metoder Lösningsförslag till tentamen DEL A

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Ansvariga lärare: Yury Shestopalov, rum 3A313, tel (a) Problem 1. Använd Eulers metod II (tre steg) och lös begynnelsevärdesproblemet

1.6 Lösningar till kapitel 8

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Runge-Kuttas metoder. Repetition av FN6 (GNM kap 6.

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

Laboration 6. Ordinära differentialekvationer och glesa system

I punkten x = 1 fås speciellt. Taylorpolynomet blir. f(x) = f(a) + f (a)(x a) + f (a)

DATORLABORATION FÖR KURSEN ENVARIABELANALYS 2

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 13 jan 2014

SF1669 Matematisk och numerisk analys II Lösningsförslag till modelltentamen DEL A

SF1625 Envariabelanalys Tentamen Lördagen den 11 januari, 2014

x sin(x 2 )dx I 1 = x arctan xdx I 2 = x (x + 1)(x 2 2x + 1) dx

Numeriska metoder för ODE: Teori

Ordinära differentialekvationer,

Kan du det här? o o. o o o o. Derivera potensfunktioner, exponentialfunktioner och summor av funktioner. Använda dig av derivatan i problemlösning.

där x < ξ < 0. Eftersom ξ < 0 är högerledet alltid mindre än Lektion 4, Envariabelanalys den 30 september 1999 r(1 + 0) r 1 = r.

Flervariabelanlys och Matlab Kapitel 3

med tillgång till värden på f: vi anser att vi kan evaluera f för alla x i (a,b) och använder kvadraturformler av typen n

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Tentamen i Teknisk-Vetenskapliga Beräkningar

Flervariabelanalys och Matlab Kapitel 3

TMA226 datorlaboration

4. Bestäm eventuella extrempunkter, inflexionspunkter samt horisontella och vertikala asymptoter till y = 1 x 1 + x, och rita funktionens graf.

4 Numerisk integration och av differentialekvationer

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

R AKNE OVNING VECKA 1 David Heintz, 31 oktober 2002

Tentamen i Envariabelanalys 2

Approximation av funktioner

Icke-linjära ekvationer

Låt vara en reell funktion av en reell variabel med definitionsmängden som är symmetrisk i origo.

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 11-14, 16/11-28/

TATA42: Föreläsning 3 Restterm på Lagranges form

DN1212 Numeriska Metoder och Grundläggande Programmering DN1214 Numeriska Metoder för S Lördag , kl 9-12

Institutionen för Matematik. SF1625 Envariabelanalys. Modul 5 Integraler

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

= 0. Båda skärningsvinklarna är således π/2 (ortogonala riktningsvektorer).

1 Föreläsning 12, Taylors formel, och att approximera en funktion med ett polynom

u(x) + xv(x) = 0 2u(x) + 3xv(x) = sin(x) xxx egentliga uppgifter xxx 1. Sök alla lösningar till den homogena differentialekvationen

Laboration 2 Ordinära differentialekvationer

Numeriska metoder, grundkurs II. Dagens program. Exempel Kubiska splines. Ögna igenom de gamla övningsanteckningarna.

Lösningsskisser för TATA

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Mälardalens högskola Akademin för utbildning, kultur och kommunikation

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

OH till Föreläsning 14, Numme I2, God programmeringsteknik

Ordinära differentialekvationer (ODE) 1 1

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

a = a a a a a a ± ± ± ±500

v0.2, Högskolan i Skövde Tentamen i matematik

Kap Dubbelintegraler.

gränsvärde existerar, vilket förefaller vara en naturlig definition (jämför med de generaliserade integralerna). I exemplet ovan ser vi att 3 = 3 n n

Fallstudie: numerisk integration Baserad på läroboken, Case Study 19.9

Transkript:

André Jaun, HT-25 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 93) Lektion 7 Integraler Problemformuleringen lyder: Beräkna A = Trapetsregeln Adaptiva metoder ODE-metod Förbehandlande metoder b a f(x) dx (med viss noggrannhet). Storheten A kallas integralvärdet (eller ofta lite slarvigt bara integralen) och f(x) kallas integranden. a och b kallas nedre respektive övre integrationsgräns, intervallet [a, b] kallas integrationsintervall och man säger att man integrerar f(x) över [a, b], oavsett om grafen ligger över eller under x-axeln. x är integrationsvariabel. Endast då möjligheter till förväxlingar är uteslutna, stryker man förledet integrations- i de här orden. Följande generella goda råd återfinnes i GNM-sid (6)2: Vilken metod man än tänker använda, är det klokt att orientera sig om problemet genom att: Börja med att rita integranden över integrationsintervallet. Denna inledande åtgärd är så klok och rådet är så gott, att man bör tolka det som en skarp uppmaning till handlingsprogram, i de fall då det överhuvudtaget är möjligt att rita integranden. Trapetsregeln (GNM-6:1A) Metoden heter så, alltså inte trapetsmetoden (som är en metod för behandling av differentialekvationer). Grundidén är enkel: f i 1 f i X i 1 h X i

André Jaun, HT-25 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 94) Fortsättningen av härledningen är lika enkel: h a X 1 X 2 X 3 X 4 b Resultatet av beräkningen enligt trapetsregeln betecknas med T (h), dvs T (h) = h ( 1 2 f(a) + f 1 + f 2 +... + f n 1 + 1 2 f(b)) EXEMPEL Som ett enkelt exempel visar jag beräkningen av.5 dx 1 + x 2 (= arctan(.5).4636) Förarbete: Rita grafen över integrationsintervallet, och fundera på om det kan bli några bekymmer vid behandlingen. Om man kan förutse bekymmer, så tillhör det förarbetet att arbeta om problemet och/eller modifiera metoden, så att bekymren undanröjs. Jag definierar integranden på en separat fil inför MATLAB-hanteringen sedan. I det här exemplet är detta kanske inte så väldigt förenklande men, med sikte på den allmänna situationen, är den organisationen en god vana att lägga sig till med. fint1.m function [f] = fint1(x); f=1../(1+x.*x); Grafen ordnas nu mycket enkelt: >> x=[:.1:.5]; y=fint1(x); >> plot(x,y), grid, title( y=1/(1+x^2) )

André Jaun, HT-25 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 95) 1 y=1/(1+x^2).98.96.94.92.9.88.86.84.82.8.5.1.15.2.25.3.35.4.45.5 En så lugnt löpande funktion kan inte ställa till med bekymmer vid integrationen. Till att börja med demonstrerar jag handräkning :

André Jaun, HT-25 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 96) Vill man ha god noggrannhet blir det förstås fråga om betydligt mindre steglängd h. Jag utför nu i MATLAB beräkningen av trapetsregeln med steglängd h =.125, dvs 4 steg i intervallet x.5. h=.125; N=4; n=n-1; t1= (fint1()+fint1(.5))/2; x=h*[1:n]; y=fint1(x); format long, t1=h*(t1+sum(y)) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - t1 =.46363927554247 Hur bra är detta resultat? Det vet man inte, men en grov uppfattning om rimligheten kan man få genom att mäta ytan i figuren, eller liknande. Avgörande i all bedömning av resultat och tillförlitlighet är kontroll av regelbundenheten. Den kontrollen kräver kännedom om trunkeringsfelet. Trapetsregelns trunkeringsfel har utseendet e trunk = c 1 h 2 + c 2 h 4 + c 3 h 6 +... (Se GNM sid(6)4.) Jag påminner om definitionen av regelbundenhet och visar användningen: Definition av regelbundenhet: Konsekvens för differenserna (T (h)) = T (h) T (2h), när T (h) = A + c h 2 : Regelbundenheten kontrolleras: Trunkeringsfelet skattas: Tillämpat på handräkningarna i exemplet:

André Jaun, HT-25 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 97) Vi kan se att felskattningen.25 överskattar det verkliga felet.8 ganska mycket. Närmare bestämt är felskattningen 3 gånger det verkliga felet. Denna faktor 3 är just den som jag fick fram här ovan: (T (h)) = 3c h 2. Alltså är trunkeringsfelet c h 2 = (T (h))/3. Ju bättre regelbundenhet, dvs ju närmare 4 kvoten mellan differenserna ligger, desto bättre stämmer felskattningen (T (h)) /3. Jämför gör verkligen det! med resonemanget på sid 22 23 i anteckningarna för lektion 2. Nyss räknade jag ut T (.125) =t1 =.46363927554247. Jag fortsätter nu MATLABkalkylerna beräknar två ytterligare T (h) med successivt halverad steglängd, bildar differenser och kontrollerar deras kvot. Lägg märke till den lilla beräkningstekniska finessen, som jag använde redan vid handräkningen, att vid uträkningen av T (h/2) utnyttja det man har redan i T (h): h=h/2; N=N*2; n=n-1; x=h*[1:2:n]; y=fint1(x); t2=t1/2+h*sum(y) h=h/2; N=N*2; n=n-1; x=h*[1:2:n]; y=fint1(x); t3=t2/2+h*sum(y) format short e, delt1=t2-t1, delt2=t3-t2, kvot=delt1/delt2 felskatt =delt2/3 - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - t3 =.4636478816698 delt1 = 6.251e-6 delt2 = 1.5625e-6 kvot = 4.1e+ felskatt = 5.284e-7 Om jag avrundar t3 till.463647 så tillkommer ett avrundningsfel 8.82 1 8, och jag hamnar på ett totalfel på drygt 6 1 7. Fiffigare vore att utnyttja att man har en så noggrann skattning av h 2 -termen i felet (noggrann eftersom kvoten så väl överensstämmer med 4): Om T (h) = A (T (h))/3 + c 2 h 4, så gäller ˆT (h) = T (h) + (T (h))/3 = A + c 2 h 4. Det betyder att korrektionen (T (h))/3 eliminerar h 2 -felet, så att det korrigerade värdet, ˆT (h), får trunkeringsfelet c 2 h 4. format long, t2korr=t2+delt1/3, t3korr=t3+delt2/3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - t2korr =.46364769326 t3korr =.46364769276

André Jaun, HT-25 Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 98) Om jag hade räknat ut fyra T (h)-värden, så skulle jag ha kunnat beräkna tre ˆT (h)- värden och kunnat undersöka om deras differenser bildar kvoten 2 4. Om så är fallet är ˆT (h)-värdena regelbundna, och felskattning skulle kunna göras på samma sätt som vanligt vid regelbundenhet. Nu har jag emellertid bara räknat ut tre T (h)-värden. Då kan jag på grund av att kvotkontrollen gav ett värde så nära 4 skatta felet i det korrigerade värdet t3korr= ˆT (.3125) med hela skillnaden mellan de två korrigerade värdena. Felskattningen blir t3korr-t2korr = 2.93 1 11. Eftersom i det här fallet rätta värdet är känt, så kan jag för skojs skull se om den här tekniken har fungerat bra. rett=atan(.5) format short e, fel2=t2korr-rett, fel3=t3korr-rett kollkvot=fel2/fel3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - rett =.4636476981 fel2 = 3.1251e-11 fel3 = 1.9533e-12 kollkvot = 1.5999e+1 Det verkliga felet i t3korr, 1.9533 1 12 är precis en femtondedel av felskattningen 2.93 1 11 vilket beror på att felen bildar en kvot så nära 16. Då skulle också en kvotkontroll på ˆT (h)-värdena ha gett den kvoten, men detta vet man ju inte (utan tillgång till facit) om man inte räknar ut ytterligare ett T (h) (och därur ett ˆT (h) till). Här är det på sin plats med upplysningen att den här korrektionen med (T (h))/3 är ett exempel på richardsonextrapolation, och att trapetsregeln följd av richardsonextrapolation, ger upphov till en formel med eget namn: Simpsons formel (vilken de flesta miniräknare använder) samt att med upprepade richardsonextrapolationer (dvs ˆT (h) korrigeras med ( ˆT (h))/15) får man en metod som heter Rombergs metod. Detta har numera mest bara historiskt intresse. Den förut ständigt använda richardsonextrapolationen har nu ersatts av kontroll och utnyttjande av regelbundenhet. Med datorer som kan fås att utan stort besvär räkna med god noggrannhet, ger regelbundhetsbegreppet enklare vägar för tillförlitlighetsbedömningen. I GNM-6:1C hittar man upplysningen att tabellfelet E tab = (b a) E f såväl för T (h) som för ˆT (h). Praktiskt intresse får tabellfelet nog bara när integrandens värden tas ur en tabell med rejält begränsad noggrannhet, angiven av E f. Tabellfelet kan också ge sig till känna, när trunkeringsfelet är mycket litet. Då kommer regelbundenhetskontrollen att skvallra: den undersökta kvoten mellan differenserna är inte längre vad den ska vara. Föreläsningen fortsätter på sidan 17.

André Jaun, HT-25Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid cvi) Fördjupning frivillig läsning Trapetsregelns trunkeringsfel Jag ska visa att trapetsregeln har trunkeringsfelet som anges på sidan 13: e trunk = c 1 h 2 + c 2 h 4 + c 3 h 6 +... Börja med skattningen T i = h(f(x 2 i 1) + f(x i )) av A i = f(x)dx. x i 1 Taylorutveckla i T i de båda funktionsvärdena kring X i = 1(x 2 i 1 + x i ). Det gäller att x i 1 = X i h och x 2 i = X i + h, så när de två serierna läggs samman försvinner 2 h p -termerna med udda p. Resultatet blir T i = h (f(x i ) + 1 h2 f (X 2 2 2 i ) + 1 h4 f iv (X 4! 2 4 i ) +...) I integralen substitueras x = X i + 1th. Då gäller 1 t 1 och dx = 1h dt. 2 2 Taylorutveckla integranden kring x = X i och integrera termvis. Eftersom integration mellan 1 och 1 av t udda ger resultatet noll, kommer bara integration av t jämnt att ge bidrag till A i A i = h 2 1 1 xi f(x i + 1 2 th) dt = h (f(x i) + 1 3! h2 2 2 f (X i ) + 1 5! h4 2 4 f iv (X i ) +...) Vi får T i A i = h3 f (X 12 i )+ h5 f iv (X 48 i )+...), vilket är bidraget till felet från delintervallet x i 1 x x i. Summera bidragen för i = 1, 2,..., n och använd medelvärdessatsen i h f (k) (X i ) = (b a) f (k) (ξ k ), som gäller när X i ligger i delintervallet (x i 1, x i ) av längden h och delintervallen tillsammans bildar intervallet av längden b a, och a < ξ k < b. Resultatet blir T (h) A = h2 (b a)f (ξ 12 2 ) + h4 (b a)f iv (ξ 48 4 ) +... Det är uppenbart att fortsättningen på serien består av termer med h 6, h 8,..., varmed beviset av trunkeringsfelets utseende är klart. Förekomsten av högre ordningens derivator i trunkeringsfelet förklarar varför det inte räcker att integranden är snäll för att trunkeringsfelet ska bli litet. För vissa betraktelser kan det vara intressant att använda medelvärdessatsen g(b) g(a) = g (ξ)(b a). Den ger den alternativa formeln för trunkeringsfelet: e trunk = C 1 (f (b) f (a))h 2 + C 2 (f (b) f (a))h 4 +... där C 1, C 2,... är sifferkonstanter, dvs oberoende av såväl f som h. (Ett strikt bevis är lite krångligare än de här antydningarna, eftersom ξ som uppträder i medelvärdessatsen inte blir lika med ξ 2, ξ 4... ovan. Se GNM sid(6)1.) Av detta utseende på trunkeringsfelet kan man förstå att trapetsregeln konvergerar dåligt (när h ) om integranden är exempelvis av typen x och integrationsintervallet är [, b]. Slut på fördjupningstexten

André Jaun, HT-25Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 17) Adaptiva metoder (GNM 6:2B) Man kan tänka sig vilken välkänd metod som helst, exempelvis trapetsregeln, där, till skillnad från vanligt bruk, man undan för undan anpassar (= adapterar) steglängden efter behovet av noggrannhet. Om man har en rät linje som integrand, kan man i trapetsregeln använda hela integrationsintervallet som steglängd och få exakt rätt resultat. Om integranden har variationer med våglängd eller halveringstid λ, bör man använda en steglängd väsentligt mindre än λ för att trapetsregeln ska kunna följa variationerna (h λ/1 är en tumregel). När integranden uppför sig på olika sätt i olika delintervall, så kan det vara lämpligt att i den använda metoden bygga in en kontroll, som ändrar steglängden vartefter man stegar in i de olika delområdena. Samma idé som jag visade för differentialekvationer kan användas för automatisk steglängdsreglering i till exempel trapetsregeln: Om man har kommit till x = x i, kan man integrera till x = X = x i + k h, dels med hittills gällande steglängd h och få integralskattningen A, dels med steglängden h/2 och få A. Sedan jämför man de två erhållna integralskattningarna. (x i, X) / k steg med steglängd h A / E = A A 2k steg med steglängd h 2 A Om E är mycket litet, så kan man kosta på sig att öka steglängden, säg till 2h. Om E är för stort, är steglängden för stor. Då går man tillbaka till x i och minskar steglängden, exempelvis till h/2. Om ingetdera av dessa inträffar, adderar man delintegralen A i+1 = A till de tidigare beräknade och går vidare från x i + kh = x i+k. Vad som ska menas med mycket litet och för stort blir en omdömesfråga. Strategier för testandet och steglängdsregleringen varierar men grundtanken ser ut ungefär som jag nu har beskrivit. MATLAB-metoder MATLAB bjuder på några adaptiva integrationsprogram: quadl, som vi redan har använt, quad och det under avveckling stadda quad8. Samtliga påstås ge en absolutnoggrannhet 1 6, men den uppgiften går absolut inte att lita på. Det sanna integralvärdet i exemplet är, som vi såg,.4636476981. >> iql=quadl( fint1,,.5) iql =.46364769726 >> iq=quad( fint1,,.5)

André Jaun, HT-25Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 18) iq =.463647666169 >> iq8=quad8( fint1,,.5) Warning: QUAD8 is obsolete. QUADL is its recommended replacement. iq8 =.4636476981 Jag ska inte förtiga att MATLAB:s program i åtskilliga situationer kan vara enklare att använda än trapetsregeln. Bekymret är bara att man inte har några säkra indikationer på att begärd noggrannhet är uppnådd, men detta är lätt ordnat med trapetsregeln. I det här exemplet ger MATLAB-programmen bättre noggrannhet än påstådd, men det omvända är minst lika vanligt. ODE-metod I en kurs som den här, där behandlingen av ordinära differentialekvationer (ODE) är det centrala, tycks det mycket naturligt att hantera integraler genom att tolka integralen som lösning till en differentialekvation. Så här: Om y(x) = x a f(t) dt så gäller y = f(x); y(a) = ; dvs y(x) är lösningen till ett begynnelsevärdesproblem. Iakttagelsen är inte alls sensationell för den matematiskt orienterade, men leder ändå till en mycket användbar integrationsmetod. Jag återkommer till det beprövade exemplet, att beräkna.5 dx 1 + x 2 Det omformuleras: Bestäm y(.5) när y(x) satisfierar begynnelsevärdesproblemet y = 1/(1 + x 2 ); y() =. Jag behandlar differentialekvationen med exempelvis Runge-Kuttas metod. Den kräver att f programmeras som en funktion av x och y, inte bara av x. Därför får jag skriva om funktionen fint1 till en form som Runge-Kutta kan hantera. function yprim=dint1(x,y) yprim=fint1(x); Jag kör nu Runge-Kuttas metod med steglängd.5/1,.5/2 och.5/4, och kontrollerar regelbundenheten. N=5; for k=1:3 N=2*N; y5(k)=rkbegv( dint1,,.5,,n); end, y5 format short e, delta=diff(y5) format short, kvot=delta(1)/delta(2)

André Jaun, HT-25Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 19) trunkfel=abs(delta(2)/15) - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - - - y5 =.463647617429.46364769586.46364769326 delta = -7.534e-9-4.688e-1 kvot = 16.55 trunkfel = 3.1254e-11 Det verkliga felet i y5(3)= y(.5;.5/4) är 3.125 1 11, så felskattningen här ovan är fullt godtagbar. Jag vågade dividera den vanliga felskattningen (dvs differensen) med 15 eftersom kvoten mellan differenserna är så nära 16. ODE-tolkningen ger som synes en metod som fungerar minst lika bra som trapetsregeln med extrapolationer. Klart överlägsen blir ODE-tolkningen i problem av det här slaget: EXEMPEL.5 y(x) Skatta dx när y(x) satisfierar differentialekvationen.1 x y + 3xy + y = ; y(.1) =.1; y (.1) =.2. Omskrivningen till ett system av första ordningens differentialekvationer sker på vanligt sätt. Nu tillkommer dessutom en ekvation för den omtolkade integralen: u 1 = u 2 ; u 1 (.1) =.1; u 2 = u 1 3xu 2 ; u 2 (.1) =.2; u 3 = u 1 /x; u 3 (.1) =. I MATLAB deklarerar jag detta system på en fil difint2.m function f=difint2(x,u); f=[u(2) -u(1)-3*x*u(2) u(1)/x] ; Lösandet framskrider sedan precis som i förra exemplet. Jag undertrycker all utmatning som inte intresserar. Detta kan vara vanskligt, eftersom viss extrainformation kan berätta ifall något är på tok. Integranden bör man rita. Detta går inte förrän y(x) har bestämts, så det gör jag som avslutning. N=5; for k=1:3 N=2*N; u5=rkbegv( difint2,.1,.5,[.1;.2;],n); A(k)=u5(3); end, A format short e, delta=diff(a), kvot=delta(1)/delta(2) felskatt=abs(delta(2)/15) ugraf=rktab( difint2,.1,.5,[.1;.2;],1); xgraf=.1+.4/1*[:1] ; yxgraf=ugraf(:,1)./xgraf; plot(xgraf,yxgraf), grid, title( y/x, när y satisf diffekv... ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

André Jaun, HT-25Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 11) A =.2264277798.226427696615.226427695812 delta = -4.182e-1-2.5135e-11 kvot = 1.5987e+1 felskatt = 1.6757e-12 1 y/x, när y satisf diffekv....9.8.7.6.5.4.3.1.15.2.25.3.35.4.45.5 Eftersom trunkeringsfelet är så litet kan jag avrunda A(3) till 12 decimaler, vilket ger presentationsfelet 2 1 14. Detta plus trunkeringsfelet blir 1.6957 1 12 < 2 1 12. Alltså: SVAR: Integralvärdet =.22642769581 ± 2 1 12. Förbehandlande metoder Jag har redan nämnt att man bör inleda med att rita upp integranden. Ytterligare förbehandling kan behövas om problemet inte direkt lämpar sig för trapetsregeln (eller de besläktade metoder vi använder). Problem av det slaget är integraler med oändligt integrationsintervall och/eller med en integrand som blir oändlig i integrationsintervallet. I GNM-6:3 berättas att även fall då integranden har oändlighetsställe nära utanför integrationsintervallet kan noggrannheten bli onaturligt dålig. Även så pass snälla integrander som x åstadkommer dålig regelbundenhet (se exemplet 6.1 i GNM-6:3). Förklaringen ligger i att termerna i trunkeringsfelet innehåller integrandens derivator av högre ordning. Dessa kan växa obegränsat, med stort fel som följd, även om integranden är begränsad. GNM nämner förbehandlingsmetoderna 6:3A Serieutveckling 6:4A Uppdelning 6:4B Kapning 6:4C Substitution 6:4D Partiell integration

André Jaun, HT-25Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 111) Serieutveckling är en teknik som är användbar i allehanda sammanhang. Framför allt lämpar den sig till analys av metoder och problem och även vid handräkning. Kursen siktar på effektiv datorteknik; därför ingår inte längre serieutveckling som självständig metod för integralskattning. 6:4A Uppdelning kan behövas när integranden varierar mycket olika i olika delar av integrationsintervallet. b a1 a2 ak b Eftersom = + +... + +, kan integralerna på höger sida behandlas som oberoende problem. Så exempelvis kan de beräknas med olika steglängder a a a 1 a k 1 a k vartefter hur snabba variationerna är. 6:4B Kapning kan tillgripas när integrationsintervallet är oändligt. Kapning innebär att man bestämmer ett x = B < (respektive ett x = A >, om integrationsintervallet sträcker sig till ) så att bidragen från integrationsområdet utanför det ändliga intervallet blir mindre än en felgräns som kan tolereras, och så integrerar man bara över det ändliga intervallet. Det fel man på det här sättet tolererar kallas svansfelet. Orsaken till att man använder numerisk metod är ju att man inte kan integrera analytiskt. Detta medför att svansfelet inte heller kan bestämmas analytiskt, utan det blir fråga om att skatta svansfelet. Bokens exempel 6.15 kan tjäna som belysning: e x2 Bestäm värdet av dx. x Integranden avtar mycket snabbt mot när x, så gränsen x = B för kapningen blir inte så stor. För att kunna genomföra skattningen av den kapade delen, använder vi att av x B följer 1/(x x) 1/(B B). e x2 xe x2 dx = B x B x x dx 1 B B x e x2 dx = B = 1 2B B ε. e B2 Om ε = 1 8 så är B = 4 ett bra val, svansfelet blir då 7 1 9. Det nya problemet, 4 1 1 e x2 x dx, behandlar vi exempelvis med trapetsregeln och får integralvärdet.12312776, med ett trunkeringsfel 7 1 8. Lägg samman svansfelet och trunkeringsfelet. Det efterfrågade integralvärdet är.12312776 ± 8 1 8. Jag vill här passa på att peka på varningen som avslutar avsnitt 6:4B, för det misstag, som blir allt vanligare vartefter den goda seden att hämta information ur en figur brer ut sig: Det är inte alls tillräckligt att integranden är mycket liten för att man ska kunna dra slutsatsen att även integralvärdet är litet. Betrakta exempelvis f(x) = 1/x 1.1. För x 1 1 är f(x) 1 11. Trots det är 1 1 dx x 1.1 = 1.

André Jaun, HT-25Anteckningar från lektioner i Numeriska Metoder fys-åk2. (Sid 112) 6:4C Substitution är den teknik som jag brukar försöka att börja med, när integranden är besvärlig. 4 e x2 Exempel: dx. Substitutionen x = t fixar undan bekymret med att x nämnaren blir, eftersom 1dx/ x = dt. 2 Den nya integranden blir 2e t4 och integrationsintervallet t 2. 1 cos x 1 x 2 dx. Den här gången reder substitutionen x = sin t upp problemet med att nämnaren blir, genom att dx = cos t dt och 1 x 2 = cos t, så den nya integranden blir cos(sin t) och integrationsintervallet t π/2. e x dx. Här kan man kapa, men ett alternativ är substitutionen x = tan t. 1 1 + x2 Därmed övergår integrationsintervallet till det ändliga π/4 t π/2. Nackdelen med substitution för att göra integrationsintervallet ändligt är att integranden då ofta blir stökig. I det här fallet gäller emellertid dx = dt/ cos 2 t och 1/ cos 2 t = (cos 2 t + sin 2 t)/ cos 2 t = 1 + tan 2 t = 1 + x 2, så integranden blir e tan t. Nu återstår att ta itu med att program för trapetsregeln och quad8 osv inte klarar att sätta in t = π/2 i integranden, eftersom tan(π/2) =. Det får man motarbeta med sin kunskap att e =, och programmera exempelvis: if abs(t-pi/2)<h/1, f=; else f=exp(-tan(t)); end 6:4D Partiell integration är ytterligare ett rent matematiskt handgrepp. Det utgår från deriveringsregeln d dx (u(x) v(x)) = u(x) v (x) + u (x) v(x) Integrerar man denna relation, får man u(x) v(x) = u(x) v (x) dx + u (x) v(x) dx som sedan vanligen skrivs u(x) v (x) dx = u(x) v(x) u (x) v(x) dx Återigen exemplet 4 e x2 x dx. Om man identifierar u (x) med 1/ x, dvs u(x) = 2 x, så ger partialintegrationen 2 x e x2 4 Den integral som nu återstår vållar inga bekymmer. 4 + 4 x3 e x2 dx.