Hopp til innhald
Fagartikkel

Korleis bestemme den deriverte i eit punkt numerisk

Du skal lære å bestemme tilnærmingsverdiar til den deriverte ved bruk av numeriske metodar.

Til no har vi sett på korleis vi kan finne den deriverte eksakt, anten algebraisk som grenseverdien til eit uttrykk eller grafisk som stigingstalet til ein tangent. I dette avsnittet skal vi finne den deriverte i eit punkt numerisk, men for å gjere det må vi vite kva det vil seie å løyse noko numerisk.

Numerisk metode i GeoGebra

Du har kanskje lagt merke til at det til dømes i GeoGebra er to alternativ for å løyse ei likning, markert med x  = eller x  . Desse svarer til kommandoane "Løys" og "Nløys". Den første varianten finn det eksakte svaret, og den andre varianten finn eit tilnærma svar. Som oftast er svara nokså like, men kanskje har du òg opplevd å få ulikt svar dersom du bruker begge metodane? Nokre gonger greier ikkje GeoGebra å rekne ut det eksakte svaret på likninga, men vi kan finne eit tilnærma svar ved å velje "Nløys". Andre gonger finn GeoGebra kanskje to løysingar ved å rekne eksakt, mens det berre kjem éi tilnærma løysing. Denne måten å finne løysingar på kallar vi numerisk.

Det å finne eit tal numerisk skil seg frå andre måtar å rekne på ved at det er ei form for såkalla prøve-og-feile-metode. Det vil seie at ein startar med eit forslag til løysing, og ved hjelp av ulike mønster nærmar ein seg den eigentlege løysinga. Når GeoGebra har funne ei løysing, sluttar programmet å leite, sjølv om det kan finnast fleire løysingar. Dette er ein viktig grunn til alltid å velje eksakt løysing av likningar, for så å runde av svara etterpå.

Vi kan sjå eit døme under der vi prøver å løyse eit likningssett:


Numeriske metodar i Python

I 1T brukte vi numeriske metodar både for hand og ved hjelp av programmering. Vi fann mellom anna nullpunkt gjennom halveringsmetoden og tilnærma verdiar for den deriverte med programmering. Du finn lenkjer til dei to sidene lengst ned på denne sida. Å leite etter løysingar slik vi har gjort tidlegare, er tidkrevjande dersom ein skal gjere det for hand, så dette er ei oppgåve for datamaskiner.

Vi skal her vise ein annan måte vi kan bruke når vi skal finne ei tilnærming til den deriverte gjennom programmering. Vi skal ta utgangspunkt i formelen for stigingstalet til ei rett linje for å finne stigingstalet til tangenten. Vi minner om den generelle formelen for stigingstal:

a=y2-y1x2-x1

Vi tek for oss funksjonen  f(x)=x3+4x2-x. Vi skal finne ein tilnærmingsverdi til den deriverte der  x=1. Det skal vi gjere ved å rekne på gjennomsnittet av stigingstala til sekantar på kvar si side av tangenten gjennom punktet 1, f1 (punkt A på figuren under).

Vi plasserer punkt med lik avstand til punktet 1,f1 på kvar side av  x=1 (punkt B og C på figuren). Vi teiknar så sekantane BA og AC og finn stigingstala til desse. No kan vi lage eit program som flyttar punkta B og C nærare og nærare A for å finne ein tilnærmingsverdi til den deriverte.

Vi må bestemme oss for kor nært vi skal kome før vi seier oss fornøgde. Vi kan til dømes bestemme at vi skal slutte å gå nærare dersom skilnaden mellom to etterfølgjande tilnærmingar er mindre enn 0,000 1.

Vi vel å starte med at avstanden mellom punkta er 1, og så halverer vi avstanden heilt til vi har nådd målet. Biletet viser startpunktet for programmet med tangenten og dei to sekantane teikna inn med stigingstala sine:

La oss rydde i opplysningane over i ein algoritme:

  1. Først definerer vi funksjonen.

  2. Vi definerer x-verdien til punktet der vi skal finne den deriverte.

  3. Vi set startverdien for avstand frå B og C til A.

  4. Vi set nøyaktigheita for tilnærminga til h.

  5. Vi set startverdien for den deriverte til tangent.

  6. Vi set startverdien til forskjellen mellom to etterfølgjande tilnærmingar til  h+1.

  7. Vi startar ei lykkje som skal gå så lenge skilnaden mellom to etterfølgjande tilnærmingar er større enn h.

  8. Vi reknar ut stigingstala til dei to sekantane.

  9. Vi reknar ut gjennomsnittet av stigingstalet til dei to sekantane.

  10. Vi reknar ut skilnaden mellom dei to sekantane.

  11. Vi legg den siste tilnærminga inn i variabelen tangent.

  12. Vi halverer avstanden og startar lykkja på nytt.

  13. Vi må skrive ut tilnærminga når vi har kome langt nok.

Då kan vi få eit program som ser slik ut:

python
1def f(x):
2    return x**3+4*x**2-x
3
4x = 1                #punktet vi skal finne den deriverte i
5avstand = 1          #kor langt vi skal gå til kvar side
6h = 0.0001           #kor nøyaktig vi krev at tilnærminga skal vere
7
8
9tangent = 20         #startverdi for den deriverte
10
11skilnad = h+1        #startverdi for while-lykkja
12
13
14while abs(skilnad) > h:                    #vilkåret for lykkja er at skilnaden mellom  
15                                           #denne og førre tilnærming er større enn h
16    sek_v = (f(x)-f(x-avstand))/avstand    #stigingstalet til venstre sekant
17    sek_h = (f(x+avstand)-f(x))/avstand    #stigingstalet til høgre sekant
18    tangent_2 = (sek_v + sek_h)/2          #gjennomsnittet til dei to stigingstala
19    skilnad = tangent_2 - tangent          #skilnaden mellom denne og førre tilnærming
20    tangent = tangent_2                    #legg den siste tilnærminga inn i 
21                                           #plasshalderen "tangent"
22    avstand = avstand/2                    #halverer avstanden til punktet x = 1
23
24print(f"Den deriverte i {x} er tilnærma lik {tangent:.4f}.")
25

Relatert innhald