Mes maths dans ce domaine sont un peu instables. Est-ce que quelqu'un sait comment je peux calculer une puissance telle que 10^2.2 en utilisant aucune fonction mathématique autre que */- + et une boucle for? Je n'ai pas accès à une bibliothèque de maths (et je ne peux pas l'importer/l'inclure), mais j'ai besoin de calculer ces choses. Hmm .. peut-être que je devrais juste regarder comment la bibliothèque de maths le fait.Calculer l'exposant fractionnaire dans une boucle sans fonction de puissance
Répondre
Vous pouvez calculer les journaux & exponentielles en utilisant uniquement l'arithmétique de base avec une extension de série Taylor (ou Maclaurin). Donc, vous devriez être en mesure de tirer profit de certaines identités:
exp(ln(a)) = a
ln(a^b) = b*ln(a)
ln(1+x) = x - (x^2)/2 + (x^3)/3 - ... + ...
exp(x) = 1 + x + (x^2)/2 + ...
Voyez ce que vous pouvez faire de tout cela ...
S'il n'a pas de bibliothèque de maths, alors il n'a probablement pas de fonctions de journal non plus – Seth
@Seth C'est pourquoi il a besoin de la pour boucle. En d'autres termes, il le fait maintenant. – aaronasterling
Vous pouvez utiliser cette méthode - http://mathworld.wolfram.com/ContinuedFraction.html pour obtenir une approximation très proche.
Étant donné que:
a^(m/n) == nth_root(a)^m
Convertissez votre exponent to a fraction, puis calculer la nth root, puis soulevez le résultat à la puissance de MTH.
(Vous devez écrire votre propre fonction pow
.)
Exprimer l'exposant sous forme de fraction et séparer les deux parties (si les chiffres deviennent trop gros, vous pouvez utiliser l'expansion de fraction continue pour obtenir une bonne approximation) :
2,2 = 22/10 = 11/5
10^2,2 = 10^(11/5) = (10^11)^(1/5)
Les parties entières shouldn » t être un problème (voir http://en.wikipedia.org/wiki/Exponentiation_by_squaring). Ensuite, vous pouvez calculer la racine par l'un des algorithmes décrits ici: http://en.wikipedia.org/wiki/Nth_root_algorithm
- 1. Comment faire une puissance fractionnaire sur BigDecimal en Java?
- 2. Exponentiation de virgule flottante sans fonction de puissance
- 3. fonction de puissance dans blackberry
- 4. Fonction de puissance dans prolog
- 5. Comment calculer la puissance en C#?
- 6. fonction de puissance dans pari bibliothèque
- 7. Comment calculer des séquences de Bruijn pour des alphabets sans puissance de deux dimensions?
- 8. Calculer la puissance de tout exposant (négatif ou positif)
- 9. Expression pour calculer un champ dans une boucle
- 10. Puissance matricielle dans R
- 11. ralentir une boucle dans une fonction récursive
- 12. g ++ fonction de puissance inclus dans g ++ compilateur
- 13. comment calculer "moyenne consécutive" dans R sans utiliser de boucle, ou d'une manière plus efficace?
- 14. Utilisation d'une boucle dans une fonction
- 15. PHP: calculer une fonction mathématique f (x) dans une chaîne
- 16. Insérer une date, calculer une fonction, dans un calendrier
- 17. Élever un NSDecimalNumber à une puissance négative
- 18. Obtenir un signal de puissance sans fil en C++
- 19. Analyse de puissance dans [R] pour Anova bidirectionnelle
- 20. + -200 courriels en utilisant la fonction dans une boucle
- 21. Algorithme C# efficace Fonction de la puissance basée sur l'entier
- 22. TextView.onDraw provoquant une boucle sans fin
- 23. R - Comment transformer une boucle en une fonction dans R
- 24. Comment charger une classe générique sans boucle
- 25. Comportement du System.Drawing.Pen de .NET avec une largeur fractionnaire
- 26. rupture de la boucle for lors de l'exécution d'une fonction dans une boucle for R
- 27. Algorithme de calcul de l'ensemble de puissance
- 28. Comment afficher une 'seconde puissance de x' dans un UILabel?
- 29. Ajouter à une boucle dans PHP sans écraser
- 30. Comment empêcher RewriteRule d'entrer dans une boucle sans fin?
Voir: http://stackoverflow.com/questions/164964/how-are-exponents-calculated. Question connexe (Fondamentalement, vous auriez besoin d'utiliser une extension de série et arrondir à un niveau désiré) – dirkgently