Numeriek differentiëren: Differentieformules voor de eerste afgeleide
Afgeleide via 5-punts differentie (programmeeropdracht)
We bekijken in deze opdracht opnieuw hoe we voor een discretisatie van de sinusfunctie op het 'interval \((0,2\pi)\) de afgeleide in de punten kunnen benaderen met differentieformule. We verdelen het interval daartoe in 25 equidistante punten. Deze opdracht is gespecificeerd via de Python programmmeertaal, maar andere programmeertalen zoals Matlab en R bieden vergelijkbare ingebouwde functies. In andere programmeertalen is deze opdracht dus ook te doen.
Gebruik het numpy
en matplotlib
pakket om via de centrale 5-punts differentiatie formule de afgeleiden in de punten op het interval uit te rekenen en de puntgrafiek van de functie en de afgeleiden in één figuur te tekenen.
- Doe het de eerste keer via kruiscorrelatie (en gebruik de 'same' optie om een array van dezelfde lengte te krijgen als het aantal punten).
- Doe het de tweede keer m.b.v de numpy functie
roll
waarmee je een array kunt roteren. - Herhaal onderdeel (a) met \(101\) equidistante punten, met \(1001\) equidistante punten en met \(1\,000\,001\) equidistante punten. Verbeteren de benaderingen als je meer punten op het interval neemt?
Ontgrendel volledige toegang