IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

Fonction arc tangente


Sujet :

Calcul scientifique Python

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Fonction arc tangente
    Bonjour à tous,

    Je dois effectuer un programme pour la consigne suivante:

    Nom : info.png
Affichages : 1860
Taille : 315,0 Ko

    Je n'ai pas encore fait de programme de ce genre donc j'aimerais savoir si vous pourriez m'aider ou me donner des indications qui pourraient m'orienter.

    Merci

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Sans vouloir répondre à la totalité du problème posé, voilà un coup de pouce.

    En calculant les 1ers termes de la somme, on trouve:

    sn(x) = x -x**3/3 +x**5/5 -x**7/7 etc...

    Si on appelle u le numérateur d'un des termes, on voit bien qu'on peut calculer le numérateur du terme suivant en le multipliant par -(x*x). Et une fois le nouveau numérateur calculé, il suffit de le diviser par (2*k+1) pour avoir le nouveau terme à ajouter à la somme précédente.

    Voilà un petit code qui fait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def arctang(x, n):
        k = 0
        u = x # 1ère valeur de u pour k=0
        t = u # 1er terme de s pour k=0
        s = t # somme pour k=0
        while k<n:
            k += 1
            u *= -(x*x)
            t = u/(2*k+1)
            s += t
        return s
    Si on veut calculer l'arc tangente, on ne sait pas d'avance à quel rythme ça convergera, et donc quel "n" il faudra prendre. Alors, il faudra arrêter la boucle de calcul au moment où le terme t à ajouter à s deviendra tout petit. Disons inférieur à 10**(-15):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def arctang(x):
        eps = 10**(-15)
        k = 0
        u = x # 1ere valeur de u pour k=0
        t = u # 1er terme de s pour k=0
        s = t # somme pour k=0
        while abs(t)>eps:
            k += 1
            u *= -(x*x)
            t = u/(2*k+1)
            s += t
        return s
    Voyons maintenant si ça marche.

    On importe pi et tan (fonction tangente) du module math. On se donne un angle quelconque en radian (ici pi/8), on calcule la tangente de cet angle avec la fonction "tan", et on vérifie qu'on retrouve bien l'angle initial pi/8 avec notre fonction arctang:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    from math import pi, tan
     
    a = pi/8
     
    x = tan(a)
     
    atg = arctang(x)
     
    print(a, atg, abs(atg-a)<10**(-15))
    Ce qui affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0.39269908169872414  0.39269908169872414  True
    Avec ça, tu devrais pouvoir faire la suite!
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par student1997 Voir le message
    Je n'ai pas encore fait de programme de ce genre donc j'aimerais savoir si vous pourriez m'aider ou me donner des indications qui pourraient m'orienter.
    Cela n'est pas si différent de la question que vous avez posé tantôt: convergence d'une série.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut arc tan
    Merci beaucoup pour vos réponses, je vais pourvoir avancer.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/11/2012, 14h54
  2. Fonction ARC COSINUS
    Par xime78 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 21/11/2008, 21h47
  3. Utilisation de la fonction tangente
    Par jbggg dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/05/2008, 20h51
  4. La fonction arc cos
    Par taty86 dans le forum Pascal
    Réponses: 8
    Dernier message: 03/05/2007, 19h00
  5. Arc-tangentes, Taylor et les lang. de prog.
    Par Flo. dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 16/06/2006, 21h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo