Numeriek differentiëren: Differentieformules voor de eerste afgeleide
Algemene differentieformules
De eerder gegeven differentieformules zijn via de stelling van Taylor geïntroduceerd. In een aantal toepassingen is het nodig om differentieformules te gebruiken met een hogere nauwkeurigheid (denk aan afrondfouten) of met roosterpunten die niet equidistant verdeeld zijn. Hier zullen we een methode presenteren om nieuwe differentieformules af te leiden. De 3-punts en 5-punts centrale differentieformules zijn speciale gevallen van afgeleiden berekend via een Savitsky-Golay filter.
De algemene aanpak bij \(n+1\) verschillende roosterpunten \(x_0, x_1, \ldots x_n\), die een veelvoud van stapgrootte \(h\) van elkaar verschillen, is om coëfficiënten \(c_0, c_1, \ldots, c_n\) te vinden zodanig dat de uitdrukking \[Q(h)\stackrel{\mathrm{def}}{=}\sum_{i=0}^n c_if(x_i)\] de afgeleide \(f'(x_0)\) benadert met een zo groot mogelijke orde van de afbreekfout. De coëfficiënten \(c_0, c_1, \ldots, c_n\) vinden we door elke \(f(x_i)\) in een Taylorveelterm rondom \(x_0\) van voldoende hoge graad te ontwikkelen en dan vergelijkingen voor de onbekende \(c_i\)'s op te stellen en op te lossen.
Bovenstaande beschrijving is cryptisch, maar voorbeelden maken deze systematische aanpak wel duidelijk.
De 3-puntscentrale differentieformule We nemen 3 roosterpunten \(x_0-h\), \(x_0\) en \(x_0+h\). We definiëren de formule \[Q(h)=A\cdot f(x_0-h)+B\cdot f(x_0)+C\cdot f(x_0+h)\] en bepalen de Taylor benadering van \(Q(h)\). We weten dat \[\begin{aligned} f(x_0-h) &= f(x_0)-f'(x_0)h+\tfrac{1}{2}f''(x_0)h^2+O(h^3)\\ f(x_0+h) &= f(x_0)+f'(x_0)h+\tfrac{1}{2}f''(x_0)h^2+O(h^3)\end{aligned}\] en dus \[\begin{aligned}Q(h) &= A\cdot ( f(x_0)-f'(x_0)h+\tfrac{1}{2}f''(x_0)h^2)+B\cdot f(x_0)\\ &\phantom{=}{}+C\cdot (f(x_0)+f'(x_0)h+\tfrac{1}{2}f''(x_0)h^2) + O(h^3)\\ \\ &= (A+B+C)f(x_0)+(C-A)f'(x_0)h+\tfrac{1}{2}(A+C)f''(x_0)h^2+O(h^3)\end{aligned}\] De vergelijkingen waaraan \(A, B, C\) moeten voldoen opdat voor \(Q(h)\) de orde van de fout maximaal is, zijn \[A+B+C = 0,\quad (C-A)h = 1,\quad A+C = 0\] Deze vergelijkingen zijn eenvoudig op te lossen: \[A=-\frac{1}{2h}, B=0, C=\frac{1}{2h}\] Dus hebben we nu gevonden \[Q(h)=\frac{f(x_0+h)-f(x_0-h)}{2h}\] en \[f'(x_0)=\frac{f(x_0+h)-f(x_0-h)}{2h}+O(h^2)\] Dit is dus gelijk aan de centrale differentieformule.
Eenzijdige 3-punts differentieformules Linkszijdige 3-punts differentieformule: \[f'(x_0)\approx\frac{-3f(x_0)+4f(x_0+h)-f(x_0+2h)}{2h}\] Rechtszijdige 3-punts differentieformule: \[f'(x_0)\approx\frac{3f(x_0)-4f(x_0-h)+f(x_0-2h)}{2h}\] Eenzijdige 3-punts differentieformules kun je goed gebruiken om afgeleiden te benaderen op de randen van een eindig discreet signaal.
We nemen 3 roosterpunten \(x_0\), \(x_0+h\) en \(x_0+2h\). We definiëren de formule \[Q(h)=A\cdot f(x_0)+B\cdot f(x_0+h)+C\cdot f(x_0+2h)\] en bepalen de Taylor benadering van \(Q(h)\). We weten dat \[\begin{aligned} f(x_0+h) &= f(x_0)+f'(x_0)h+\tfrac{1}{2}f''(x_0)h^2+O(h^3)\\ f(x_0+2h) &= f(x_0)+2f'(x_0)h+\tfrac{1}{2}f''(x_0)(2h)^2+O(h^3)\end{aligned}\] en dus \[\begin{aligned}Q(h) &=A\cdot f(x_0) + B\cdot ( f(x_0)+f'(x_0)h+\tfrac{1}{2}f''(x_0)h^2)\\ &\phantom{=}{}+C\cdot (f(x_0)+2f'(x_0)h+\tfrac{4}{2}f''(x_0)h^2) + O(h^3)\\ \\ &= (A+B+C)f(x_0)+(B+2C)f'(x_0)h+\tfrac{1}{2}(B+4C)f''(x_0)h^2+O(h^3)\end{aligned}\] De vergelijkingen waaraan \(A, B, C\) moeten voldoen opdat voor \(Q(h)\) de orde van de fout maximaal is, zijn \[A+B+C = 0,\quad (B+2C)h = 1,\quad B+4C = 0\] Deze vergelijkingen zijn eenvoudig op te lossen: \[A=-\frac{3}{2h}, B=\frac{2}{h}, C=-\frac{1}{2h}\] Dus hebben we nu gevonden \[Q(h)=\frac{-3f(x_0)+4f(x_0+h)-f(x_0+2h)}{2h}\] en \[f'(x_0)=\frac{-3f(x_0)+4f(x_0+h)-f(x_0+2h)}{2h}+O(h^2)\] Dit is een linkszijdige 3-punts differentieformule.
Op soortgelijke wijze kun je ook de rechtszijdige 3-punts differentieformule vinden: \[f'(x_0)=\frac{3f(x_0)-4f(x_0-h)+f(x_0-2h)}{2h}+O(h^2)\]
De 5-punts centrale differentieformule \[f'(x_0)\approx\frac{f(x_0-2h)-8f(x_0-h)+8f(x_0+h)-f(x_0+2h)}{12h}\] De afbreekfout is in het algemeen kleiner dan bij de 3-punts centrale differentieformule.
We nemen 5 roosterpunten \(x_0-2h\), \(x_0-h\), \(x_0\), \(x_0+h\) en \(x_0+2h\). We definiëren de formule \[\begin{aligned}Q(h)&=A\cdot f(x_0-2h)+B\cdot f(x_0-h)+C\cdot f(x_0)\\ &\phantom{=}{}+ D\cdot f(x_0+h)+E\cdot f(x_0+2h)\end{aligned} \] en bepalen de Taylor benadering van \(Q(h)\). Er geldt \[\begin{aligned} f(x_0-2h) &= f(x_0)-2f'(x_0)h+2f''(x_0)h^2-\tfrac{4}{3}f'''(x_0)h^3+\tfrac{2}{3}f''''(x_0)h^4+O(h^5)\\ f(x_0-h) &= f(x_0)-f'(x_0)h+\tfrac{1}{2}f''(x_0)h^2-\tfrac{1}{6}f'''(x_0)h^3+\tfrac{1}{24}f''''(x_0)h^4+O(h^5)\\ f(x_0+h) &= f(x_0)+f'(x_0)h+\tfrac{1}{2}f''(x_0)h^2+\tfrac{1}{6}f'''(x_0)h^3+\tfrac{1}{24}f''''(x_0)h^4+O(h^5)\\ f(x_0+2h) &= f(x_0)+2f'(x_0)h+2f''(x_0)h^2+\tfrac{4}{3}f'''(x_0)h^3+\tfrac{2}{3}f''''(x_0)h^4+O(h^5)\end{aligned}\] en dus \[\begin{aligned}Q(h) &= (A+B+C+D+E)f(x_0)+(-2A-B+D+2E)f'(x_0)h\\&\phantom{=}{}+\tfrac{1}{2}(4A+B+D+4E)f''(x_0)h^2+\tfrac{1}{6}(-8A-B+D+8E)f'''(x_0)h^3\\&\phantom{=}{}+\tfrac{1}{24}(16A+B+D+16E)f''''(x_0)h^4+O(h^5)\end{aligned}\] De vergelijkingen waaraan \(A, B, C, D, E\) moeten voldoen opdat voor \(Q(h)\) de orde van de fout maximaal is, zijn \[\begin{aligned}A+B+C +D+\;\;E&= 0\\ -2A-B+\phantom{+C}D+\;2E &= \frac{1}{h}\\ 4A+B+\phantom{+C}D+\;4E &= 0\\ -8A-B+\phantom{+C}D+\;8E &= 0\\ 16A+B+\phantom{+C}D+16E &= 0\end{aligned}\] Deze vergelijkingen zijn betrekkelijk eenvoudig op te lossen: \[A=\frac{1}{12h}, B=-\frac{2}{3h},C=0, D=\frac{2}{3h}, E=-\frac{1}{12h}\] Dus hebben we nu gevonden \[Q(h)=\frac{f(x_0-2h)-8f(x_0-h)+8f(x_0+h)-f(x_0+2h)}{12h}\] en \[f'(x_0)\approx\frac{f(x_0-2h)-8f(x_0-h)+8f(x_0+h)-f(x_0+2h)}{12h}\] Dit is de 5-punts centrale differentieformule. Na te gaan is dat de afbreekfout orde \(h^4\) heeft..