Ukjent programkode
En elev har skrevet følgende kode
from math import sqrt # importerer kvadratrotfunksjon
a = 0
b = 2
n = 10000
def f(x):
return x**2 + 2
I = 0
h = (b - a)/n
for i in range(n):
I = I + f(a + i*h)*h
print(round(I,3))
- Forklar hva eleven ønsker å regne ut.
- Hva blir det eksakte svaret på oppgaven eleven ønsker å løse?
a) Eleven ønsker å beregne en tilnærmingsverdi for dette integralet \(\int_{0}^{2} \left(x^{2}+2\right) \, dx\)
b) \(\frac{20}{3}\)
a
Programmet beregner en tilnærmingsverdi for integralet \(\int_{0}^{2} \left(x^{2}+2\right) \, \mathrm{d}x\) ved hjelp av rektangelmetoden (venstre Riemann-sum).
Variablene a = 0 og b = 2 angir integrasjonsgrensene, og n = 10000 er antall rektangler. Funksjonen f(x) = x² + 2 er integranden.
Bredden på hvert rektangel er
Summen beregnes i løkken ved å legge til arealet av hvert rektangel:
Det vil si at høyden på rektangel \(i\) er funksjonsverdien i venstre kant av intervallet, \(f(a + i \cdot h)\), og arealet er \(f(a + i \cdot h) \cdot h\).
Eleven ønsker å beregne \(\int_{0}^{2} \left(x^{2}+2\right) \, \mathrm{d}x\) ved rektangelmetoden (venstre Riemann-sum) med \(n = 10\,000\) rektangler.
b
Vi beregner integralet eksakt ved å finne en antiderivert av \(f(x) = x^{2} + 2\):