Voor een willekeurige functie $$f(x)$$ willen we het aantal tekenwissels in een bepaald open interval $$]a, b[$$ bepalen.
We gebruiken hiervoor het volgende algoritme:
- startwaarde voor $$x$$ is $$a$$
- herhaal stappen 3 en 4 zolang $$x$$ strikt kleiner is dan $$b$$
- ga na of $$f(x)$$ en $$f(x + eps)$$ hetzelfde teken hebben: is dit NIET het geval, dan tel je dit als een tekenwissel van de functie; beschouw hierbij de waarde $$0.0$$ als positief
- verhoog $$x$$ met $$eps$$
- stop
Schrijf een functie $$\verb!tekenwissels()!$$ met volgende argumenten:
- de te onderzoeken functie
- de ondergrens van het te onderzoeken interval
- de bovengrens van het te onderzoeken interval
- een naamargument $$\verb!eps!$$ met defaultwaarde $$0.01$$
Het resultaat is het aantal tekenwissels (dus een geheel getal), bepaald volgens bovenstaand algoritme.
Voorbeeld
tekenwissels(lambda x:math.sin(x), 0.0, 10*math.pi) = 10