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.