Vous êtes sur la page 1sur 2

Institut Préparatoire des Etudes d’Ingénieurs de Tunis

Année Universitaire 2020/2021


Dr.Afef Ghabri Classes : MP/PC
Correction
import numpy as np

import matplotlib.pyplot as plt

import scipy.integrate as s

def euler(f,y0,a,b,n):

X=np.ndarray(n+1)

Y=np.ndarray(n+1)

X[0]=a

Y[0]=y0

h=(b-a)/n

for i in range(1,n+1):

X[i]=X[i-1]+h

Y[i]=Y[i-1]+h*f(X[i-1],Y[i-1])

return (X,Y)

f=lambda t,y : 2*t*t+t

a,b,y0=0,10,0

for k in range(3):

n=int(input("donner n"))

X,Y = euler(f,y0,a,b,n)

print("Pour n =",n, "la fonction euler nous donne:",X,Y)

g=lambda y,t : 2*t*t+t

t=np.linspace(a,b,n+1)

Y_scipy=s.odeint(g,y0,t)

plt.plot(X,Y,'-*m')

plt.plot(t,Y_scipy,'-sc')

f2=lambda t : (2/3)*t**3+0.5*t**2

k=f2(X)

1
Institut Préparatoire des Etudes d’Ingénieurs de Tunis
Année Universitaire 2020/2021
Dr.Afef Ghabri Classes : MP/PC

plt.plot(X,k,'og')

plt.show()

e1=np.sum(k-Y)

print(e1)

e2=np.sum(k-Y_scipy)

print(e2)

Vous aimerez peut-être aussi