Calculer les fonctions inverses
Résolu
DavianThule
Messages postés
27
Date d'inscription
Statut
Membre
Dernière intervention
-
DavianThule Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
DavianThule Messages postés 27 Date d'inscription Statut Membre Dernière intervention -
Bonjour, en ce moment, je suis sur un programme qui calcule chaque fonctions trigonométriques de x, mais je bloque sur arctan.
Cela fait deux jours que je cherche une formule pour calculer arctan(x) avec x entre -infini et +infini.
Quelqu'un aurait-il la solution ?
Merci d'avance.
Cela fait deux jours que je cherche une formule pour calculer arctan(x) avec x entre -infini et +infini.
Quelqu'un aurait-il la solution ?
Merci d'avance.
A voir également:
- Calculer les fonctions inverses
- Comment calculer la moyenne sur excel - Guide
- Comment calculer un total sur excel - Guide
- Calculer une note sur 20 ✓ - Forum Bureautique
- Comment calculer le prix au litre d'une bouteille de 75cl ✓ - Forum Excel
- Comment calculer une note sur 20 ✓ - Forum Bureautique
5 réponses
Salut, non, j'essaie de calculer les fonctions sans utiliser de librairie. :)
Oui.
Par contre, je ne sais pas comment indenter et mettre en couleur les messages.
Je n'ai pas trouvé sur le site.
Par contre, je ne sais pas comment indenter et mettre en couleur les messages.
Je n'ai pas trouvé sur le site.
Pour la coloration, c'est le 4ieme bouton de l'éditeur de message de ce forum : <>
Tu choisis Python dans la liste.
Pour l'indentation, si tu n'es pas capable d'indenter du code Python alors tu dois revenir à la base. Reprends ton cours sur Python du début.
Tu choisis Python dans la liste.
Pour l'indentation, si tu n'es pas capable d'indenter du code Python alors tu dois revenir à la base. Reprends ton cours sur Python du début.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionx = input('La variable =') def atan(x): # Je définis la fonction arc tangente de x y = 1 while x < tan(y): # tant que x est plus petit que tan(y) y = y - 1/1000 while x > tan(y): # tant que x est plus grand que tan(y) y = y + 1/1000 if x == tan(y): # Si x est égal à tan(y) return y print atan(x)
Quand je lance le programme, il ne donne jamais de résultat.
J'ai vérifié, la boucle ne se termine jamais.
La comparaison "x == tan(y)" me pose problème. Je n'ai pas testé mais je ne pense pas que cela puisse fonctionner.
Tu ne peux pas faire un test d'égalité entre 2 valeurs décimales (avec des virgules) car l'ordinateur n'a pas une précision absolue. Par exemple : "if 0.0001 == 0.00011".
Donc tu dois trouver un moyen de faire une comparaison avec une gestion d'erreur.
Tu ne peux pas faire un test d'égalité entre 2 valeurs décimales (avec des virgules) car l'ordinateur n'a pas une précision absolue. Par exemple : "if 0.0001 == 0.00011".
Donc tu dois trouver un moyen de faire une comparaison avec une gestion d'erreur.
Oui tu as compris le principe mais la méthode reste de toute façon limitée, tu peux améliorer la comparaison avec ce code :
Tu trouveras d'autres méthodes sur ce site :
http://villemin.gerard.free.fr/Calcul/Arctg.htm
if math.fabs(x - math.tan(y)) < 0.001
Tu trouveras d'autres méthodes sur ce site :
http://villemin.gerard.free.fr/Calcul/Arctg.htm
J'ai trouvé une formule !
Et ça marche pour x compris entre -infini et +infini.
def atan(x): y = abs(x) if y > 1: y = 1.0/y a = 1.0/((1+y**2)**(0.5)) b = 1 for n in range(1, 20): a = (a+b)/2 b = (a*b)**(0.5) atg = y/(((1+y**2)**(0.5))*a) if abs(x) > 1: atg = pi/2- atg if x < 0: atg = - atg return atg
Et ça marche pour x compris entre -infini et +infini.