Entwickler-Ecke
Algorithmen, Optimierung und Assembler - x. wurzel ziehen
blocade - Do 21.07.05 21:08
Titel: x. wurzel ziehen
hab folgendes problem.
ich will z.b. die 30. wurzel aus einer bestimmten zahl ziehen.
die 2. wurzel macht man ja einfach mit SQRT(), aber wie kann ich mit z.b. der 30. wurzel machen? oder 17. wurzel? bzw. die nte wurzel ...
mfg
blocade
Felux - Do 21.07.05 21:16
Probiers doch mal mit Potenzen.
Wenn ich mich richtig erinnere war das so:
Hoffentlich ist das jetz richtig... :)
Ich Bins - Do 21.07.05 21:39
abgesehen von einer Klammer zu passt das :wink:
AXMD - Do 21.07.05 21:43
Oder ohne Power: Exp(1/30 * Ln(x)); ;)
AXMD
blocade - Fr 22.07.05 02:49
ah, ok, alles klar, danke! :)
@axmd: exp(1/30) * ln(x)) heißt nichts weiter als e^(1/30*ln(x)) oder? also praktisch x*(1/30) !!?
AXMD - Fr 22.07.05 09:34
blocade hat folgendes geschrieben: |
ah, ok, alles klar, danke! :)
@axmd: exp(1/30) * ln(x)) heißt nichts weiter als e^(1/30*ln(x)) oder? also praktisch x*(1/30) !!? |
Es heißt e^(1/30*ln(x)), aber nicht x*(1/30), sondern x^(1/30) ;)
AXMD
harryp - So 31.07.05 10:51
Man könnte aber auch einfach das Wurzel-Verfahren nach Heron verwenden. Geht schnell, ist einfach zu programmieren und liefert ziemlich genaue Ergebnisse.
delfiphan - So 31.07.05 13:47
harryp hat folgendes geschrieben: |
Man könnte aber auch einfach das Wurzel-Verfahren nach Heron verwenden. Geht schnell, ist einfach zu programmieren und liefert ziemlich genaue Ergebnisse. |
IMHO ist Power(x,1/n) aber schneller, einfacher zu implementieren, und genauer (bzw. mindestens gleich genau).
LigH - Di 02.08.05 21:57
Nur kann es sein, dass man für "Power()" die Math-Unit braucht. Wer die also in seiner einfachen Delphi-Variante nicht haben sollte (kann mich erinnern, dass die bei früheren Delphi-Versionen gern mal erst ab "Professional" mitgeliefert wurde), der muss eventuell nach Ersatz schauen (z.B. Jedi Code Library: JclMath).
Gausi - Di 02.08.05 22:04
..Oder einfach die Variante nehmen, die AXMD vorgeschlagen hat :roll:
delfiphan - Mi 03.08.05 01:56
Kleine Anmerkung: Exp(b*Ln(a)) ist nur für bestimmte Werte äquivalent zu power().
Mit der ersten Variante ist es z.B. nicht möglich, Potenzen aus negativen Basen zu berechnen.
Beim Wurzelziehen sollte es aber keine Schwierigkeiten geben, da die Wurzel aus einer negativen Zahl in R ohnehin nicht defniniert ist.
AXMD - Mi 03.08.05 09:26
delfiphan hat folgendes geschrieben: |
Kleine Anmerkung: Exp(b*Ln(a)) ist nur für bestimmte Werte äquivalent zu power().
Mit der ersten Variante ist es z.B. nicht möglich, Potenzen aus negativen Basen zu berechnen.
Beim Wurzelziehen sollte es aber keine Schwierigkeiten geben, da die Wurzel aus einer negativen Zahl in R ohnehin nicht defniniert ist. |
Wenn ich Zeit habe, stell ich meine komplexe Unit online. Mit komplexen Exp bzw. Ln sollten dann auch negative Hochzahlen funktionieren ;)
AXMD
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!