Bonjour à tous,
Je dois adapter le Schéma d'Euler à l'équation suivante: f(t,u)=(1-t)/(1+u)
Voici mon code Python mais j'obtiens des valeurs bizarres à partir de 2,5.
Quelqu'un pourrait-il m'expliquer où est mon erreur?
On m'a demander dans une précédente question de faire une représentation graphique de U(t) solution de l'équation différentielle y'=(1-t)/(1+y) sur l'intervalle [0;3] donc j'ai pris le même intervalle mais peut-être aurais-je dû en prendre un autre?
Merci d'avance de votre aide
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 def fun(t,u): return (1-t)/(1+u) # parametres t0,tf,y0,n=0,3,0,100 temps=np.linspace(t0,tf,n+1) #euler def euler(fct,ti,tf,nt,yi): y=np.zeros(nt+1) h=(tf-ti)/nt t=np.linspace(ti,tf,nt+1) y[0]=yi for i in np.arange(nt): y[i+1]=y[i]+h*fct(t[i],y[i]) return t,y # appel de la fonction t,y=euler(fun,t0,tf,n,y0) plt.plot(t,y) plt.title ('intégration Euler Explicite') plt.xlabel('t')
Partager