Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



+ Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

[Matlab] Traduire la méthode de la Sécante

  1. oignon57

    Date d'inscription
    décembre 2008
    Messages
    266

    [Matlab] Traduire la méthode de la Sécante

    Bonsoir,
    j'essaie de traduire la méthode de la Sécante en algorithme sous Matlab mais j'ai des difficultés au niveau du raisonnement.

    La méthode de la sécante permet de trouver le 0 d'une fonction en racourssisant un intervalle prédéfini (ici [a,b]).
    Avec la précision que l'utilisateur défini, on l'a compare à cet écart initial et on on détermine le 0 de la fonction
    Voici de plus ample informations:
    http://fr.wikipedia.org/wiki/M%C3%A9...a_s%C3%A9cante

    J'ai essayé de traduire cela en Matlab

    Voici ma fonction de base pour laquelle je recherche le 0.

    Code PHP:
    function f=fonction(x)
    f=x.^3+sin(x.^2)-[cos(x)].^2
    end 
    Code PHP:
    a=input('saisir le point a');
    b=input('saisir le point b');
    precision=input('précision'); //précision à laquelle on veut trouver le 0.

    ecart=abs(b-a)/abs(a)  // ecart initial que l'on va réduire pour se rapprocher du 0

    while  ecart>precision
              fa
    =fonction(a);
              
    fb=fonction(b);
        
    c=b-fb*(b-a)/(fb-fa); //on calcule la nouvelle abscisse qui va tendre à se rapprocher du 0
        
    ecart=abs(b-c)/abs(c); //on recalcule l'écart avec le rapprochement, pour le soumettre au while
        
    a=c;  //Etablis une récurrence
    end
    fprintf
    ('Zero:',c); 
    Cependant, cela n'aboutit pas. Le script s'exécute mais ne s'arrête pas.(je dois le stopper moi même)

    Est ce une erreur de raisonnement ?d'inattention ?

    N'hésitez pas à demander des explications.
    Merci beaucoup


     


    • Publicité



  2. oignon57

    Date d'inscription
    décembre 2008
    Messages
    266

    Re : [Matlab] Traduire la méthode de la Sécante

    Je peux reformuler mon problème si vous voulez
     

  3. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    13 485

    Re : [Matlab] Traduire la méthode de la Sécante

    remplace a=c par b=c.

    A+
     

  4. oignon57

    Date d'inscription
    décembre 2008
    Messages
    266

    Re : [Matlab] Traduire la méthode de la Sécante

    Bonsoir et merci de votre réponse !
    Je vais essayer mais pouvez m'expliquer pourquoi ?
    Quel raisonnement avez vous eu ?

    Merci d'avance !
     

  5. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    13 485

    Re : [Matlab] Traduire la méthode de la Sécante

    j'ai obtenu une unité de valeur en analyse numérique au CNAM en 1988. Je serais incapable aujourd'hui de prouver quelque convergence que ce soit dans ce genre de méthode. Mais en dessinant un ou deux exemples, je me suis rendu compte qu'il fallait substituer la borne de gauche ou la borne de droite au nouveau point calculé, sous peine de se retrouver avec un intervalle qui ne comprendrait pas le zéro de la fonction.

    Maintenant, il est possible que ça converge quand même, mais par oscillation, c'est à dire que le nouveau zéro passe alternativement à droite puis à gauche du zéro théorique.

    A+
     


    • Publicité



  6. oignon57

    Date d'inscription
    décembre 2008
    Messages
    266

    Re : [Matlab] Traduire la méthode de la Sécante

    Bonjour, merci d'avoir répondu.
    Je dois vous avoué que j'ai vraiment du mal à traduire des raisonnements Mathématiques en algorithme.

    Un ami a fait le même changement que vous cependant je bloque à comprendre.

    Voici des précisions que j'ai trouvé (pièce jointe).
    On voit bien qu'à la fin,dans la forme à répéter pour calculer la nouvelle abscisse, b est fixe. Donc je ne comprends pas ce changement.

    Si vous pouviez reformulez, je vous en serais vraiment reconnaissant.
    Merci
    Images attachées
     

  7. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    13 485

    Re : [Matlab] Traduire la méthode de la Sécante

    je n'ai pas matlab.

    Tu pourrais faire un plot de la fonction pour voir la tête qu'elle a?

    A+
     

  8. titized

    Date d'inscription
    janvier 2011
    Messages
    58

    Re : [Matlab] Traduire la méthode de la Sécante

    salut oignon57 j'ai le meme probleme que le votre ou il m'affiche le resultat indefinement ou il n'affiche pas le resultat et il se bolque et je doit lequité en appliquant ctrl alt supp y a t il quelqu'un qui peut nous aider
     

  9. oignon57

    Date d'inscription
    décembre 2008
    Messages
    266

    Re : [Matlab] Traduire la méthode de la Sécante

    Bonjour,
    Veuillez m'excuser, tout d'abord, pour cette longue attente mais j'ai eu quelques problèmes avec ma version de Matlab dont je n'ai pas pû régler dans l'immédiat.
    Je ne peux que vous fournir une courbe théorique.
    Le point c correspondrait ici à l'abscission x0 qui par réitération permet la diminution de l'écart et donc se rapprocher du 0 de la fonction.

    Pouvez essayer de m'expliquer à partir de cette courbe ? Sinon, je vais essayer de m'arranger pour avoir la courbe à partir de Matlab.

    Merci Encore

    PS: Merci Titized d'avoir essayé
    Images attachées
     

  10. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    13 485

    Re : [Matlab] Traduire la méthode de la Sécante

    Il me semble assez évident à voir ta courbe qu'il faut qu'après avoir calculé x0, le nouvel intervalle soit compris entre x0 et b et non pas entre a et x0 comme ça apparait dans ton programme.

    A+
     

  11. oignon57

    Date d'inscription
    décembre 2008
    Messages
    266

    Re : [Matlab] Traduire la méthode de la Sécante

    Bonsoir,
    je suis d'accord avec vous. L'intervalle est bien entre x0 et b puis entre x1 et b puis entre x2 et b...

    Le b ne change pas, c'est seulement le a qui "varie" en x0 puis x1...

    En fait, je ne vois pas dans mon programme ce qui montre que je considère l'intervalle x0 et a.

    Merci de vos réponses.
     

  12. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    13 485

    Re : [Matlab] Traduire la méthode de la Sécante

    Citation Envoyé par oignon57 Voir le message
    Bonsoir,
    En fait, je ne vois pas dans mon programme ce qui montre que je considère l'intervalle x0 et a.

    Merci de vos réponses.
    Code:
    a=c;//Etablisunerécurrence
    A+
     

  13. Jack

    Date d'inscription
    avril 2003
    Localisation
    Metz
    Messages
    13 485

    Re : [Matlab] Traduire la méthode de la Sécante

    Correction, ton programme a l'air juste pour cette courbe. Tu es sur que ta courbe est bonne? Ca ne dois pas être trop dur à tracer avec un plot.

    A+
     

  14. oignon57

    Date d'inscription
    décembre 2008
    Messages
    266

    Re : [Matlab] Traduire la méthode de la Sécante

    Je n'ai pas réussi à débloquer ma version de Matlab.
    Quoi qu'il soit un ami m'a expliqué la méthode (plus le concept que le programme) et je pense avoir compris.

    Merci de votre aide
     

  15. chaimaa88

    Date d'inscription
    mars 2014
    Messages
    1

    Re : [Matlab] Traduire la méthode de la Sécante

    Bonjour ,
    je voulais savori svp si vous avez arrivé à régler le probleme , parce qu'il ne s'arrete pas mm quand j'ai changé le a par b .
    Merci d'avance
     


    • Publicité




Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. [MATLAB]Intégration grâce à la méthode d’Euler
    Par Mostyx dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 28/11/2010, 16h52
  2. matlab méthode des moindres carrées
    Par happybunny dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 11/06/2009, 16h51
  3. Méthode iterative par matlab
    Par cocanouar dans le forum Physique
    Réponses: 2
    Dernier message: 29/12/2008, 20h41
  4. programmation de la méthode de newton par Matlab
    Par Chaouki22 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 12/05/2008, 13h39
  5. Methode de Jacobi(Matlab)
    Par nubnab dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 08/03/2008, 01h36