Bonjour,
Pour un projet de fin d'année, je dois programmer une calculatrice scientifique en java avec pour consigne, imposée par notre cahier des charges, de ne pas utiliser la classe Math.
Pour calculer les fonctions usuelles comme cosinus, sinus, log, exp ... J'ai programmé une classe Polynome que je fais hériter à mes cosinus, sinus etc ... pour calculer leurs développements limités.
Cependant quelques problèmes se posent pour certaines fonctions.
Pour le développement limité de exponentiel, j'ai un polynôme de type : exp(x) = 1 + x + (x^2)/2! + (x^3)/3! + (x^4)/4! + ... + (x^n)/n! + (x^n)e(x)
Pour le calcul de petite valeur l'on peut se limiter au plus petit exposant du polynôme.
Mais pour un exponentiel, on arrive très vite sur des valeurs très grande et calculer les petits exposants devient négligeable.
Pour un gain en précision, il faut donc augmenter le plus grand exposant du polynôme.
Et c'est la que je tombe sur un os.
Je suis très vite limité avec les doubles.
x^n dépasse rapidement le plafond et renvoi des valeurs négatives faussant complètement le calcul de l'exponentiel et limitant donc sa précision.
Je suis un peu à cours d'idée pour mon exponentiel sachant que la classe Math m'est interdite.
Si quelqu'un aurait un début de réponse à mes questions, je lui en serais reconnaissant.
Dans tout les cas, merci d'avoir pris la peine de me lire.
Partager