Numerisk integrasjon og programmering

Når antiderivert ikke finnes eller funksjonen bare er måledata. Trapesmetoden og Simpsons metode som algoritmer i Python.

R2
Utforsk

Start her: utforsk

Klokkekurven i statistikk, e−x2e^{-x^2}, er kanskje den viktigste funksjonen i naturvitenskapen. Men den har ingen antiderivert som kan skrives med kjente funksjoner. Det er bevist! Hvordan kan vi da finne arealet under den?

Prøv tre måter å dele opp arealet på. Velg metode og antall biter.

120,20,40,60,811,2
Tilnærming med 4 rektangler: 1,126

Prøv dette:

  1. Med 4 biter: Hvilke svar gir de tre metodene? Hvilken tror du er nærmest det riktige arealet?
  2. Øk antall biter til 8, 16 og 32. Hvilket tall nærmer alle metodene seg?
  3. Hvilken metode stabiliserer seg raskest? Se på hvordan trapesene følger grafen sammenlignet med rektanglene.
Forklaring

Forklaring

Trapesmetoden

Med to trapeser på [0,1][0, 1] er bredden 0,50{,}5. Arealet av et trapes er bredden ganget med gjennomsnittet av de to sidene:

0,5⋅f(0)+f(0,5)2+0,5⋅f(0,5)+f(1)2=0,5(12+0,7788+0,36792)≈0,73140{,}5 \cdot \frac{f(0) + f(0{,}5)}{2} + 0{,}5 \cdot \frac{f(0{,}5) + f(1)}{2} = 0{,}5 \left(\frac{1}{2} + 0{,}7788 + \frac{0{,}3679}{2}\right) \approx 0{,}7314

Det riktige svaret er 0,74680{,}7468. Legg merke til at f(0,5)f(0{,}5) teller helt, mens endepunktene teller halvt. Generelt bruker vi trapeser i stedet for rektangler: rette linjer mellom punktene på grafen. Med nn delintervaller av bredde Δx=b−an\Delta x = \frac{b-a}{n} og punktene xi=a+iΔxx_i = a + i\Delta x:

Tn=Δx(f(x0)2+f(x1)+f(x2)+⋯+f(xn−1)+f(xn)2)T_n = \Delta x \left(\frac{f(x_0)}{2} + f(x_1) + f(x_2) + \dots + f(x_{n-1}) + \frac{f(x_n)}{2}\right)

Endepunktene teller halvt, fordi de bare hører til ett trapes.

Simpsons metode

Simpsons metode bruker parabler gjennom tre og tre punkter. Med et partall nn:

Sn=Δx3(f(x0)+4f(x1)+2f(x2)+4f(x3)+⋯+4f(xn−1)+f(xn))S_n = \frac{\Delta x}{3}\big(f(x_0) + 4f(x_1) + 2f(x_2) + 4f(x_3) + \dots + 4f(x_{n-1}) + f(x_n)\big)

Vektene er 1,4,2,4,2,…,4,11, 4, 2, 4, 2, \dots, 4, 1.

Hvor nøyaktig?

MetodeFeilen når nn dobles
Venstre- eller høyresumhalveres
Trapes og midtpunktblir omtrent en firedel
Simpsonblir omtrent en sekstendel

Fra algoritme til program

En algoritme er en presis oppskrift. For trapesmetoden:

  1. Regn ut Δx=b−an\Delta x = \frac{b - a}{n}.
  2. Start summen med f(a)+f(b)2\frac{f(a) + f(b)}{2}.
  3. Legg til f(a+iΔx)f(a + i\Delta x) for i=1,2,…,n−1i = 1, 2, \dots, n - 1.
  4. Gang summen med Δx\Delta x.

Modell: Trapesmetoden i Python

Kjør programmet og se hvordan tilnærmingen blir bedre når nn øker. Endre funksjonen og grensene.

PythonTrapesmetoden
Ctrl/Cmd + Enter kjører koden. Første kjøring laster Python (noen sekunder).

Modell: Din tur: Simpsons metode

Programmet regner feil, fordi vektene ikke er riktige ennå. Rett linja med vekt, og sammenlign hvor raskt Simpson nærmer seg svaret 0,746824…0{,}746824\ldots med trapesmetoden.

PythonSimpsons metode (fullfør)
Ctrl/Cmd + Enter kjører koden. Første kjøring laster Python (noen sekunder).
Eksempler

Gjennomgåtte eksempler

Eksempel 1: Trapesmetoden for hånd

Tilnærm ∫02x2 dx\displaystyle\int_0^2 x^2\,dx med trapesmetoden og n=4n = 4.

Δx=0,5\Delta x = 0{,}5 og xi=0; 0,5; 1; 1,5; 2x_i = 0;\ 0{,}5;\ 1;\ 1{,}5;\ 2, med f(xi)=0; 0,25; 1; 2,25; 4f(x_i) = 0;\ 0{,}25;\ 1;\ 2{,}25;\ 4.
T4=0,5(02+0,25+1+2,25+42)=0,5⋅5,5=2,75T_4 = 0{,}5\left(\frac{0}{2} + 0{,}25 + 1 + 2{,}25 + \frac{4}{2}\right) = 0{,}5 \cdot 5{,}5 = 2{,}75.
Eksakt verdi: 83≈2,667. Feilen er 0,0830{,}083.
Eksempel 2: Simpson for hånd

Tilnærm det samme integralet med Simpson og n=2n = 2.

Δx=1\Delta x = 1, xi=0,1,2x_i = 0, 1, 2, med f=0,1,4f = 0, 1, 4.
S2=13(0+4⋅1+4)=83S_2 = \frac{1}{3}(0 + 4 \cdot 1 + 4) = \frac{8}{3}.
Eksakt! Simpsons metode er eksakt for polynomer av grad 3 eller lavere.
Eksempel 3: Integrere måledata

En bil måles med fart (m/s) hvert 2. sekund: 0, 6, 11, 15, 18. Hvor langt har den kjørt etter 8 sekunder?

Trapesmetoden med Δt=2\Delta t = 2: 2(02+6+11+15+182)2\left(\frac{0}{2} + 6 + 11 + 15 + \frac{18}{2}\right).
=2⋅41=82= 2 \cdot 41 = 82 m.
Vanlige feil

Vanlige feil

  • Å telle endepunktene fullt i trapesmetoden. De skal ganges med 12.
  • Oddetall nn i Simpson. Metoden krever et partall antall delintervaller.
  • Feil vekter i Simpson. Mønsteret er 1,4,2,4,…,2,4,11, 4, 2, 4, \dots, 2, 4, 1.
  • range(1, n) vs. range(n). Indre punkter går fra i=1i = 1 til n−1n - 1.
Huskelapp

Huskelapp

  • Trapes: Tn=Δx(f02+f1+⋯+fn−1+fn2)T_n = \Delta x\left(\frac{f_0}{2} + f_1 + \dots + f_{n-1} + \frac{f_n}{2}\right)
  • Simpson (nn partall): Sn=Δx3(f0+4f1+2f2+⋯+4fn−1+fn)S_n = \frac{\Delta x}{3}(f_0 + 4f_1 + 2f_2 + \dots + 4f_{n-1} + f_n)
  • Dobling av nn: trapesfeilen deles på 4, Simpsonfeilen på 16.
  • Numerisk integrasjon brukes når antiderivert mangler, eller på måledata.
Oppgaver

Øv selv