Ukjent programkode

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?

Fasit

Eleven ønsker å beregne en tilnærmingsverdi for dette integralet 02(x2+2)dx\int_{0}^{2} \left(x^{2}+2\right) \, dx

203\frac{20}{3}

LøsningsforslagKI-generert

Programmet beregner en tilnærmingsverdi for integralet 02(x2+2)dx\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

h=ban=2010000=0,0002h = \frac{b - a}{n} = \frac{2 - 0}{10000} = 0{,}0002

Summen beregnes i løkken ved å legge til arealet av hvert rektangel:

Ii=0n1f(a+ih)hI \approx \sum_{i=0}^{n-1} f(a + i \cdot h) \cdot h

Det vil si at høyden på rektangel ii er funksjonsverdien i venstre kant av intervallet, f(a+ih)f(a + i \cdot h), og arealet er f(a+ih)hf(a + i \cdot h) \cdot h.

Eleven ønsker å beregne 02(x2+2)dx\int_{0}^{2} \left(x^{2}+2\right) \, \mathrm{d}x ved rektangelmetoden (venstre Riemann-sum) med n=10000n = 10\,000 rektangler.

Vi beregner integralet eksakt ved å finne en antiderivert av f(x)=x2+2f(x) = x^{2} + 2:

02(x2+2)dx=[x33+2x]02\int_{0}^{2} \left(x^{2}+2\right) \, \mathrm{d}x = \left[ \frac{x^{3}}{3} + 2x \right]_{0}^{2} =(233+22)(033+20)= \left(\frac{2^{3}}{3} + 2 \cdot 2\right) - \left(\frac{0^{3}}{3} + 2 \cdot 0\right) =83+4=83+123=203= \frac{8}{3} + 4 = \frac{8}{3} + \frac{12}{3} = \mathbf{\underline{\underline{\dfrac{20}{3}}}}