Recherche du zero d'une fonction en Matlab
viconte
Messages postés
108
Date d'inscription
Statut
Membre
Dernière intervention
-
viconte Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
viconte Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- Recherche du zero d'une fonction en Matlab
- Remettre a zero un pc - Guide
- Fonction si et - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Je recherche une chanson - Guide
6 réponses
C'est quoi ta fonction ?
Un truc du genre ay"+by'+cy = Cont
C'est ça ? Si tu peux donnes-là en entier.
Un truc du genre ay"+by'+cy = Cont
C'est ça ? Si tu peux donnes-là en entier.
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.
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.
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)
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)
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question