Gymnasiet
Ma3b/Ma3c
Kapitel 2.1.3

Numerisk derivering

Approximation av derivator med differensmetoder när analytisk derivering saknas eller när data bara finns som diskreta punkter.

På den här sidan

Bakgrund

Numerisk derivering betyder att man beräknar ett närmevärde till derivatan med vanliga räkneoperationer i stället för med deriveringsregler. Det behövs när funktionen bara finns som mätvärden eller som ett datorprogram, och det är så räknare och digitala verktyg beräknar derivator.

Teori

Utgångspunkten är derivatans definition:

f′(x)=lim⁡h→0f(x+h)−f(x)hf'(x)=\lim_{h\to\nobreak 0}\dfrac{f(x+\nobreak h)-\nobreak f(x)}{h}

I stället för att låta h\displaystyle h gå mot 0 väljer man ett litet tal, till exempel h=0,1\displaystyle h=0{,}1 eller h=0,001\displaystyle h=0{,}001. Då får man ett närmevärde. Tecknet ≈\displaystyle \approx betyder "ungefär lika med".

1. Framåtdifferens

Lutningen mellan punkten i x\displaystyle x och en punkt strax till höger:

f′(x)≈f(x+h)−f(x)hf'(x)\approx\dfrac{f(x+\nobreak h)-\nobreak f(x)}{h}

2. Bakåtdifferens

Lutningen mellan en punkt strax till vänster och punkten i x\displaystyle x:

f′(x)≈f(x)−f(x−h)hf'(x)\approx\dfrac{f(x)-\nobreak f(x-\nobreak h)}{h}

3. Centraldifferens

Lutningen mellan en punkt till vänster och en punkt till höger. Avståndet mellan dem är 2h\displaystyle 2h:

f′(x)≈f(x+h)−f(x−h)2hf'(x)\approx\dfrac{f(x+\nobreak h)-\nobreak f(x-\nobreak h)}{2h}

Centraldifferensen blir oftast mest träffsäker. När grafen böjer sig blir framåtdifferensen för stor åt ena hållet och bakåtdifferensen för liten, och centraldifferensen tar ut en stor del av de felen.

Val av h

Ett för stort h\displaystyle h ger ett grovt närmevärde. Ett extremt litet h\displaystyle h ger avrundningsfel på en dator, eftersom två nästan lika tal subtraheras. Värden mellan 0,01\displaystyle 0{,}01 och 0,0001\displaystyle 0{,}0001 fungerar oftast bra.

4. Hur snabbt minskar felet?

  • Framåt- och bakåtdifferens: om h\displaystyle h blir 10 gånger mindre blir felet ungefär 10 gånger mindre.
  • Centraldifferens: om h\displaystyle h blir 10 gånger mindre blir felet ungefär 100 gånger mindre.

Fördjupning: man säger att felet är av ordning h\displaystyle h respektive h2\displaystyle h^2.

5. Andraderivatan numeriskt

f′′(x)≈f(x+h)−2f(x)+f(x−h)h2f''(x)\approx\dfrac{f(x+\nobreak h)-\nobreak 2f(x)+\nobreak f(x-\nobreak h)}{h^2}

6. Tillämpningar

  • Beräkna hastighet från mätvärden av sträcka och tid.
  • Simuleringar i fysik och teknik.
  • Räknare och datorprogram som beräknar derivator i en punkt.

Exempel och tillämpningar

Exempel 1: Framåtdifferens

Uppgift: Approximera f′(2)\displaystyle f'(2) för f(x)=x2+3x+1\displaystyle f(x)=x^2+3x+1 med framåtdifferens och h=0,1\displaystyle h=0{,}1.

Exempel 2: Centraldifferens

Uppgift: Approximera samma derivata, f′(2)\displaystyle f'(2) för f(x)=x2+3x+1\displaystyle f(x)=x^2+3x+1, med centraldifferens och h=0,1\displaystyle h=0{,}1.

Exempel 3: Jämför tre metoder

Uppgift: Approximera f′(1)\displaystyle f'(1) för f(x)=x3\displaystyle f(x)=x^3 med framåt-, bakåt- och centraldifferens och h=0,1\displaystyle h=0{,}1. Jämför med det exakta värdet f′(1)=3\displaystyle f'(1)=3.

Exempel 4: Första- och andraderivata numeriskt

Uppgift: Approximera f′(2)\displaystyle f'(2) och f′′(2)\displaystyle f''(2) för f(x)=x3−2x+1\displaystyle f(x)=x^3-2x+1 med h=0,1\displaystyle h=0{,}1.

Interaktiva funktioner

Jämför metoderna

Välj funktion, punkt och steglängd. Tabellen visar närmevärdena och hur långt de ligger från det exakta värdet.

Vald funktion: f(x)=x2+3x+1\displaystyle f(x)=x^2+3x+1 med den exakta derivatan f′(x)=2x+3\displaystyle f'(x)=2x+3.

Punkt: x=1\displaystyle x=1

f′(1)=5f'(1)=\nobreak 5
MetodNärmevärdeFel
Framåtdifferens5,1\displaystyle 5{,}10,1\displaystyle 0{,}1
Bakåtdifferens4,9\displaystyle 4{,}90,1\displaystyle 0{,}1
Centraldifferens5\displaystyle 50\displaystyle 0
Richardson (fördjupning)5\displaystyle 50\displaystyle 0

Andraderivatan numeriskt: f′′(1)≈2\displaystyle f''(1)\approx2. Exakt värde: 2\displaystyle 2.

