Derdemachts-wortel met de hoger-lager methode

Op deze pagina:

    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 derdemachtswortel 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)
    

     

    Verwante artikelen