Riemann-sum og numerisk integrasjon
Hvis man skal finne arealet under en kurve, kan man dele arealet under kurven opp i mange små rektangler, og regne ut summen av arealet til rektanglene for å approksimere arealet under kurven. En slik approksimasjon, der man summerer arealet til mange små rektangler, kalles en Riemann-sum.
Partisjon og delintervall
Før vi starter med Riemann-summer må vi introdusere begrepene partisjon og delintervall. Det å partisjonere et intervall \([a, b]\), vil si at vi velger ut en rekke verdier \( P = \{x_0, x_1, …, x_n\}\) slik at \(a = x_0 < x_1 < … < x_n = b \).
Partisjonen \(P\) deler opp intervallet \([a,b]\) i \(n\) delintervaller
\([x_0, x_1], [x_1, x_2], …, [x_{n-1}, x_n] \)
Der lengden på delintervall nummer \(i\) er
\(\Delta x_i = x_i – x_{i-1} \)
Dersom det er like stort mellomrom mellom hver verdi i partisjonen, som vil si at alle delintervallene er like lange, sier vi at partisjonen er uniform. Når vi regner ut Riemann-summer vil vi som regel bruke en uniform partisjon.
For eksempel er {0, 1, 2, 3, 4, 5} en uniform partisjon av intervallet \([0,5]\). Denne partisjonen har 5 delintervaller
\([0,1], [1,2], [2,3], [3,4], [4,5]\)
Og lengden av hvert intervall er \(\Delta x = 1\).
For å lage en uniform partisjon av et intervall \([a, b]\) med \(n\) elementer må man først regne ut forskjellen mellom elementene. Den er gitt ved \(\Delta x = \frac{b-a}{n-1}\). Deretter kan man lage partisjonen slik:
\(P = \{a, a+\Delta x, a+2\Delta x, … , a+(n-1)\Delta x, b\} \)
Høyre, venstre og midtre Riemann-sum
La oss si at vi ønsker å finne arealet under en funksjon \(f(x)\) på intervallet \([a,b]\). La oss først starte med å lage en uniform partisjon av intervallet \( P = \{x_0, x_1, …, x_n\}\). Denne partisjonen deler intervallet \([a,b]\) opp i \(n\) delintervaller gitt ved \([x_0, x_1], [x_1, x_2], …, [x_{n-1}, x_n] \).
Vi kan nå lage et rektangel for hvert delintervall, der hvert rektangel har en høyde slik at øverste venstre hjørne av rektangelet ligger på funksjonen \(f(x)\):
*Det fungerte ikke å laste opp bilde*
Som du kan se ut ifra figuren, vil arealet til rektangel nummer \(5\) være gitt ved:
\(A_5 = f(x_4)\Delta x\)
Generellt vil arealet til rektangel nummer \(i\) være gitt ved:
\(A_i = f(x_{i-1})\Delta x\)
For å finne en approksimasjon av det totale arealet under grafen, må vi summere sammen arealet av alle rektanglene:
\(A = \sum_{i=1}^{n}A_i = \sum_{i=1}^{n} f(x_{i-1}\Delta x\)
Det vi nå har, er et utrykk for den venstre Riemann-summen til funksjonen på intervallet \([a,b]\) gitt partisjonen \(P\). Grunnen til at vi kaller det den venstre Riemann-summen, er at vi valgte at hvert rektangel skal være nær grafen med øverste venstre hjørne. Vi kan også velge at hvert rektangel skal være nær grafen med øverste høyre hjørne, for å finne den høyre Riemann-summen. Da blir rektanglene seende slik ut:
*lat som det er et bilde til her*
Høyden av rektanglene er nå gitt ved funksjonsverdien i slutten av delintervallene, som gjør at arealet til rektangel nummer \(i\) blir gitt ved:
\(A_i = f(x_i) \Delta x\)
Som gjør at vi får følgende utrykk når vi summerer sammen arealet til alle rektanglene:
\(A = \sum_{i=1}^{n} f(x_{i}\Delta x\)
Det er også mulig å velge høyden på rektanglene slik at de er nær grafen på midten av delintervallet. Dette kalles midtre Riemann-sum, og man får dette utrykket for arealet:
\( A = \sum_{i=1}^{n} f(x_{i}-\frac{\Delta x}{2})\Delta x \)
Det finnes også en øvre og nedre riemann-sum. Disse brukes ikke så mye i praksis, men de gir grunnlaget for definisjonen av integralet. Du kan lese mer om dette her: https://wiki.math.ntnu.no/tma4100/tema/integration?&#riemannintegralet
Sammenhengen mellom Riemann-sum og integral
Generelt blir approksimasjonen man får ved å regne ut Riemann-summen bedre desto flere rektangler man deler opp arealet under grafen i. Dersom man deler opp arealet under en graf i uendelig mange uendelig tynne rektangler, vil verdien man får ved å summere arealet av rektanglene være eksakt lik arealet under grafen. Dette kan utrykkes matematisk slik:
\( \lim_{n \to \infty} \sum_{i=1}^{n} f(x_i) \Delta x =\int_{a}^{b} f(x) \,dx \)
Det vil si at alt man kan skrive på formen
\( \lim_{n \to \infty} \sum_{i=1}^{n} f(x_i) \Delta x_i \)
Der \(x_i\) er en partisjon av intervallet \([a,b]\) med \(n\) elementer, kan regnes ut med integrasjon!
Numerisk integrasjon
Mange funksjoner er umulig eller helt sykt vanskelige å integrere analytisk. La oss for eksempel ta for oss integralet:
\( \int_{0}^{1} e^{-x^2} \,dx\)
Dette kan ikke løses analytisk. Heldigvis har vi datamaskiner, som gjør at vi kan løse det numerisk. Når man løser integraler numerisk, kan man bruke riemann-summer.
I koden over har vi først definert variabler for hvor mange elementer vi skal ha i partisjonen av intervallet, starten og slutten på intervallet og lengden av hvert delintervall. Vi har også lagd en funksjon for \(f(x)\). Deretter bruker vi «np.linspace» til å lage en uniform partisjon av intervallet mellom \(a\) og \(b\) med \(n\) antall elementer. Til slutt bruker vi en for-løkke til å regne ut summene for venstre, høyre og midtre Riemann-sum, og printer ut resultatene.
Trapesmetoden
Så langt har vi approksimert arealet under en funksjon ved å dele det opp i mange små rektangler, men man kan få en mer nøyaktig approksimasjon dersom man deler det opp i trapeser istedenfor. Det er dette man gjør i trapesmetoden.
*Her skal det være en illustrasjon men det gikk ikke å laste opp bilder*
Som du kan se ut ifra figuren, vil arealet til trapes nummer \(5\) være gitt ved:
\(A_5 = \frac{f(x_4)+f(x_5)}{2} \)
Arealet til trapes nummer \(n\) kan utrykkes slik:
\(A_i= \frac{f(x_{i-1}) + f(x_i)}{2}\)
Ved å summere sammen arealet av alle trapesene kommer vi frem til et utrykk for det totale arealet:
\(A = \sum_{i=1}^{n}A_i = \sum_{i=1}^{n} \frac{f(x_{i-1}) + f(x_i)}{2}\)
Man kan kode trapes-metoden slik: