Welk stopcriterium gebruik ik het best voor de bissectiemethode?

Flor , 17 jaar
11 februari 2016

Ik probeer de bissectiemethode voor het benaderen van nulwaarden van een functie te programmeren. In de huidige versie van mijn programma laat ik het interval tussen de startwaarden A en B steeds halveren door een midden M te berekenen, zolang abs(B-A)>E, waarbij E een door de gebruiker gekozen absolute nauwkeurigheid is. Veel (betrouwbare) bronnen gebruiken echter "... zolang abs(B-A)>2E". Ik begrijp niet waar die 2 vandaan komt en dit lijkt ook minder nauwkeurige resultaten op te leveren. Welk criterium gebruik ik het best?

Antwoord

Beste Flor,

Dat komt omdat de bisectiemethode een eerste orde methode is. De convergentiesnelheid van iteratieve methoden wordt gemeten aan de hand van haar convergentieorde. Een rij van iteraties xn convergeert naar de oplossing x volgens orde p indien een constante c>0 bestaat zodat:

|xn-x|<c|xn-1-x|p

Voor de bisectiemethode kan je aantonen dat de constante c die we zoeken 1/2 is omdat het zoekinterval per iteratieslag gehalveerd wordt. Als je een bepaalde toleratie E instelt die aangeeft wanneer je oplossing voldoende nauwkeurig is, dan betekent dit dat de volgende stap voldoet aan:

|xn-x|<(1/2)|xn-1-x|

De volgende stap voldoet aan de tolerantie E zodat het stopcriterium luidt:

E<(1/2)|xn-1-x| of xn-1-x|>2E

Hopelijk beantwoordt dit je vraag. Je vindt in bijlage nog een stukje van mijn cursus numerieke wiskunde over de bisectiemethode.

Groetjes,

Kurt.

Reacties op dit antwoord

Er zijn nog geen reacties op deze vraag.

Enkel de vraagsteller en de wetenschapper kunnen reageren op een antwoord.

Zoek andere vragen

© 2008-2022
Ik heb een vraag wordt gecoördineerd door het
Koninklijk Belgisch Instituut voor Natuurwetenschappen