Académique Documents
Professionnel Documents
Culture Documents
SOMMAIRE
SOMMAIRE....................................................................................................................................2
INTRODUCTION...........................................................................................................................3
I. RÉSOLUTION D’UNE ÉQUATION DIFFÉRENTIELLE...............................................4
1. MÉTHODE DE LAGRANGE................................................................................................21
1. LA MÉTHODE DE DICHOTOMIE :..........................................................................................26
2. LA MÉTHODE DE NEWTON :................................................................................................27
2
Figure 5: figure de traçage d’équation de chaleur.........................................................................21
Figure 6: courbe de LaGrange.......................................................................................................23
Figure 7: traçage de Pn en fonction de t........................................................................................24
Figure 8:Comparaison entres les trois méthodes d'intégrales........................................................26
INTRODUCTION
3
trouver des moyens rapides et efficaces de s’attaquer à des problèmes soit fastidieux à résoudre à
cause de leur grande dimension (systèmes à plusieurs dizaines d’équations par exemple), soit
parce qu’il n’existe pas solutions explicites connues même pour certaines équations assez
simples en apparence. Dès que les premiers ordinateurs sont apparus, ce domaine des
mathématiques a pris son envol et continue encore à se développer de façon très soutenue. Les
applications extraordinairement nombreuses sont entrées dans notre vie quotidienne directement
ou indirectement. Nous les utilisons désormais sans nous en rendre compte mais surtout en
ignorant la plupart du temps toute la théorie, l’expertise, le développement des compétences et
l’ingéniosité des chercheurs pour en arriver là. Nous pouvons téléphoner, communiquer par
satellite, faire des recherches sur internet, regarder des films où plus rien n’est réel sur l’écran,
améliorer la sécurité des voitures, des trains, des avions, connaître le temps qu’il fera une
semaine à l’avance, et ce n’est qu’une infime partie de ce que l’on peut faire. Le but de ce cours
et s’initier aux bases de l’analyse numérique en espérant qu’elles éveilleront de l’intérêt, de la
curiosité et pourquoi pas une vocation.
4
I. RÉSOLUTION D’UNE ÉQUATION DIFFÉRENTIELLE
Une équation différentielle est une équation différentielle dont la ou les fonctions inconnues
ne dépendent que d'une seule variable ; elle se présente sous la forme d'une relation entre ces
fonctions inconnues et leurs dérivées successives. (Une seule dimension).
Une équation différentielle ordinaire, également notée EDO, d’ordre n est une relation entre la
variable réelle t, une fonction inconnue t 7→ x(t) et ses dérivées x’, x’’,., x (n)
au point t définie
par F(t, x, x’’, ..., x(n))= 0,où F n’est pas indépendante de sa dernière variable x (n) . On prendra t
dans un intervalle I de R (I peut être R tout entier).
La solution x en général sera à valeurs dans R N, N ∈ N ∗ où N sera le plus souvent égal à 1, 2 ou
3.
On dit que cette équation est scalaire si F est à valeurs dans R
Programme Matlab :
%EDO_1D
clear
clc
%a=0;
%b=1;
a=0
b=3
%alpha=-1;
%beta=0;
alpha=-2;
beta=25;
%préprocesseur
n=100;
h=(b-a)/n;
x=a:h:b;
%schéma numérique
for i=1:n-1
S(i)=-2*A(x(i+1))/h^2-B(x(i+1))/h+C(x(i+1));
T(i)=A(x(i+1))/h^2;
R(i)=A(x(i+1))/h^2+B(x(i+1))/h;
end
Ah(1,1)=S(1);
Ah(1,2)=R(1);
5
Fh(1)=f(x(2))-(T(1)*alpha);
for i=2:n-2
Ah(i,i)=S(i);
Ah(i,i-1)=T(i);
Ah(i,i+1)=R(i);
Fh(i)=f(x(i+1));
end
Ah(n-1,n-1)=S(n-1);
Ah(n-1,n-2)=T(n-1);
Fh(n-1)=f(x(n))-(R(n-1)*beta);
Yh=Ah\Fh';
%post processeur
Ynum(1)=alpha;
Ynum(length(x))=beta;
for i=2:length(x)-1
Ynum(i)=Yh(i-1);
end
plot(x,Ynum,'r')
%Yexact
x1=a:h/10:b;
for i=1:length(x1)
%yexact(i)=x1(i)^2-1;
yexact(i)=3*x1(i)^2-2;
end
%Tracé
plot(x,Ynum,'r',x1,yexact,'b')
title(' RESOLUTION D’UNE EQUATION DIFFERENTIELLE')
ylabel('y')
xlabel('x')
Fonction
function y=A(x)
y=x^3-4;
%y=1;
End
function y=B(x)
y=exp(x)-1;
%y=-3;
End
function y=C(x)
y=cos(x);
%y=2;
end
6
Figure 1:Résolution de l'équation différentielle ordinaire.
On remarque d’après ce graphe que le résultat exacte (bleu), le résultat numérique (rouge)
sont très proches
2. RÉSOLUTION D’UNE ÉQUATION AUX DÉRIVÉES PARTIELLES
Le caractère particulier d’une ´équation aux dérivées partielles (EDP) est de mettre en jeu des
fonctions de plusieurs variables
Une EDP est alors une relation entre les variables et les dérivées partielles de U
L’un des enjeux les plus importants du calcul scientifique est la résolution
d’équations aux dérivées partielles. En effet, de très nombreux problèmes issus des sciences
physiques (physique quantique, électromagnétisme, conductivité thermique) de la mécanique
(mécanique des fluides, mécanique du solide, élasticité) de la chimie (mécanismes de réaction-
diffusion) ou encore de la biologie (dynamique des populations) et de la finance sont d´écrits à
l’aide des E.D.P. Une
7
E.D.P fournit une relation entre les dérivées partielles d’une fonction de plusieurs variables (qui
peut ou non dépendre du temps).
L’équation de la chaleur que l’on rencontre en conductivité thermique. Cette équation d’écrit
l’évolution de la température T par rapport à une source de chaleur notée f :
∂T
−∆T =f
∂t
L’équation des ondes que l’on rencontre en élasticité et en électromagnétisme, qui relie le déplacement
d’une membrane (ou d’une onde) u sous l’effet d’une force f :
2
∂u
−∆ u=f
∂2 t
L’équation des télégraphes que l’on rencontre en électromagnétisme. Cette d’équation d’écrit
l’évolution du potentiel V en fonction du temps et de sa position au sein d’un matériau (ici dans le cas
monodimensionnel) :
2 2
∂V ∂V ∂ V
2
−α − =0
∂ t ∂ t ∂2 x
Dans bien des cas, on rencontre des E.D.P non linéaires, c’est-`a-dire que la relation entre les dérivées
partielles est non linéaire. Par exemple elle fait intervenir le carré d’une dérivée ou bien on multiplie par
une fonction qui dépend elle-même de la solution. Voici quelques-unes d’entre elles :
L’équation iconale que l’on rencontre en optique qui décrit l’évolution d’un champ monochromatique
S:
||∇ S||=1
L’équation de Burgers non visqueuse que l’on rencontre en mécanique des fluides qui décrit l’évolution
du déplacement u au sein d’un fluide (cas monodimensionnel) :
8
∂u ∂u
+u =0
∂t ∂x
Programme Matlab :
%ED_2D
clc
clear
%INPUT
a=0;
b=20;
c=0;
d=10;
nx=100;
ny=nx/2;
h=(b-a)/nx;
%pré-processeur
x=a:h:b;
y=c:h:d;h
m=nx-1;
%remplissage de A et F
%1er cas
i=1;
j=1;
N=i+(j-1)*m;
A(N,N)=-4;
A(N,N+1)=1;
A(N,N+m)=1;
F(N)=(h^2)*f(x(i+1),y(j+1))-g1(x(i+1))-f1(y(j+1));
%2eme cas
i=1;
j=ny-1 ;
N=i+(j-1)*m;
A(N,N)=-4;A(N,N+1)=1;A(N,N-m)=1;
F(N)=(h^2)*f(x(i+1),y(j+1))-f1(y(j+1))-g2(x(i+1));
%3eme cas
i=nx-1;
j=1 ;
N=i+(j-1)*m;
A(N,N)=-4;
A(N,N+m)=1;
A(N,N-1)=1;
F(N)=(h^2)*f(x(i+1),y(j+1))-g1(x(i+1))-f2(y(j+1));
%4eme cas
i=nx-1;
j=ny-1;
N=i+(j-1)*m;
A(N,N)=-4;
A(N,N-m)=1;
A(N,N-1)=1;
F(N)=(h^2)*f(x(i+1),y(j+1))-g2(x(i+1))-f2(y(j+1));
9
%5eme cas
for i=2:nx-2
for j=2:ny-2
N=i+(j-1)*(nx-1);
A(N,N)=-4;
A(N,N+1)=1;
A(N,N-1)=1;
A(N,N+m)=1;
A(N,N-m)=1;
F(N)=(h^2)*f(x(i+1),y(j+1));
end
end
%6eme cas
i=1;
for j=2:ny-2 ;
N=i+(j-1)*m;
A(N,N)=-4;
A(N,N+1)=1;
A(N,N+m)=1;
A(N,N-m)=1;
F(N)=(h^2)*f(x(i+1),y(j+1))-f1(y(j+1));
end
%7eme cas
j=1;
for i=2:nx-2
N=i+(j-1)*m;
A(N,N)=-4;
A(N,N+1)=1;
A(N,N+m)=1;
A(N,N-1)=1;
F(N)=(h^2)*f(x(i+1),y(j+1))-g1(x(i+1));
end
%8eme cas
j=ny-1 ;
for i=2:nx-2
N=i+(j-1)*m ;
A(N,N)=-4;
A(N,N+1)=1;
A(N,N-m)=1;
A(N,N-1)=1;
F(N)=(h^2)*f(x(i+1),y(j+1))-g2(x(i+1));
end
%9eme cas
i=nx-1;
for j=2:ny-2
N=i+(j-1)*m;
A(N,N)=-4;
A(N,N+m)=1;
A(N,N-1)=1;
A(N,N-m)=1;
F(N)=(h^2)*f(x(i+1),y(j+1))-f2(y(j+1));
end
%resolution de système linéaire
U=A\F';
%post-processeur
10
for i=1:length(x);
Unum(i,1)=g1(x(i));
Unum(i,length(y))=g2(x(i));
end
for j=1:length(y);
Unum(1,j)=f1(y(j));
Unum(length(x),j)=f2(x(j));
end
for i=2:length(x)-1
for j=2:length(y)-1
Unum(i,j)=U((i-1)+((j-2)*m));
end
end
%Uexact
x1=a:0.1:b;
y1=c:0.1:d;
for i=1:length(x1);
for j=1:length(y1);
Uexact(i,j)=(x1(i)).^2+(y1(j)).^2;
end
end
subplot(1,2,1)
mesh(x,y,Unum')
ylabel('y')
xlabel('x')
title ('solenumerique')
subplot(1,2,2)
mesh(x1,y1,Uexact')
title ('solexact')
ylabel('y')
xlabel('x')
grill on
Les fonctions
function [z]=f(x,y)
z=4
end
function [t]=f1(y)
t=y^2;
end
function [t]=f2(y)
t=400+y^2;
end
function [Z]=g1(x)
Z=x^2;
end
function [y]=g2(x)
y=x^2+100;
end
11
Figure 2:La résolution d’une équation aux dérivées partielles de 2 dimensions.
On remarque
d’après ce graphe que
le résultat exacte (bleu), le résultat numérique (rouge) sont très proches
Programme Matlab :
%ed3
clc
clear
%INPUT
a=0;
12
b=1;
c=0;
d=1;
e=0
g=1
n=4;
h=(b-a)/n;
%pré-processeur
x=a:h:b;
y=c:h:d
z=e:h:g;
%remplissage de A et F
%1er cas
for i=2:n-2
for j=2:n-2
for k=2:n-2
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N-1)=1
A(N,N+1)=1
A(N,N+(n-1))=1
A(N,N+(n-1))=1
A(N,N+(n-1)^2)=1
A(N,N-(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))
end
end
end
%2eme c
i=1;j=1;k=1
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N+1)=1
A(N,N+(n-1))=1
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B1(y(j+1),z(k+1))-B3(x(i+1),z(k+1))-
B5(x(i+1),y(j+1))
%3eme c
for i=2:n-2
j=1; k=1
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N-1)=1
A(N,N+1)=1
A(N,N+(n-1))=1
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1))-B5(x(i+1),y(j+1))
end
%4 eme cas
i=n-1
j=1; k=1
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N-1)=1
A(N,N+(n-1))=1
13
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1))-B5(x(i+1),y(j+1))-
B2(y(j+1),z(k+1))
% 5eme cas
for j=2:n-2
i=1;k=1
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N+1)=1
A(N,N-(n-1))=1
A(N,N+(n-1))=1
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B5(x(i+1),y(j+1))-B1(y(j+1),z(k+1))
end
% 6 eme cas
for j=2:n-2
for i=2:n-2
k=1
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N+1)=1
A(N,N-1)=1
A(N,N-(n-1))=1
A(N,N+(n-1))=1
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B5(x(i+1),y(j+1))
end
end
%7 eme cas
for j=2:n-2
i=n-1;k=1;
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N-1)=1
A(N,N-(n-1))=1
A(N,N+(n-1))=1
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B5(x(i+1),y(j+1))-B2(y(j+1),z(k+1))-
B1(y(j+1),z(k+1))
end
%8 eme cas
i=1;j=n-1;k=1;
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N+1)=1
A(N,N-(n-1))=1
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B5(x(i+1),y(j+1))-B4(x(i+1),z(k+1))-
B1(y(j+1),z(k+1))
%9 eme cas
j=n-1;k=1;
for i=2:n-2
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N-1)=1
14
A(N,N+1)=1
A(N,N-(n-1))=1
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B5(x(i+1),y(j+1))-B4(x(i+1),z(k+1))
end
%10 eme cas
j=n-1;i=n-1;k=1;
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N-1)=1
A(N,N-(n-1))=1
A(N,N+(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B5(x(i+1),y(j+1))-B2(y(j+1),z(k+1))-
B4(x(i+1),z(k+1))
%cas
i=1; j=1;
for k=2:n-2
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6
A(N,N+1)=1
A(N,N+(n-1))=1
A(N,N+(n-1)^2)=1
A(N,N-(n-1)^2)=1
F(N)=(h^2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1))-B1(y(j+1),z(k+1))
end
%%cas11
j=1;
for k=2:n-2
for i=2:n-2
N=i+(j-1)*(n-1)+(k-1)*(n-1)^2;
A(N,N)=-6;
A(N,N+1)=1; A(N,N+(n-1))=1; A(N,N+(n-1)^(2))=1; A(N,N-1)=1; A(N,N-(n-
1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1));
end
end
%%cas 12
j=1; i=n-1;
for k=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N-1)=1; A(N,N+(n-1))=1; A(N,N+(n-1)^(2))=1; A(N,N-(n-1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B1(x(i+1),z(k+1))-B2(y(j+1),z(k+1));
end
%%cas 13
i=1;
for k=2:n-2
for j=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+1)=1; A(N,N+(n-1))=1; A(N,N+(n-1)^(2))=1; A(N,N-(n-1))=1; A(N,N-(n-
1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B1(y(j+1),z(k+1));
end
15
end
%%cas 15
i=n-1;
for k=2:n-2
for j=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+(n-1))=1; A(N,N+(n-1)^(2))=1; A(N,N-1)=1; A(N,N-(n-1))=1;A(N,N-(n-
1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B2(y(j+1),z(k+1));
end
end
%%cas 16
j=n-1; i=1;
for k=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+1)=1; A(N,N+(n-1)^(2))=1; A(N,N-(n-1))=1; A(N,N-(n-1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B4(x(i+1),z(k+1))-B1(y(j+1),z(k+1));
end
%%cas 17
j=n-1;
for i=2:n-2
for k=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N-1)=1; A(N,N+1)=1; A(N,N-(n-1))=1; A(N,N-(n-1)^(2))=1; A(N,N+(n-
1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B4(x(i+1),z(k+1));
end
end
%%cas 18
j=n-1; i=n-1;
for k=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+(n-1)^(2))=1; A(N,N-1)=1; A(N,N-(n-1))=1; A(N,N-(n-1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B4(x(i+1),z(k+1))-B2(y(j+1),z(k+1));
end
%%cas19
k=n-1; i=1; j=1;
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+1)=1; A(N,N+(n-1))=1; A(N,N-(n-1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1))-B1(y(j+1),z(k+1))-
B6(x(i+1),y(j+1));
%%cas 20
k=n-1; j=1;
for i=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+1)=1; A(N,N+(n-1))=1; A(N,N-(n-1)^(2))=1; A(N,N-1)=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1))-B6(x(i+1),y(j+1));
16
end
%%cas 21
k=n-1; j=1; i=n-1;
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N-1)=1; A(N,N+(n-1))=1; A(N,N-(n-1)^(2))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1))-B2(y(j+1),z(k+1))-
B6(x(i+1),y(j+1));
%%cas 22
k=n-1; i=1;
for j=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+1)=1; A(N,N+(n-1))=1; A(N,N-(n-1)^(2))=1; A(N,N-(n-1))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B1(y(j+1),z(k+1))-B6(x(i+1),y(j+1));
end
%%cas 23
k=n-1;
for j=2:n-2
for i=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+1)=1; A(N,N+(n-1))=1; A(N,N-(n-1)^(2))=1; A(N,N-1)=1; A(N,N-(n-
1))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B6(x(i+1),y(j+1));
end
end
%%cas 24
k=n-1; i=n-1;
for j=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+(n-1))=1; A(N,N-(n-1)^(2))=1; A(N,N-1)=1; A(N,N-(n-1))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B2(y(j+1),z(k+1))-B6(x(i+1),y(j+1));
end
%%cas 25
k=n-1; j=n-1; i=1;
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+1)=1; A(N,N-(n-1)^(2))=1; A(N,N-(n-1))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1))-B1(y(j+1),z(k+1))-
B6(x(i+1),y(j+1));
%%cas 26
k=n-1; j=n-1;
for i=2:n-2
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N+1)=1; A(N,N-(n-1)^(2))=1; A(N,N-1)=1; A(N,N-(n-1))=1;
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B4(x(i+1),z(k+1))-B6(x(i+1),y(j+1));
end
%%cas 27
k=n-1; j=n-1; i=n-1;
N=i+((j-1)*(n-1))+((k-1)*((n-1)^(2)));
A(N,N)=-6;
A(N,N-(n-1)^(2))=1; A(N,N-1)=1; A(N,N-(n-1))=1;
17
F(N)=h^(2)*p(x(i+1),y(j+1),z(k+1))-B3(x(i+1),z(k+1))-B2(y(j+1),z(k+1))-
B6(x(i+1),y(j+1));
%--------------------------------------------------------------------------
%resolution numerique
U=A\F';
%post processeur
for i=1:length(x)
for j=1:length(y)
Unum(i,j,1)=B5(x(i),y(j));
Unum(i,j,length(z))=B6(x(i),y(j));
end
end
for i=1:length(x)
for k=1:length(z)
Unum(i,1,k)=B3(x(i),z(k));
Unum(i,length(y),k)=B4(x(i),z(k));
end
end
for j=1:length(y)
for k=1:length(z)
Unum(1,j,k)=B1(y(j),z(k));
Unum(length(x),j,k)=B2(y(j),z(k));
end
end
for i=2:length(x)-1
for j=2:length(y)-1
for k=2:length(z)-1
Unum(i,j,k)=U((i-1)+((j-2)*(n-1))+((k-2)*(n-1)^(2)));
end
end
end
% calcul de Uexact
for i=1:length(x)
for j=1:length(y)
for k=1:length(z)
Uexact(i,j,k)=x(i).^(2)+y(j).^(2)+z(k).^(2);
end
end
end
figure(1)
k=1;
for i=1:5
subplot(5,2,k);
mesh(x,y,Unum(:,:,i)')
title ('solenumerique')
ylabel('y')
xlabel('x')
zlabel ('k')
k=k+1;
subplot(5,2,k);
mesh(x,y,Uexact(:,:,i)')
title ('solexact')
ylabel('y')
18
xlabel('x')
zlabel ('k')
k=k+1;
end
Les fonctions
function [y]=B1(y,z)
y=y.^2+z.^2;
end
function [y]=B2(y,z)
y=1+y^2+z^2;
end
function [y]=B3(x,z)
y=x^2+z^2;
end
function [y]=B4(x,z)
y=x^2+1+z^2;
end
function [y]=B5(x,y)
y=x^2+y^2;
end
function [y]=B6(x,y)
y=x^2+y^2+1;
end
function [y]=p(x,y,z)
y=6;
end
19
Figure 4:Résolution d’une équation aux dérivées partielles de 3 dimensions.
20
III. INTERPOLATION POLYNOMIALE.
1. MÉTHODE DE LAGRANGE.
Même s'ils le font très vite, il n'y a guère qu'une chose que les ordinateurs sachent faire
avec des nombres : les ajouter et les multiplier, donc évaluer des fonctions polynômes. Si on doit
effectuer des calculs sur une fonction quelconque, il est important de pouvoir l'approcher par des
fonctions polynômes. Selon le sens précis que l'on donne à « approcher », il existe une grande
variété de techniques, et autant de familles de polynômes qui leur sont adaptées. Nous traitons ici
une des questions les plus simples : comment construire un polynôme de degré minimal, dont le
graphe passe par certains points du plan. C'est le problème de l'interpolation. Nous commençons
par nous donner les abscisses des points.
Avec :
On appelle polynômes interpolateurs de Lagrange aux
abscisses, les
polynômes, définis pour par :
21
Programme Matlab :
clear
clc
X=[-1,0,1];
Y=[5,1,-1];
n=100;
h=2/n;
t=X(1):h:X(length(X));
for j=1:length(t)
Pn(j)=0;
for i=1:length(X)
Pn(j)=Pn(j)+Y(i)*lagrange(i,X,t(j));
end
end
plot(t,Pn)
Fonction
function P=lagrange(i,X,t)
n=length(X);
P=1;
for j=1:i-1
P=P*(t-X(j))/(X(i)-X(j))
end
for j=i+1:n
P=P*(t-X(j))/(X(i)-X(j))
end
end
22
Figure 6: courbe de LaGrange
Exercice sur méthode de lagrange :
clear
clc
X=[-1,0,1];
Y=[exp(-1),1,exp(1)];
n=100;
h=2/n;
t=X(1):h:X(length(X));
for j=1:length(t)
Pn(j)=0;
for i=1:length(X)
Pn(j)=Pn(j)+Y(i)*lagrange(i,X,t(j));
end
end
plot(t,Pn)
23
IV. INTÉGRATION NUMÉRIQUE
L’objectif d’intégration numérique est d’aborder le calcul général de l’intégrale d’une fonction
f(x) sur un domaine fini délimité par des bornes finies a et b (les cas des bornes infinies n’est
donc pas couvert ici) :
L’idée principale est de trouver des méthodes qui permettent de calculer rapidement une valeur
approchée I’ de l’intégrale à calculer :
Comme toujours, un programme numérique n’invente rien, et ne fait que procéder très
rapidement à un calcul que l’on pourrait en principe faire à la main. Une méthode bien connue
consiste par exemple à diviser l’aire sous la courbe en un grand nombre de petits
rectangles d’aire et de les sommer. Le résultat est alors une
approximation de l’intégrale I. Cette approximation est d’autant meilleure que la largeur h des
rectangles tend vers 0. Cette méthode dite des rectangles est un exemple parmi d’autres.
Le principe général des méthodes de Newton-Cotes simples est d’approximer la fonction f(x) à
intégrer par un polynôme P(x)= (x). Si cette approximation est suffisamment bonne alors,
l’intégrale de ce polynôme
Sera une bonne approximation de L’avantage est que l’on sait calculer
Analytiquement la valeur exacte de I e. Dans ces méthodes, on choisit des polynômes de degré p
qui coïncident avec f(x) en p+ 1 points distincts, espacés régulièrement entre les bornes a et b.
Ces points sont situés aux positions :
Des polynômes de degrés différents définissent des méthodes différentes aux performances
différentes. Nous allons voir les plus courantes, c’est à dire les méthodes d’ordres les plus bas.
24
1. MÉTHODE DU RECTANGLE (P = 0)
2. MÉTHODE DU TRAPÈZE (P = 1)
3. MÉTHODE DE SIMPSON SIMPLE (P = 2)
La résolution numérique par L’intégration numérique par les méthodes du (Rectangle, Trapèze,
Simpson simple)
Programme Matlab
clear
clc
format long
a=0;b=1;
n=4;
h=(b-a)/n;
x=a:h:b;
% Rectangle
R=0;
for i=1:length(x)-1;
R=R+h*f(x(i));
end
R
%exact
I=1/3 %(primitive de la fonction f(x))
%Trapeze
T=f(x(1))*h/2+f(x(length(x)))*h/2;
for i=2:length(x)-1;
T=T+h*f(x(i))/2;
end
T
%simpson
S=0;
for i=1:2:length(x)-2
S=S+h/3*(f(x(i))+4*f(x(i+1))+f(x(i+2)));
end
S
Les fonctions
function y=f(x);
y=x^2;
end
25
Figure 8:Comparaison entres les trois méthodes d'intégrales
On déduit de ses résultats que la méthode des rectangles est moins précise qu’à la méthode des
trapèzes qu’à la méthode de Simpson. Donc Simpson est la méthode avec le moindre d’erreurs et
donc la plus précise.
On considère un intervalle [a,b] et une fonction f continue de [a,b] dans R. On suppose que
f(a)*f(b)<0 et que l’équation f(x)=0 admet une unique solution α sur l’intervalle] a,b[.
1. LA MÉTHODE DE DICHOTOMIE :
La méthode de dichotomie consiste à construire une suite (x n) qui converge vers la racine α de la
manière suivante :
26
2. LA MÉTHODE DE NEWTON :
Programmation matlab
clear
clc
a=-1;
b=3;
eps=10^(-6);
% dichotomie
while abs(b-a)>eps
x=(b+a)/2;
if f(a)*f(x)<0;
b=x;
end
if f(a)*f(x)>0 ;
a=x;
end
end
x
%Newton
N=10;
x0=1.2;
k=0;
while N>eps
x1=x0-f(x0)/fp(x0);
N=abs(x1-x0);
x0=x1;
k=k+1;
end
k
x
function
function y=fp(x)
y=2*x;
end
function y=f(x)
y=x^2-5;
end
27