Gjennomsnitt med algoritme og program

Gjennomsnitt med algoritme og program

I denne oppgaven skal du bruke algoritmen nedenfor til å finne en tilnærmet verdi for gjennomsnittet til en funksjon ff i et intervall [a,b][a, b].

Velg N+1N + 1 tall jevnt fordelt i intervallet [a,b][a, b].

La a=x0<x1<<xN=ba = x_0 < x_1 < \cdots < x_N = b være disse tallene.

Avstanden mellom et av tallene og det neste er da baN\dfrac{b - a}{N}.

Regn ut gjennomsnittet gg av tallene f(x0),f(x1),,f(xN)f(x_0), f(x_1), \cdots, f(x_N).

Da er gg en god tilnærmet verdi for gjennomsnittet til ff i [a,b][a, b].

Denne tilnærmingen blir bedre dess større NN er.

Lag et program som du kan bruke til å bestemme gjennomsnittet til funksjonen ff gitt ved

f(x)=xf(x) = \sqrt{x}

i intervallet [0,1][0, 1]. Hva blir dette gjennomsnittet?

Fasit

Gjennomsnittet til f(x)=xf(x) = \sqrt{x}[0,1][0, 1] er 230,6667\mathbf{\dfrac{2}{3} \approx 0{,}6667}.

LøsningsforslagKI-generert

Algoritmen beregner gjennomsnittet av N+1N+1 funksjonsverdier jevnt fordelt i intervallet. Vi velger punktene

xi=a+ibaN,i=0,1,,Nx_i = a + i \cdot \frac{b - a}{N}, \quad i = 0, 1, \ldots, N

og regner ut gjennomsnittet

g=f(x0)+f(x1)++f(xN)N+1g = \frac{f(x_0) + f(x_1) + \cdots + f(x_N)}{N + 1}

Her er et program som implementerer algoritmen for f(x)=xf(x) = \sqrt{x}[0,1][0, 1]:

from math import sqrt

def f(x):
    return sqrt(x)

a = 0
b = 1
N = 1000

sum_verdier = 0
for i in range(N + 1):
    x_i = a + i * (b - a) / N
    sum_verdier += f(x_i)

g = sum_verdier / (N + 1)
print(g)

Med N=1000N = 1000 gir programmet en verdi svært nær 0,66670{,}6667.

Kontroll med integral:

Det eksakte gjennomsnittet til ff[a,b][a, b] er gitt ved

g=1baabf(x)dxg = \frac{1}{b - a} \int_a^b f(x) \, \mathrm{d}x

For f(x)=xf(x) = \sqrt{x}[0,1][0, 1]:

g=11001xdx=[23x3/2]01=230=23g = \frac{1}{1 - 0} \int_0^1 \sqrt{x} \, \mathrm{d}x = \left[ \frac{2}{3} x^{3/2} \right]_0^1 = \frac{2}{3} - 0 = \frac{2}{3}

Programmet gir altså en god tilnærming til det eksakte svaret g=230,6667\mathbf{\underline{\underline{g = \dfrac{2}{3} \approx 0{,}6667}}}.