Finne toppunkt med while-løkke og derivasjon

Finne toppunkt med while-løkke og derivasjon

Lest inn av KI og ikke kontrollert manuelt enda — kan inneholde feil.

En elev har skrevet programkoden nedenfor.

def f(x):
    return x/(1+x**2)

h = 0.0001
x = 0
while (f(x+h)-f(x))/h > 0:
    x = x + 0.01
print("x=", x)

Hva ønsker eleven å finne ut?

Forklar hva som skjer når programmet kjøres. Hva blir resultatet?

Fasit

Eleven ønsker å finne xx-verdien til toppunktet på grafen til ff.

Programmet skriver ut x= 1.0 (tilnærmet). Toppunktet er (1,12)(1, \frac{1}{2}).

LøsningsforslagKI-generert

Eleven beregner den numeriske tilnærmingen til den deriverte

f(x)f(x+h)f(x)hf'(x) \approx \frac{f(x+h)-f(x)}{h}

og sjekker om den er positiv. Så lenge f(x)>0f'(x) > 0 øker funksjonen, og while-løkken fortsetter. Løkken stopper første gang f(x)0f'(x) \leq 0, det vil si når funksjonen slutter å vokse.

Eleven ønsker altså å finne xx-koordinaten til toppunktet på grafen til ff.

Vi følger programmet steg for steg:

Definisjon og startverdier:

def f(x):
    return x/(1+x**2)

h = 0.0001
x = 0
  • Funksjonen f(x)=x1+x2f(x) = \dfrac{x}{1+x^2} defineres.
  • Skrittstørrelsen h=0,0001h = 0{,}0001 brukes til numerisk derivasjon.
  • Startpunktet settes til x=0x = 0.

While-løkken:

while (f(x+h)-f(x))/h > 0:
    x = x + 0.01
  • Betingelsen sjekker om f(x)f(x+h)f(x)h>0f'(x) \approx \dfrac{f(x+h)-f(x)}{h} > 0.
  • Ved x=0x = 0 er f(0)>0f'(0) > 0 (funksjonen stiger), så løkken starter.
  • For hvert steg økes xx med 0,010{,}01.
  • Løkken fortsetter så lenge funksjonen stiger, og stopper første gang den slutter å stige.

Utskrift:

print("x=", x)

Programmet skriver ut xx-verdien der funksjonen slutter å stige, altså xx-koordinaten til toppunktet.

Resultatet:

Programmet skriver ut:

x= 1.0

Kontroll analytisk: Vi finner toppunktet ved å løse f(x)=0f'(x) = 0:

f(x)=(1+x2)1x2x(1+x2)2=1x2(1+x2)2f'(x) = \frac{(1+x^2) \cdot 1 - x \cdot 2x}{(1+x^2)^2} = \frac{1-x^2}{(1+x^2)^2} f(x)=0    1x2=0    x=±1f'(x) = 0 \implies 1 - x^2 = 0 \implies x = \pm 1

Siden xx starter på 00 og øker, finner programmet x=1x = 1. Toppunktets yy-verdi er

f(1)=11+12=12f(1) = \frac{1}{1+1^2} = \frac{1}{2}

Toppunktet er (1, 12)(1,\ \tfrac{1}{2}).

Tastatursnarveier

Navigasjon

⌘K / Ctrl+K
Åpne søk
G F
Gå til Fag
G E
Gå til Eksamener
G T
Gå til Temaer
G K
Gå til Kompetansemål
G H
Hjem
?
Vis snarveier

I oppgave

←/→ · J/K
Forrige / neste oppgave
0
Marker som ikke prøvd
1
Marker som prøvd
2
Marker som trenger hjelp
3
Marker som klart
S
Vis / skjul løsningsforslag
A
Legg til i liste
Esc
Tilbake / avslutt