Calculer les fonctions inverses
Résolu/Fermé
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
-
11 janv. 2015 à 14:23
DavianThule Messages postés 27 Date d'inscription dimanche 11 janvier 2015 Statut Membre Dernière intervention 5 décembre 2015 - 17 janv. 2015 à 08:59
DavianThule Messages postés 27 Date d'inscription dimanche 11 janvier 2015 Statut Membre Dernière intervention 5 décembre 2015 - 17 janv. 2015 à 08:59
A voir également:
- Calculer les fonctions inverses
- Comment calculer la moyenne sur excel - Guide
- Calculer total excel - Guide
- Comment calculer une note sur 20 - Forum Bureautique
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Musique / Radio / Clip
- Comment calculer le prix au litre d'une bouteille de 75cl ✓ - Forum Excel
5 réponses
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 483
11 janv. 2015 à 14:24
11 janv. 2015 à 14:24
salut
numpy ?
numpy ?
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
3
11 janv. 2015 à 14:25
11 janv. 2015 à 14:25
Salut, non, j'essaie de calculer les fonctions sans utiliser de librairie. :)
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 483
11 janv. 2015 à 14:28
11 janv. 2015 à 14:28
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
3
11 janv. 2015 à 14:29
11 janv. 2015 à 14:29
Non, c'est pour moi-même.
Je suis en quatrième.
Je suis en quatrième.
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 483
Modifié par dsy73 le 11/01/2015 à 14:32
Modifié par dsy73 le 11/01/2015 à 14:32
cela n'empêche pas d'appliquer ce qui est indiqué dans le lien.
Et n'oublie pas la coloration syntaxique.
Et n'oublie pas la coloration syntaxique.
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
3
Modifié par KX le 11/01/2015 à 21:39
Modifié par KX le 11/01/2015 à 21:39
Ah oui, j'ai tenté pour résoudre le problème d'utiliser ce code(qui ne marche pas) :
def atan(x): y = 1 a = 0 while x < ("%.03f" % tan(y)): a = a + 1 print a y = y - 1/1000 while x > ("%.03f" % tan(y)): a = a + 1 print a y = y + 1/1000 if x == tan(y): return y
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 483
11 janv. 2015 à 14:33
11 janv. 2015 à 14:33
Mets la coloration et l'indentation stp, c'est illisible.
Et commente ton code. Explique l'erreur, etc
Et commente ton code. Explique l'erreur, etc
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
3
11 janv. 2015 à 14:56
11 janv. 2015 à 14:56
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.
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 483
11 janv. 2015 à 15:03
11 janv. 2015 à 15:03
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 question
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
3
Modifié par DavianThule le 11/01/2015 à 15:14
Modifié par DavianThule le 11/01/2015 à 15:14
x = 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.
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 483
11 janv. 2015 à 15:17
11 janv. 2015 à 15:17
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.
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
3
11 janv. 2015 à 15:21
11 janv. 2015 à 15:21
Merci, je vais y réfléchir.
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
3
11 janv. 2015 à 18:09
11 janv. 2015 à 18:09
J'ai trouvé ! Mais mon code met plus de 15 secondes avant de donner une réponse et x doit être entre -1 et 1...
def atan(x): y = 1 while x < tan(y): y = y - 1.0/100000.0 while x > tan(y): y = y + 1.0/100000.0 if x == round(tan(y), 5): return y
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 483
>
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
11 janv. 2015 à 21:12
11 janv. 2015 à 21:12
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
DavianThule
Messages postés
27
Date d'inscription
dimanche 11 janvier 2015
Statut
Membre
Dernière intervention
5 décembre 2015
3
Modifié par DavianThule le 17/01/2015 à 08:42
Modifié par DavianThule le 17/01/2015 à 08:42
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.