Recherche du zero d'une fonction en Matlab

Bonjour,

Je viens de résoudre une équation différentielle sous matlab qui se présente sous la forme y=f(x), et je souhaiterai accéder à la valeur de x lorsque y=0.
Quelle outil puis-je utiliser ? (J'arrive avoir une approximation en traçant la fonction mais j'aimerai une méthode un peu plus précise.)

Je vous remercie d'avance de votre aide.

6 réponses

  1. C'est quoi ta fonction ?

    Un truc du genre ay"+by'+cy = Cont

    C'est ça ? Si tu peux donnes-là en entier.
    1
    1. Par dichotomie on peut trouver n'importe quel racine, mais c'est aussi de l'approximation.
      C'est Newton qui a trouvé ça.

      Si tu fais :
      pour x0 pris au voisinage d'une des racines.
      x0=x0-f(x)/f'(x0)

      alors x0 va s'appricher de plus en plus près de la racine.
      0
      1. Merci de ton aide Morgatte,

        Le souci c'est que je n'ai pas d'expression de la fonction f. En fait la fonction que j'ai est la solution d'une équation différentielle. (Pour la résoudre j'ai utiliser ode45)
        0
        1. La fonction est la suivante :

          function dy=vide(t,y)
          g=9.81
          dy=[y(2);0;y(4);-g];

          et pour le tracé de la fonction j'ai ça :

          tinitial=0;
          tfinal=2;
          h=1;
          v0=25;
          theta=pi/12;
          y0=[0 v0*cos(theta) h v0*sin(theta)];

          [t1,y1]=ode45('vide',[tinitial,tfinal],y0);

          plot(y1(:,1),y1(:,3),'red');

          En fait le vecteur y a 4 composante qui sont x, dx/dt, z et dz/dt et je trace z=f(x)

          Sinon j'ai également pensé à utiliser la méthode de Broyden. Je vais essayer de le réadapter.

          Encore merci pour ton aide et bonne soirée
          0
          1. Alors là je peux pas t'aider, j'ai jamais vu ce genre de fonction.
            Bonne continuation.
            ;)
            0
            1. Tant pis, encore merci pour ton aide !

              Bonne journée
              0