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

Mathématiques Discussion :

Analyse numérique : methode combinée Newton-Raphson et bisection


Sujet :

Mathématiques

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 59
    Points : 46
    Points
    46
    Par défaut Analyse numérique : methode combinée Newton-Raphson et bisection
    Bonjour,
    Je suis à la recherche d'un exemple complet de la méthode combinée Newton bissection root.
    Je ne connais pas très bien le C, un exemple qui fonctionne m'aiderait à le convertir vers un autre langage (XOJO, anciennement RealBasic).

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 594
    Points
    188 594
    Par défaut


    Que souhaites-tu comme combinaison ? C'est assez courant de commencer avec une bisection pour affiner les connaissances que l'on a de la position de la racine, puis de terminer avec du Newton-Raphson. Niveau algorithmique, c'est plutôt quelque chose comme ça (en pseudo-Python) :

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def find_root(f): 
      a, b = ...
      while abs(a - b) >= 10^-5  # Par exemple
        (a, b) = bisection_one_iteration(f, a, b)
      return newton_raphson(f, (a + b) / 2)
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 59
    Points : 46
    Points
    46
    Par défaut NewtonSafe root function
    Bonjour,
    J'ai trouvé sur le web la fonction NewtonSafe.
    On sait que Newton-Raphson offre une convergence rapide pour une fonction qui admet une dérivée .
    L'auteur d'un algo. que je suis entrain de coder utilise la méthode NewtonSafe qui d'après lui la combinaison bissection/NR offre plus de sécurité.
    J'ai attaché a ce message le code Newton-Raphson qui fonctionne.
    Quant à la fonction en question, j'ai trouvé le code, mais je ne l'ai pas bien pas compris encore moins l'appliquer dans un void main().
    Fichiers attachés Fichiers attachés

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 054
    Points : 9 394
    Points
    9 394
    Par défaut
    Je copie la pièce jointe ici, c'est plus facile pour discuter :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #include<stdio.h>
    #include<math.h>
    float f(float x)
    {
        return x*log10(x) - 1.2;
    }
    float df (float x)
    {
        return log10(x) + 0.43429;
    }
    void main()
    {
        int itr, maxmitr;
        float h, x0, x1, allerr;
        printf("\nEnter x0, allowed error and maximum iterations\n");
        scanf("%f %f %d", &x0, &allerr, &maxmitr);
        for (itr=1; itr<=maxmitr; itr++)
        {
            h=f(x0)/df(x0);
            x1=x0-h;
            printf(" At Iteration no. %3d, x = %9.6f\n", itr, x1);
            if (fabs(h) < allerr)
            {
                printf("After %3d iterations, root = %8.6f\n", itr, x1);
                return 0;
            }
            x0=x1;
        }
        printf(" The required solution does not converge or iterations are insufficient\n");
        return 1;
    }

    Quelle est ta question ? Comment peut-on t'aider ?
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

Discussions similaires

  1. Optimisation avec la methode de Newton raphson et Dichotomie
    Par Mehdi_youssoufi dans le forum Mathématiques
    Réponses: 0
    Dernier message: 12/06/2014, 15h08
  2. [Débutant] methode de newton raphson sans la connaissance de f(x)
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 14
    Dernier message: 20/04/2010, 16h24
  3. la methode de newton raphson(essai)
    Par crippella dans le forum MATLAB
    Réponses: 17
    Dernier message: 10/03/2010, 15h17
  4. la methode newton-raphson sur matlab
    Par crippella dans le forum Mathématiques
    Réponses: 2
    Dernier message: 02/02/2010, 10h27
  5. pb de solution methode de newton-raphson
    Par laroche1 dans le forum MATLAB
    Réponses: 2
    Dernier message: 13/03/2008, 23h03

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