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:

  1. startwaarde voor $$x$$ is $$a$$
  2. herhaal stappen 3 en 4 zolang $$x$$ strikt kleiner is dan $$b$$
  3. 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
  4. verhoog $$x$$ met $$eps$$
  5. stop

Schrijf een functie $$\verb!tekenwissels()!$$ met volgende argumenten:

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