Hopp til innhald
Nynorsk
Interaktivt innhald

Tilnærma verdiar til den deriverte

Korleis kan vi få datamaskina til å rekne ut tilnærma verdiar for den deriverte til ein funksjon utan å kjenne den deriverte funksjonen?

Tilnærming for hand

Vi ser på funksjonen

f(x)=x2+2

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

f'(x)=2x

Ut ifrå denne kan vi til dømes rekne ut den deriverte når x=0,5.

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

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

Svar

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

Det er vanskeleg å lage eit program som kan finne den deriverte funksjonen til ein vilkårleg funksjon. Målet vårt er no å lage eit program som kan rekne ut tilnærma verdiar for den deriverte til ein funksjon utan 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ærmar seg når Δx går mot null.

🤔 Tenk over: Kvifor kan vi ikkje setje Δx=0 direkte i uttrykket?

Svar

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

Vi prøver no å rekne ut verdien av brøkuttrykket med ein liten verdi for Δx. Vi set Δ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 kjem nokså nære det rette svaret, som altså er 1. Vi burde få eit bedre svar dersom vi gjer Δx enda mindre. Vi set Δx=0,01.

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

Løysing

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

Vi fekk som forventa ei mykje betre tilnærming til det riktige svaret, men vi kan få det til endå betre ved å gjere Δx gradvis mindre. La oss setje opp ein tabell over nokre resultat:

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

Dersom vi set Δx liten nok, kan vi få ei ganske god tilnærming til den deriverte. For slike funksjonar vi regner med i 1T, vil det oftast vere godt nok å tilnærme ved å setje Δx til eit lite tal. I R1 vil du lære korleis du kan gjere tilnærminga så god som du ønsker.

Algoritme

No kan vi starte med programmeringa. Vi vil lage ein tabell med den deriverte til funksjonen vår for nokre utvalde x-verdiar. Det kan vere lurt å tenke gjennom korleis vi vil lage programmet før vi byrjar.

Prøv sjølv: Lag eit oppsett der du skriv med ord korleis programmet skal verke – ein algoritme for programmet.

Løysingsforslag

Det er fleire måtar å løyse dette på, og her er eitt forslag.

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

Algoritmen for programmet kan vere slik:

  • Vi definerer funksjonen.

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

  • Vi lagar ei liste med dei x-verdiane vi vil bruke.

  • Programmet reknar ut ein tilnærma verdi for den deriverte for alle x-verdiane og legg dei i ei liste.
  • Til slutt skriv vi ut x-verdiane og dei tilhøyrande verdiane for den deriverte.

Koding

Skriv koden til eit program som passar til algoritmen over. Du kan lage programmet i den editoren du bruker til vanleg, eller du kan bruke den interaktive editoren nedanfor. (NB: Det kan ta litt tid frå du trykker på avspelingsknappen til programmet blir køyrt.)

Forslag til program

Programmet kan lagast på fleire måtar. Her viser vi eit der vi legg til tal i ei liste:

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

Vi kan òg bruke biblioteket numpy og få lista med deriverte verdiar utan å bruke ei løkke. Her har vi òg definert ein variabel for x i staden for å skrive inn talet direkte i funksjonen og gjort utskrifta litt penare:

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ærminga til den deriverte
7    return (f(x+deltax)-f(x))/deltax
8
9deltax = 0.0001            
10x = np.linspace(-2,2,5)    #lagar ein array med x-verdiane
11deriverte = derf(x,deltax) #lagar ein array med tilhøyrande deriverte verdiar
12
13np.set_printoptions(suppress=True, precision=4)
14                           #denne kommandoen lar oss avgrense talet på desimalar
15print(x)
16print(deriverte)
Skrive av Bjarne Skurdal og Tove Annette Holter.
Sist oppdatert 12.08.2025