Grafen nära punkten och tangenten med exakt lutning
Lodrät axel: y
012−3−2−1012345678910111213

Vågrät axel: x

Varje ruta motsvarar 1 på den vågräta axeln. På den lodräta axeln motsvarar en ruta 1.

  • Heldragen: f(x)=x2+3x+1\displaystyle f(x)=x^2+3x+1
  • Streckad: Tangenten

Markerade punkter (ungefär):

  • Punkt: (1; 5)

Felet när h minskar

Felet för framåt- och centraldifferens i den valda punkten x=1\displaystyle x=1.

SteglängdFel, framåtFel, central
h=0,1\displaystyle h=0{,}10,1\displaystyle 0{,}10\displaystyle 0
h=0,01\displaystyle h=0{,}010,01\displaystyle 0{,}010\displaystyle 0
h=0,001\displaystyle h=0{,}00110⋅10−4\displaystyle 10\cdot10^{-4}0\displaystyle 0
h=1⋅10−4\displaystyle h=1\cdot10^{-4}10⋅10−5\displaystyle 10\cdot10^{-5}0\displaystyle 0

Varje gång h\displaystyle h blir 10 gånger mindre minskar felet för framåtdifferensen ungefär 10 gånger och felet för centraldifferensen ungefär 100 gånger. För x2+3x+1\displaystyle x^2+3x+1 är centraldifferensen exakt, så där är felet 0 bortsett från avrundning.

Fördjupning: Newtons metod med numerisk derivata

Lös x3−x−2=0\displaystyle x^3-x-2=0 med xn+1=xn−f(xn)f′(xn)\displaystyle x_{n+1}=x_n-\dfrac{f(x_n)}{f'(x_n)}.

Startvärde: x0=1,5\displaystyle x_0=1{,}5

Antal steg: n=3\displaystyle n=3

Stegx-värdeFunktionsvärde
n=0\displaystyle n=0x0≈1,5\displaystyle x_{0}\approx1{,}5−0,125\displaystyle -0{,}125
n=1\displaystyle n=1x1≈1,52173913\displaystyle x_{1}\approx1{,}521739130,0021\displaystyle 0{,}0021
n=2\displaystyle n=2x2≈1,52137981\displaystyle x_{2}\approx1{,}521379815,9⋅10−7\displaystyle 5{,}9\cdot10^{-7}
n=3\displaystyle n=3x3≈1,52137971\displaystyle x_{3}\approx1{,}521379710\displaystyle 0

Nollstället är ungefär x≈1,52138\displaystyle x\approx1{,}52138. När funktionsvärdet är mycket nära 0 har metoden hittat nollstället.

Vanliga misstag

  • Att välja ett för stort h\displaystyle h och få ett grovt närmevärde.
  • Att välja ett extremt litet h\displaystyle h och få avrundningsfel.
  • Att dela med h\displaystyle h i stället för 2h\displaystyle 2h i centraldifferensen.
  • Att skriva likhetstecken i stället för ≈\displaystyle \approx. Ett numeriskt resultat är ett närmevärde.

Vanliga frågor

Tips för att bemästra numerisk derivering

Viktigt att tänka på

  • Använd centraldifferens när du kan välja metod.
  • Pröva två olika värden på h\displaystyle h. Om svaren nästan är lika kan du lita på dem.
  • Kontrollera med deriveringsreglerna när funktionen är känd.
  • Avrunda inte mellanleden för tidigt, eftersom du dividerar med ett litet tal.

Fördjupning: avancerade tekniker

Richardson-extrapolation

Om D(h)\displaystyle D(h) är centraldifferensen med steget h\displaystyle h kan två närmevärden kombineras så att största delen av felet tar ut sig:

f′(x)≈4D(h2)−D(h)3f'(x)\approx\dfrac{4D\left(\tfrac{h}{2}\right)-\nobreak D(h)}{3}

Komplexa steg (kräver komplexa tal, Ma4)

Med ett imaginärt steg ih\displaystyle ih slipper man subtraktionen av två nästan lika tal:

f′(x)≈Im⁡(f(x+ih))hf'(x)\approx\dfrac{\operatorname{Im}\big(f(x+\nobreak ih)\big)}{h}

Automatisk differentiering

Datorprogram kan också tillämpa deriveringsreglerna steg för steg på hur funktionen är uppbyggd. Då blir derivatan exakt, bortsett från vanlig avrundning.

Tillämpningsexempel: Newtons metod

Tre steg med Newtons metod

Uppgift: Lös ekvationen x3−x−2=0\displaystyle x^3-x-2=0 med tre steg av Newtons metod från startvärdet x0=1,5\displaystyle x_0=1{,}5. Derivatan beräknas med centraldifferens och h=0,0001\displaystyle h=0{,}0001.

Sammanfattning

Numerisk derivering är ett kraftfullt komplement till analytisk derivering. Genom rätt metodval, medveten hantering av steglängd och felanalys kan du få stabila approximationer i allt från simuleringar till dataanalys.

Kom ihåg

Numerisk derivering ersätter inte analytisk förståelse, men gör det möjligt att lösa problem där exakt derivata är svår eller omöjlig att få fram direkt.

Testa dig själv1/3

Vilken formel är centraldifferensen?

Testa att du förstått

Träna uppgifter i derivata för Matematik 3. Du får facit och förklaring direkt.

Träna på det här

Aktivera JavaScript för att använda formulär och interaktiva verktyg. Sidans innehåll och länkar kan läsas utan JavaScript.