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

Python Discussion :

Méthode Newton-raphson : racine carrée


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Par défaut Méthode Newton-raphson : racine carrée
    Bonjour,

    J'aimerais calculer la racine carré de 1 (donc racine de 1 = 1 .) en utilisant la méthode de Newton-raphson .

    Voilà ce que j'obtiens à partir de cette formule générale x(i+1) = 1/2 ( xi + a / xi ) voir lien http://www.developpez.net/forums/d11...cines-carrees/
    x^2 = 1 =>> a = 1

    i = 1 ==> 1/2 ( 1 + 1/1 ) = 0.5
    i = 2 ==> 1/2 *( 0.5 + 1/0.5 ) = 0.0

    En tout , il n'y a que 2 instruction mais pourquoi python réponds" 0.0 "? Est-ce que je dois continuer jusqu'à atteindre approximativement 1 ?

    Désolé , mais je pense que c'est pas le bon endroit pour poster le sujet

  2. #2
    Expert confirmé

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Par défaut
    Bonjour,

    serait-il possible de voir ton code en entier, et de nous preciser la branche de python utilisée?

    J'ai fait un essai chez moi mais ça fonctionne sans erreur. Reste a voir ce que je t'ai demandé donc.

    Bonne soirée

  3. #3
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    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 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Juste une idée.

    Si tu utilises Python 2, il faut absolument utiliser la ligne suivante au tout début du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from __future__ import division
    La raison est: historiquement chez Python, la division d'un entier par un entier donne un entier. Cela veut dire que 1/2 donne 0 et non 0.5.

    Ce problème est résolu avec Python 3.

  4. #4
    Membre très actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Par défaut
    deusyss : j'ai utilisé python 2.7.6 IDLE .

    tyrtamos : En effet , je viens d'essayer avec python 3 et çà marche bien

    Voilà la suite du code que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    >>> 1/2 *( 0.5 + 1/0.5 )
    1.25
    >>> 1/2 *( 1.25 + 1/1.25 )
    1.025
    >>> 1/2 *( 1.025 + 1/1.025 )
    1.0003048780487804
    >>> 1/2 *( 1.0003048780487804 + 1/1.0003048780487804 )
    1.0000000464611474
     
    >>> 1/2 *( 1.0000000464611474 + 1/1.0000000464611474 )
    1.000000000000001
    >>> 1/2 *( 1.000000000000001 + 1/1.000000000000001 )     # Là c'est fini, on obtient la racine carré de 1 .
    1.0
    Mais comment construire des instructions élémentaires avec 2 mots ou plus, qui ont des adresses .On peut changer les adresses , non ?

    _Est-ce que le code d'opération désigne les instructions ?

    _Les opérandes ont un sens , est-ce que cela désigne entre autres la valeur ou contenu d'une chose ?

    _ un mot peut avoir 2 adresses différentes ou c'est le contraire ?

    Je ne demande pas une réponse détaillée , mais juste un indice
    Je sais que chaque mot a une adresse dans la mémoire .

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 769
    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 769
    Par défaut
    Salut,

    Vous vous posez trop de questions.

    Apprendre a programmer, c'est comme faire du vélo ou apprendre a nager. A un moment donne, tant que vous n'avez pas le courage de vous jeter a l'eau ou de vous lancer, ça va pas le faire.

    Avez vous eu besoin de "comprendre"?
    D'avoir un master de physique?

    L'exercice est de traduire "x(i+1) = 1/2 ( xi + a / xi )"
    Vous avez déjà joue une partie a la console.
    Il suffit d'y mettre des variables dont le role sera d'eviter de retaper autre chose que le rappel de la dernière itération a re-appliquer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> a = 2 # Enter
    >>> u = 3 # Enter             
    >>> u = 0.5 * (u + a/u) # Enter
    >>> u # Enter
    1.8333333333333333   # deux coups sur la flèche vers le haut, Enter
    >>> u = 0.5 * (u + a/u) # Enter, un coup sur la flèche vers le bas
    >>> u                            # Enter
    1.4621212121212122
    Essayez de vous raconter ce que sont adresses, instructions, .... est une perte de temps: des tas de bouquins et tutos sont la pour ça.
    Et vous n'avez pas besoin de le savoir pour jouer avec la console avec vos doigts.

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

  6. #6
    Membre très actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Par défaut
    En général , j'aime bien savoir ce que je fais Mais sinon pour le reste , je vais chercher sur Gogole .Sinon , en effet ,j'avais vu un sujet sur l'itération ,et comme une variable peut changer de valeur au fil du programme .Au lycée , on réfléchit pas beaucoup pour une racine carré d'un nombre (calculatrice ) à part la racine cubique qui peut poser des soucis ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Free Pascal] Approximation de la racine carrée par la méthode de Newton
    Par Roland Chastain dans le forum Free Pascal
    Réponses: 2
    Dernier message: 30/05/2013, 00h54
  2. Réponses: 2
    Dernier message: 17/02/2007, 05h43
  3. calcul de la racine carrée par la méthode de Newton
    Par annoussa dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 02/11/2006, 11h10

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