Vous êtes sur la page 1sur 2

Homework 02

1- Que fait le programme suivant (chaque ligne), et quelle est la méthode utilisée de dans ?
1- déclaration du dérivée (y’=3y+cos(2x))
2- La solution exacte de l’equation
3- Les conditions initiales(y(0)=1) ; h=0.01
4- La valeur finale de x
5- n le nombre d’itérations
6- la boucle de 1 à n
7- L’erreur
8- K1
9- K2
10- Yn+1=Yn+h/2(K1+K2)
11- Xn+1=Xn+h
12- Affichage de x, y (0 espace avec 5
chiffres après la virgule) et l’erreur (0 espace avec
15 chiffres après la virgule)
En fin, la méthode utilisée est la méthode de RUNGE-KUTTA 2 (RK2).

2- Refaire ce Programme en utilisant les autres méthodes. (fait voir les méthodes d’EULER et RK4 )

3- Comment peut-on comparer entre les trois méthodes à traverse des résultats obtenus ?

Dans chaque méthode nous obtiendrons l’erreur, après cet étape nous comparons entre les erreurs obtenues, la meilleur méthode est
celle qui donne la moindre erreur.
4- a)- Ecrire une syntaxe sous matlab qui résout l'équation différentielle suivante: 3y'-2y=cos(3x+pi/4) avec y(pi/3)=1

La syntaxe est :

>> Df=dsolve('Dy=3*y+cos(2*t)','y(0)=1')

Donne :

Df = (16*exp(3*t))/13 - (13^(1/2)*cos(2*t + atan(2/3)))/13

b)- Sous matlab, la solution n'est pas claire et trop compliquée , peut-on la simplifier sous matlab ? si oui , Trouver la syntaxe qui peut
faire ça?

Oui , la syntaxe préférée est :

>> pretty(Df)

Donne :

2
16 𝑒 3𝑡 √13 cos(2𝑡+𝑎𝑟𝑐𝑡𝑎𝑛(3))
𝐷𝑓 = −
13 13
5- Soit f une fonction numérique ,définie sur R, suivante:

𝜋
f(x)= 1-1.0204 exp(-2 x)*sin(10 x+pi/2) 𝑓(𝑥) = 1 − 1.0204𝑒 −2𝑥 sin (10𝑥 + 2 )

Sous Matlab ,tracer la courbe de la fonction f sur l’intervalle I=[0 , pi] (prenez un pas de pi/1000).

Le programme sous matlab est :

>> x=0:pi/1000:pi;
>> f= 1-1.0204*exp(-2*x).*sin(10*x+pi/2);
>> plot(x,f);grid on

l’exécution du programme donne :

Vous aimerez peut-être aussi