124
8
•
Équations différentielles, méthodes àunpas
solex.m
✞
☎
function y=solex(eta,t);
y(1,:)=(eta(1)+eta(2)*t).*exp (-t);
y(2,:)=eta(2)* exp(-t);
✝
✆
6et7 SD5.m
✞
☎
clear
a=0;b=1;
eta=[1;2];
A=[-11 ;0 -1];
U(:,1)=eta;
tn=[5 10 20 50 100 200]
for i=1:length(tn)
n=tn(i);
h=(b-a)/n;
B=eye(2)+h*A+h^2*A^2/2;
t=a:h:b;
for j=1:n
U(:,j+1)=B*U(:,j);
end;
yex=solex(eta,t);
err1=U-yex;
err2= sqrt(err1(1,:).^2+err1(2,:).^2);
taberr(i)=max(err2);
end
taberr
plot( log(tn),log(taberr))
a=polyfit( log(tn),log(taberr),1);
xlabel(’log(n)’,’Fontsize’,14)
ylabel(’log(erreur)’,’Fontsize’,14)
title([’Pentedeeladroite:’, num2str(a(1))],’Fontsize’,18)
✝
✆
L’étude numérique conduit àpenser que la méthode est d’ordre 2puisque
log(erreur) = − 2log(n )+c 1 donne erreur =
c 2
n 2 .
8. Partant de y
( t ) = − ty
( t ) − y ( t ), en posant Y =
y
y
,l’équation se transforme en système
Y
( t ) = F ( t , Y ( t )) où F ( t , U ) = A ( t ) U et A ( t ) =
01
− 1 − t
.Onaalors
U j +1 = U j + hf
t j +
h
2
, U j +
h
2
f ( t j , U j )
⇔ U j +1 =
Id + hA
t j +
h
2
+
h
2
2
A
t j +
h
2
A ( t j )
U j .
Les conditions initiales y (0) = 1et y
(0) = 0donne Y (0) = U 0 =
1
0
.
Précédent

- 108/188

Suivant