Bonsoir,
Dans le cadre de mes études je dois créer 3 versions d'une même méthode pour obtenir le même résultat pour les fonctions exponentielles, cosinus et sinus.
1ere méthode à l'aide de la classe Math :
- Cosinus :
- Sinus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public double valeur(double x) { return Math.cos(x); }
- Exponentielle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public double valeur(double x) { return Math.sin(x); }
2e version via le développement limité de la fonction et les fonctions puissance et factorielle (Math.pow et Factoriel.fact) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public double valeur(double x) { return Math.exp(x); }
La méthode fact(double x) de la classe Factoriel est une classe personnel qui fonctionne correctement.
Cependant, je ne sais comment déterminer la valeur n pour obtenir le résultat adéquate. Est ce que ma méthode est enfaite bien plus complexe que celle présentée similaire à quelque chose comme cela : http://www.maths-forum.com/calcul-ex...ite-101965.php mais adapté au cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public double valeur2(double x) { double exp = 0; for(int i = 0; i<n;i++) { exp += Math.pow(x, i)/Factoriel.fact(i); } return exp; }
Quant à la troisième version, elle correspond à une solution plus efficace (n’utilise pas les fonctions puissance et factorielle), basée sur le fait que le
terme d’ordre i peut être calculé en fonction du terme d’ordre i − 1.
Merci d'avance pour votre aide![]()
Partager