Corrigés desexercices
141
On retrouvenumériquement que log( erreur)est de la forme b − 3 log( N ), soit une erreur numériquedel’ordre de C / N
3
.
✞
☎
function [t,u]=multipmod(nomf,t0,T,N,eta)
h=T/N;
t=[t0:h:t0+T];
u(:,1)=eta;
x=u(:,1)+h* feval(nomf,t0,u(:,1));
u(:,3)=u(:,1)+2*h*feval(nomf,t(2),x);
u(:,2)=u(:,1)/4+x/2+u(:,3)/4;
c1=9*h/4;
c2=3*h/4;
for n=3:length(t)-1
u(:,n+1)=u(:,n-2)+c1*feval(nomf,t(n),u(:,n))+...
c2* feval(nomf,t(n-2),u(:,n-2));
end
✝
✆
Ce qu’il faut retenir de cetexercice
Comme dans l’exercice 8.3, on crée ici une fonction «bibliothèque »qui permettra de résoudre
dessystèmes différentiels.
eqdm4.m,étude d’erreur
✞
☎
tabN=10:10:200;
for k=1:length(tabN)
[t,u]=multipmod(’F3’,0,2*pi,tabN(k),[0;1]);
yex= sin(t);
taberr(k)=norm(u(1,:)-yex,inf);
end
plot( log(tabN),log(taberr))
xlabel(’log(N)’,’FontSize’,16)
ylabel(’log(err)’,’FontSize’,16)
a=polyfit( log(tabN),log(taberr),1)
title([’pentedeelaadroitedeeregression::’...
, num2str(a(1))],’FontSize’,16)
✝
✆
Ànouveau l’erreur est en O ( N
− 3
).
141
On retrouvenumériquement que log( erreur)est de la forme b − 3 log( N ), soit une erreur numériquedel’ordre de C / N
3
.
✞
☎
function [t,u]=multipmod(nomf,t0,T,N,eta)
h=T/N;
t=[t0:h:t0+T];
u(:,1)=eta;
x=u(:,1)+h* feval(nomf,t0,u(:,1));
u(:,3)=u(:,1)+2*h*feval(nomf,t(2),x);
u(:,2)=u(:,1)/4+x/2+u(:,3)/4;
c1=9*h/4;
c2=3*h/4;
for n=3:length(t)-1
u(:,n+1)=u(:,n-2)+c1*feval(nomf,t(n),u(:,n))+...
c2* feval(nomf,t(n-2),u(:,n-2));
end
✝
✆
Ce qu’il faut retenir de cetexercice
Comme dans l’exercice 8.3, on crée ici une fonction «bibliothèque »qui permettra de résoudre
dessystèmes différentiels.
eqdm4.m,étude d’erreur
✞
☎
tabN=10:10:200;
for k=1:length(tabN)
[t,u]=multipmod(’F3’,0,2*pi,tabN(k),[0;1]);
yex= sin(t);
taberr(k)=norm(u(1,:)-yex,inf);
end
plot( log(tabN),log(taberr))
xlabel(’log(N)’,’FontSize’,16)
ylabel(’log(err)’,’FontSize’,16)
a=polyfit( log(tabN),log(taberr),1)
title([’pentedeelaadroitedeeregression::’...
, num2str(a(1))],’FontSize’,16)
✝
✆
Ànouveau l’erreur est en O ( N
− 3
).
