N-te Wurzel aus einer Zahl / Logarithmus

Da ich nun weiss, wie man die Quadratwurzel nähert, würde es mich interessieren, wie das bei einer n-ten Wurzel funktioniert. Ausserdem interessiert mich auch die Logarithmusfunktion. Die muss man doch auch über eine Näherung errechnen, oder?

Gruß Alex

Wenn man im Newtonschen Iterationsverfahren
x(n+1) = xn - f(xn)/f’(xn)
als Funktion
f(x) = x**k - a
einsetzt, dann wird (sehr effizient) auch die Nullstelle dieser Funktion, und d.h. die k-Wurzel aus a approximiert.
Wegen f’(x) = k*x(k-1) ist die Iterationsformel dann:
x(n+1) = xn - [xn**k - a]/[k*xn**(k-1)],
was man noch nach Geschmack vereinfachen kann.
Die Iteration funktioniert ebenfalls für die Logarithmen. Das ‚Problem‘ ist dabei nur, dass in der Iterationsformel transzendente Funktionen (Potenzen zur Basis e, bzw. 10, usw.) vorkommen, die ja ebenfalls nur mit gewissem Aufwand numerisch zu berechnen sind. Abgesehen davon funktioniert es.
Für den rechnerisch ‚schnellen Erfolg‘ ist es bei Logarithmen besonders wichtig, einen guten Startwert x0 zu ‚erraten‘.
Ich habe die Logarithmus-Funktion schon mal um einiges effizienter und schneller implementiert durch den Einsatz von so genannten Kettenbruechen; das erfordert dann keine transzendenten Funktionen.
HAL

Eine THEORETISCHE Moeglichkeit ist direkt ueber die Definition des Logarithmus, naemlich ln x = Integral von 1 bis x von 1/t dt
Die numerische Berechnung von 1-dimensionalen Integralen ist kein Problem.

Gruesse und Bobok
Semjon.

Hallo Semjon!

Eine THEORETISCHE Moeglichkeit ist direkt
ueber die Definition des Logarithmus,
naemlich ln x = Integral von 1 bis x von
1/t dt

„Theoretisch“ trifft den Nagel auf den Kopf. Um daraus einen praktisch verwendbaren Algorithmus zur Berechnung der ln-Funktion abzuleiten, ist diese Idee leider völlig ungeeignet, weil die Konvergenz von 1/x - milde ausgedrückt - unter aller Sau ist.
Um z. B. ln(2) auf nur 4 Stellen hinter dem Komma genau zu kriegen, würde man damit wahrscheinlich Minuten an Rechenzeit brauchen.

Die numerische Berechnung von
1-dimensionalen Integralen ist kein
Problem.

Numerische Berechnungen sind IMMER ein Problem! Und zwar deshalb, weil prinzipiell bei jedem Schritt Rundungsfehler auftreten. Wenn der Algorithmus so ist, daß die sich gegenseitig „verstärken“, dann ist er wertlos. Ein Algorithmus ist erst dann brauchbar, wenn er „stabil“ ist, d. h. wenn sich die Rundungsfehler NICHT verstärken. Solche Algorithmen zu finden (die dazu noch so schnell wie möglich sind) ist alles andere als einfach. Ein ganzer Zweig der Mathematik, die numerische Mathematik, beschäftigt sich ausschließlich mit diesem Problem.

Gruß
Martin