Verfasst: 04.01.2007 11:49
jo wurde aber.
Wo? Meinst du meine suxessive Approximation? Das ist doch nicht das was Kaeru meint.dllfreak2001 hat geschrieben:jo wurde aber.
So in etwa ist ja auch die Approximationsroutine die ich gezeigt hab.Karl hat geschrieben:Um eine Wurzel zu ziehen, kann man auch das Heron-Verfahren anwenden (ist eine Methode aus der numerischen Mathematik), oder was meint ihr wie der Rechner das berechnet (ROMs gab es wohl früher in Taschenrechnern).
Gruß Karl
Äh sorry, aber du missverstehst hier was: Wir wollen auf das R[T] von SQR[T] zurückkommen, nicht auf Pow. Egal: Dann halt mit nem eigenen Pow:Karl hat geschrieben:Nicht ganz, denn du verwendest POW und das soll ausgeschlossen sein. Erlaubt sind nur einfache Operationen.
Aber Newton geht auch und hat eine schnellere Annäherung.
Gruß Karl
Code: Alles auswählen
#START_VALUE = $FFFFFFFF ; Einfach ein Startwert
#TOLLERANCE = 0.000001
Procedure.d MyPow(Val.d, Exp.l)
Define k.l
Define Result.d
Result = Val
For k=2 To Exp
Result * Val
Next k
ProcedureReturn Result
EndProcedure
Procedure.d Wurzel(Val.d, Exp.l)
Define Result.d = #START_VALUE
Define Power.d = 0.0
Repeat
Power = MyPow(Result, Exp)
If Power > Val + #TOLLERANCE
Result * 0.5
ElseIf Power < Val - #TOLLERANCE
Result * 1.5
Else
Break
EndIf
ForEver
ProcedureReturn Result
EndProcedure
Debug Wurzel(27, 3)