Hopp til innhold
Bokmål
Interaktivt innhold

Tilnærmede verdier til den deriverte

Hvordan kan vi få datamaskinen til å regne ut tilnærmede verdier for den deriverte til en funksjon uten å kjenne den deriverte funksjonen?

Tilnærming for hånd

Vi ser på funksjonen

f(x)=x2+2

og finner at den deriverte funksjonen f'(x) er

f'(x)=2x

Ut ifra denne kan vi for eksempel regne ut den deriverte når x=0,5.

f'(0,5)=2·0,5=1

🤔 Tenk over: Hva betyr det at f'(0,5)=1?

Svar

At f'(0,5)=1, betyr at stigningstallet til tangenten til grafen når x=0,5, er 1. Det betyr også at den momentane vekstfarten til funksjonen når x=0,5, er 1.

Det er vanskelig å lage et program som kan finne den deriverte funksjonen til en vilkårlig funksjon. Målet vårt er nå å lage et program som kan regne ut tilnærmede verdier for den deriverte til en funksjon uten at vi kjenner den deriverte funksjonen. Til det kan vi bruke at den deriverte funksjonen f'(x) er den verdien

ΔyΔx=fx+Δx-fxΔx

nærmer seg når Δx går mot null.

🤔 Tenk over: Hvorfor kan vi ikke sette Δx=0 direkte i uttrykket?

Svar

Dersom vi prøver å sette Δx=0 rett inn i uttrykket, får vi 0 i nevneren på brøken.

Vi prøver nå å regne ut verdien av brøkuttrykket med en liten verdi for Δx. Vi setter Δx=0,1.

f'0,5  f0,5+0,1-f0,50,1=f0,6-f0,50,1=0,62+2-0,52+20,1=1,1

Vi kommer nokså nærme det rette svaret, som altså er 1. Vi burde få et bedre svar dersom vi gjør Δx enda mindre. Vi setter Δx=0,01.

Prøv selv: Bruk den samme framgangsmåten som over og finn en tilnærming til f'(0,5) ved å sette Δx=0,01.

Løsning

f'0,5  f0,5+0,01-f0,50,01=f0,51-f0,50,01=1,01

Vi fikk som forventet en mye bedre tilnærming til det riktige svaret, men vi kan få det til enda bedre ved å gjøre Δx gradvis mindre. La oss sette opp en tabell over noen resultater:

Δx0,1 0,01 0,001 0,0001f'(0,5) 1,1   1,01  1,001  1,0001

Hvis vi setter Δx liten nok, kan vi få en ganske god tilnærming til den deriverte. For slike funksjoner vi regner med i 1T, vil det oftest være godt nok å tilnærme ved å sette Δx til et lite tall. I R1 vil du lære hvordan du kan gjøre tilnærmingen så god som du ønsker.

Algoritme

Nå kan vi starte med programmeringen. Vi vil lage en tabell med den deriverte til funksjonen vår for noen utvalgte x-verdier. Det kan være lurt å tenke gjennom hvordan vi vil lage programmet før vi begynner.

Prøv selv: Lag et oppsett der du skriver med ord hvordan programmet skal virke – en algoritme for programmet.

Løsningsforslag

Det er flere måter å løse dette på, og her er ett forslag.

Vi bestemmer oss for at det er nøyaktig nok med Δx=0,000 1.

Algoritmen for programmet kan være slik:

  • Vi definerer funksjonen.

  • Vi definerer en funksjon for å tilnærme den deriverte med formelen  fx+Δx-fxΔx og Δx=0,000 1.

  • Vi lager ei liste med de x-verdiene vi vil bruke.

  • Programmet regner ut en tilnærmet verdi for den deriverte for alle x-verdiene og legger dem i ei liste.
  • Til slutt skriver vi ut x-verdiene og de tilhørende verdiene for den deriverte.

Koding

Skriv koden til et program som passer til algoritmen over. Du kan lage programmet i den editoren du bruker til vanlig, eller du kan bruke den interaktive editoren nedenfor. (NB: Det kan ta litt tid fra du trykker på avspillingsknappen til programmet blir kjørt.)

Forslag til program

Programmet kan lages på flere måter. Her viser vi et der vi legger til tall i ei liste:

Python
1def f(x):                     #definerer funksjonen
2    return x**2+2                   
3
4def derf(x):                  #definerer tilnærmingen til den deriverte
5    return (f(x+0.0001)-f(x))/0.0001
6
7x = [-2,-1,0,1,2]             #skriver inn x-verdiene vi vil bruke
8
9deriverte = []                #lager ei tom liste til de deriverte verdiene
10
11for i in range(len(x)):       #lager ei løkke for å legge til de deriverte verdiene
12    deriverte.append(derf(x[i]))
13
14print(x)                      
15print(deriverte)

Vi kan også bruke biblioteket numpy og få lista med deriverte verdier uten å bruke ei løkke. Her har vi også definert en variabel for x i stedet for å skrive inn tallet direkte i funksjonen og gjort utskriften litt penere:

Python
1import numpy as np         #importerer numpy
2
3def f(x):                  #definerer funksjonen
4    return x**2+2
5
6def derf(x,deltax):        #definerer tilnærmingen til den deriverte
7    return (f(x+deltax)-f(x))/deltax
8
9deltax = 0.0001            
10x = np.linspace(-2,2,5)    #lager en array med x-verdiene
11deriverte = derf(x,deltax) #lager en array med tilhørende deriverte verdier
12
13np.set_printoptions(suppress=True, precision=4)
14                           #denne kommandoen lar oss begrense antall desimaler
15print(x)
16print(deriverte)
Skrevet av Bjarne Skurdal og Tove Annette Holter.
Sist oppdatert 12.08.2025