web2 logo

Derdemachtswortel met de hoger-lager methode

De derdemachtswortel van een getal kan het eenvoudigst uitgrekend worden via machtsverheffing van het getal tot een derde. De N-de machtswortel van een getal is getal tot de macht 1 gedeeld door N. In Python: getal**(1/N).

>>> 8**(1/3)
2.0

Zelf een Python script maken waarmee de derdemachtwortel van een getal berekend wordt via de hoger-lager methode kan ook. De hoger-lager methode is een manier om snel een gezochte waarde te vinden in een groot zoekgebied. De methode is snel omdat steeds de helft van het overgebleven zoekgebied afvalt.
De methode werkt als volgt: bepaal het midden van het zoekgebied. Bepaal dan of de gezochte waarde hoger of lager is als dat middden. Het gedeelte van het zoekgebied waar de gezochte waarde dan niet in ligt, valt dan af, zo blijft steeds de helft van het zoekgebied over. Dan weer op zoek naar het midden van het overgebleven zoekgebied en het hele proces herhalen totdat uiteindelijk de gezochte waarde gevonden wordt.

#!/usr/bin/env python3

getal = float(input("Geef een getal waarvan de derdemachtswortel van bepaald moet worden: "))
nauwkeurigheid = 0.0001
aantalpogingen = 0
teken = 1
if getal < 0:
    teken = -1
getal *= teken
laag = 0
hoog = getal
if getal < 1:
    laag = getal
    hoog = 1
probeer = (hoog + laag)/2.0
while abs(probeer**3 - getal) >= nauwkeurigheid:
    if (probeer**3 < abs(getal)):
        laag = probeer
    else:
        hoog = probeer
    probeer = (hoog + laag)/2.0
    aantalpogingen += 1
probeer *= teken
getal *= teken
print("aantal pogingen :",aantalpogingen)
print(probeer,"is bij benadering de derdemachtswortel van",getal)

Toegevoegd door: Kees de Keijzer
Twitter: @kdkq

~ python ~

~ Onderwerpen ~

Dit is een website zonder pop-ups

~ Links ~

Design & Development by Cyberwebdesign.nl for web2.nl © 2020.