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

MATLAB Discussion :

fonction non linéaire par raphson


Sujet :

MATLAB

  1. #21
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    Citation Envoyé par crippella Voir le message
    bonjour ,
    j'ai un problème de calculer la dérivée en MATLAB je ne sais pas quelle est la commende convenable ou bien l'expression si elle y'en a pas il ya pas
    svp aidez moi je suis coinsé
    moi je suis comme toi je ne sais pas, pour cela il faudrai que matlab est une partie calcul formel, et je ne sais pas si c'est le cas.....

  2. #22
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    matlab est une partie calcul formel
    C'est ce qui est dans cette discussion.


    http://www.developpez.net/forums/d87...ewton-raphson/

  3. #23
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    Citation Envoyé par phryte Voir le message
    Bonjour.

    C'est ce qui est dans cette discussion.


    http://www.developpez.net/forums/d87...ewton-raphson/
    merci

  4. #24
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 23
    Par défaut
    merci pour votre réponses
    finalement le programme est bien executer mais il ya une toute petite erreur c'est que par exemple si je fais entrer un fonction qui s'annule deux fois ou plus le programme calcule un point dont lequel la fonction il s'annule et pas plus,
    j'espere que vous avez compris
    voila le code MATLAB

    Code : 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
    function NewtonRaphson(x0,f)
     
    clc
    format long
    x(1)=x0; 
    e=1e-10;
    n=5000;
    for i=2:n 
    df=(f(x(i-1)+e)-f(x(i-1)))/e; 
    %on calcule une valeur approchée de la dérivée de f en x(i-1).
    x(i)=x(i-1)-f(x(i-1))/df;
    if abs(x(i)-x(i-1))<=e
    disp('La valeur finale est:')
    xp=x(i)
    break 
    end
    end
    disp('les valeurs des itérations successives sont:')
    x'
    figure(1)
    clf
    hold on 
    plot(x) 
    plot(x,'*r')
    title('Approximations successives de la methode de New.-Raph.');
    xlabel('numero de l''iteration')
    ylabel('valeur de l''approximation')
     
    end
    j'attends votre réponses
    et merci d'avance

  5. #25
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    Une proposition (à améliorer) :
    Code : 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
    clear
    clc
    xi=[0 10];
    pas=0.1;
    f=inline('x^3-6*x^2+11*x-6');
    e=1e-12;
    xp=0;
    hold on 
    for x0=xi(1):pas:xi(2)
        clear x
        x(1)=x0;
    i=2;
     while abs(f(x(i-1)))>=e   
    df=(f(x(i-1)+e)-f(x(i-1)))/e;
    x(i)=x(i-1)-f(x(i-1))/df;
    i=i+1;
    end
    xp=[xp x(end)+e];
    plot(1:length(x),x) 
    end
    disp('Les valeurs finales sont :')
    unique(fix(1000*xp(2:end))/1000)
    title('Approximations successives de la methode de New.-Raph.');
    xlabel('numero de l''iteration')
    ylabel('valeur de l''approximation')
    grid

  6. #26
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 23
    Par défaut
    merci beaucoup pour la réponse,
    je sais que je pose beaucoup de questions ,mais est ce que vous pouvez m'expliquer la boucle for et ces instructions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xp=[xp x(end)+e];
    plot(1:length(x),x)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unique(fix(1000*xp(2:end))/1000)
    merci d'avance

  7. #27
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.

    xi=[0 10];
    pas=0.1;
    Plage de recherche en x et pas de recherche.
    La boucle for effectue tous les calculs de recherche en initialisant le x0 à chaque itération.
    xp=[xp x(end)+e];
    Résultats en enlevant le premier terme d'initialisation et en calculant par excès.

    plot(1:length(x),x)
    Tracé de tous les calculs en ordonnant les valeurs.

    unique(fix(1000*xp(2:end))/1000)
    Extrait des valeurs uniques des racines (car il y a plusieurs valeurs communes avec arrondi).

  8. #28
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 23
    Par défaut
    bonjour;
    est ce que vous pouvez m'expliquer de plus les instructions de la boucle for et pourquoi vous avez supprimer le x parce que j'ai pas bien comprendre
    et merci d'avance

  9. #29
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    vous avez supprimer le x
    Parce qu'à chaque calcul "on repart à zéro".
    Le vecteur x est de taille différente à chaque itération.

  10. #30
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 23
    Par défaut
    merci beaucoup pour vos aides

  11. #31
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut
    salut,
    mr 'phryte'
    j'ai essayé votre code,mais il m'affiche pas comme vous,est c k vous pouvez m'aider svp?

    merci
    Images attachées Images attachées  

  12. #32
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    As-tu changé la fonction ?

  13. #33
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut
    Bonjour,
    non j'ai gradé la meme fonction!

  14. #34
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    Citation Envoyé par byh10 Voir le message
    Bonjour,
    non j'ai gradé la meme fonction!
    je pense qu'en fait il voulait te dire d'essayer avec une autre fonction au cas où celle ci n'allait pas pour l'algo...

  15. #35
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    Qu'as-tu comme résultats? Des messages erreurs ?

  16. #36
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut
    salut

    pas de message d'erreur sauf la figure est incorrecte et aussi des valeurs fausses

  17. #37
    Membre Expert
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Par défaut
    Bonjour.
    Peux-tu nous faire voir ta figure ?

Discussions similaires

  1. Optimisation fonction non linéaire convexe sous R
    Par Simon Rennais dans le forum R
    Réponses: 0
    Dernier message: 02/04/2014, 16h29
  2. Coût d'une fonction non linéaire
    Par saou88 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/10/2012, 16h57
  3. Equation non linéaire par Runge-Kutta
    Par sdplam dans le forum Mathématiques
    Réponses: 8
    Dernier message: 28/10/2009, 19h34
  4. Approximation d'une fonction non linéaire
    Par Amirm dans le forum Mathématiques
    Réponses: 2
    Dernier message: 12/01/2009, 14h09

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