Nulpunt Bepalen


Home 4BSW1 4BSW2 4MTLAT/4LAT 4MWW1 4MWW2 4NWE2 5BWE 5EWI/5LWI/5WWI1 5WWI2 About

1. Numerieke Algoritmen

1.1. Nulpunten

… een beetje meer wiskunde.

Neem er een functie:

def Polynoom(x):
    return x**2 + 2*x - 1

Hoe kan je de nulpunten op een interval \([x_1, x_2]\) bepalen?

import numpy as NP
import matplotlib.pyplot as PLT

x = NP.linspace(-3., 1., 401, endpoint = True)
y = Polynoom(x)

PLT.gca().axhline(0, ls = '-', color = 'k')
PLT.plot(x, y, 'k-')
PLT.show()

1.2. naïve implementatie

  • maak er een functie aan die de interval overloopt
  • bij een voortekenwissel geeft de functie de x-waarde terug

Wat zijn er beperkingen bij deze implementatie?

1.3. bisectie

Analogie: nummertjes raden

  • Ik kies een geheim nummer tussen 0 en 100, jij moet ze raden.
  • Je mag “groter/kleiner”-vragen stellen.

Bisectie: kies het middelpunt van de interval, en vraag of de nummer groter is. Pas de interval dan aan op de juiste helft en herhaal. (zie hier)

Voor nulpunten:

  • Vind de functiewaarde aan één rand van het interval.
  • Vind het globale minimum en maximum van de functie op dit interval, en splits 1-3 deelintervallen op bij min en max.
  • Kies één rand van het deelinterval. Bepaal hier het voorteken.
  • Vindt het midden van het interval. Is het voorteken hier anders? Zo ja, ga verder met de eerste helft van dit interval. Zo niet, ga verder met de tweede helft.
  • Herhaal, tot dat jouw interwal smaller dan je nauwkeurigheid is (bv. \(\epsilon < 10^{-6}\)).

Wat zijn voordelen en beperkingen van deze methode?

1.4. Newton-Raphson

voor gevoorderden: implementeer de methode van Newton-Raphson.

Date: 2024-03-15 Fri 00:00

Author: Falk Mielke