Vous êtes sur la page 1sur 18

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

Ministère De L’enseignement Supérieur Et De La Recherche Scientifique


Université De Batna
Faculté De Sciences De L’ingénieur
Département d’électronique
Post-Graduation : Electronique
Option : Micro -Ondes Pour Systèmes de télécommunications

Contrôle
Contrôle du
du Module
Module
Méthodes
Méthodes
Numérique
Numérique
Réalisé par :

 Amir Mounir

Proposé par :
Dr: ABDESSEMED Yacin

Année Universitaire 2005-2006


Méthodes Numériques
-1- Problème N° 01
On a le système de l’ensemble des données expérimentales suivantes :

X 0.24 0.65 0.95 1.24 1.73 2.01 2.23 2.52 2.77 2.99
Y 0.23 -0.26 -1.1 -0.45 0.27 0.1 -0.29 0.24 0.56 1

La fonction est sou la forme : y = a.ln(x) + b.cos(x) + c.ex

Pour déterminer a , b et c nous allons définis la fonction φ(a ,b,c) comme suite :

La dérivé partielle de la fonction φ(a ,b,c) par rapport a chaque variable nous donne un système
d’équations a trois inconnus a , b et c commme suite :

On peut écrire ce système par la forme matriciel comme suite :

Pour résoudre ce système linière on utilise les méthodes numériques directe ou itératives
tel que Gauss Seidel.
Méthodes Numériques
-2- Problème N° 01
I-1Organigramme

Débet

Definition des donnée mesurés X et Y


Nombre d’itération max Kmax
erreur relative eps
Vecteur initial X0

Détermination des éléments


du matrices A et B

Méthode Itérative Gauss Seidel Méthode directe

Tend que i ≤ Kmax X=B/A

Non
Si |Xi+1- Xi|/ Xi+1<eps

Oui

Comparaison des résultats et


représentation graphiques des
fonctions

FIN
Méthodes Numériques
-3- Problème N° 01

I-2 Le Programme
%------------------------------------------%
%-------- Probleme N° 01-----------%
%-----------------------------------------%
clear all; clc;clf;
x=[0.24 0.65 0.95 1.24 1.73 2.01 2.23 2.53 2.77 2.99];
Ym=[0.23 -0.26 -1.1 -0.45 0.27 0.1 -0.29 0.24 0.56 1];
%************************** déterminatoin de la matrice [A] *********************
a11=sum((log(x)).^2); a12=sum(log(x).*cos(x)); a13=sum(log(x).*exp(x));
a21=a12; a22=sum((cos(x)).^2); a23=sum(cos(x).*exp(x));
a31=a13; a32=a23; a33=sum(exp(x).^2);
A=[a11 a12 a13 ; a21 a22 a23 ; a31 a32 a33];
%************************** déterminatoin de la matrice [B] *********************
b1=sum(Ym.*log(x));
b2=sum(Ym.*cos(x));
b3=sum(Ym.*exp(x));
B=[b1 b2 b3];
%****resolusion du systeme par la méthode des moindres carés directe [A]*[x]=[B]******
x=B/A;
a=x(1,1);
b=x(1,2);
c=x(1,3);

%**************** Résolution des systemes par les méthodes itératives***************


%************************ la Méthode de GAUSS-SEIDEL *********************
Kmax=100;
x0=10;
x1=1;
x2=10;
Z0=[x0 x1 x2];
eps=1e-4;

for i=0:Kmax
Z0=[x0 x1 x2];
x0=[b1-(a12*x1)-(a13*x2)]./a11;
x1=[b2-(a21*x0)-(a23*x2)]./a22;
x2=[b3-(a31*x0)-(a32*x1)]./a33;
Z1=[x0 x1 x2] ;
m=(Z1-Z0)./(Z1);
k=i;
if abs(m) < eps , break;
end;
end;
%**************************** les graphes ***********************************
xv=.24:0.001:3
Ya= (a*log(xv))+(b*cos(xv))+(c*exp(xv));
YG= (x0*log(xv))+(x1*cos(xv))+(x2*exp(xv));
x=[0.24 0.65 0.95 1.24 1.73 2.01 2.23 2.53 2.77 2.99];
Ym=[0.23 -0.26 -1.1 -0.45 0.27 0.1 -0.29 0.24 0.56 1];
plot(xv,Ya,'k',x,Ym,'.r',xv,YG,'-.')
grid on ;
Méthodes Numériques
-4- Problème N° 01

I-3 Résultats
Les valeurs de a, b et c par la méthode directe
a = -1.04
b = -1.2599
c = 0.030623
Les valeurs de a, b et c par la méthode de Gauss Seidel
a = -1.0404
b = -1.2603
c = 0.030635
le nombres des itérations éffectée est K= 49

· les données expérimentales


Les résultats de la méthode directe
-*- Les résultats de la méthode Gauss Seidel
1

0.5

0
axe des Y

-0.5

-1

-1.5
0 0.5 1 1.5 2 2.5 3
axe des X

I-4 Interprétation des résultats

Les composants de vecteur Xi calculer par la méthode de Gauss Seidel servirant à calculer un
autre vecteur Xi+1, Ce processus sera répété jusqu'à ce que la différence entre deux vecteurs
successifs Xi et Xi-1 soit inférieure à la précision tolérée ε. D’après les résultats obtenus.
Cette méthode assure la convergence du résultats ver la solution exacte car la conduction de
convergence pour est assuré, donc on peut dire que cette approximation (-
la fonction proposer-) est acceptable et représente les données expérimentales.
Méthodes Numériques
-5- Problème N° 02

On a le système de l’ensemble des données suivantes :

X 1000 1650 1800 1900 1950 1970


Y 340 545 907 1610 2509 3650

Calcule vde a, b et c tels que : par la méthode des moindres carrés.

Pour obtenir a, b et c il faut rendre la fonction sous forme linéaire :

On pose

Nous allons définis la fonction φ(a ,b,c) commeDébet


suite :

Definition des donnée mesurés X et Y


Z=1/Y ;
La dérivé partielle de la fonction φ(a Nombre
,b,c) pard’itération
rapport a max
chaque
Kmaxvariable nous donne un système
erreur relative eps
d’équations a trois inconnus a , b et c comme suite :
Vecteur initial X0

Détermination des éléments


du matrices A et B
Donc ce système peut être écrié sous la forme matricielle comme
Méthode Itérative suite
Gauss :
Seidel

Tend que i ≤ Kmax

Pour résoudre ce système linière on utilise les méthodes numériques itératives tel que
Gauss Seidel.
II-Organigramme

Non
Si |Xi+1- Xi|/ Xi+1<eps

Oui

Représentation graphique des


fonctions

FIN
Méthodes Numériques
-6- Problème N° 02
Méthodes Numériques
-7- Problème N° 02

II-2 Le Programme

%---------------------------------------%
%-------- Probleme N° 02-----------%
%---------------------------------------%
clear all; clc;clf;

x=[1000 1650 1800 1900 1950 1970];


ym=[340 545 907 1610 2509 3650];
z=1./ym,

%******************* déterminatoin de la matrice [A] ************************

a11=sum(z.^2); a12=sum((z.^2).*x); a13=-sum(x.*z);


a21=a12; a22=sum((x.*z).^2); a23=-sum((x.^2).*z);
a31=a13; a32=sum(z.*(x.^2)); a33=sum(x.^2);
A=[a11 a12 a13 ; a21 a22 a23 ; a31 a32 a33];

%***************** déterminatoin de la matrice [B] **************************


b1=sum(z); b2=sum(z.*x); b3=-sum(x);
B=[b1 b2 b3];

%************ Résolution des systemes par les méthodes itératives***************


%************************ la Méthode de GAUSS-SEIDEL *****************
Kmax=100;
x0=10;
x1=1;
x2=10;
Z0=[x0 x1 x2];
eps=1e-2;
for i=0:Kmax
Z0=[x0 x1 x2];
x0=[b1-(a12*x1)-(a13*x2)]./a11;
x1=[b2-(a21*x0)-(a23*x2)]./a22;
x2=[b3-(a31*x0)-(a32*x1)]./a33;
Z1=[x0 x1 x2] ;
m=(Z1-Z0)./(Z1);
if abs(m) < eps , break;
end;
end;

%************************* les graphes ********************************


xg=1000:10:1970
YG=(x0+(x1.*xg))./(1+(x2.*xg)) ;
x=[1000 1650 1800 1900 1950 1970];
ym=[340 545 907 1610 2509 3650];
plot(x,ym,'.r',xg,YG)
grid on
Méthodes Numériques
-8- Problème N° 02

II-3 Résultats
Les valeurs de a, b et c par la méthode de Gauss Seidel
a = 193.65
b = -0.0087156
c = -0.00044391
le nombres des itérations éffectée est K= 47

· les données expérimentales


Les résultats de la méthode Gauss Seidel
4000

3500

3000

2500

2000

1500

1000

500

0
1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000

D’après les résultats obtenues on observe que la méthode de Gauss Seidel ne converge par ver la
solution exacte la condition nécessaire pour la convergence de la méthode n’est pas virifie

pour

Dans le système Ax=b on prélève les équations dont l’un des coefficients est supérieur en
module a la somme des modules des autres coefficients de l’équation. Et toute équation prélevée
s’inscrit sur une linge du nouveau système de façon a ce que le coefficient le plus grand en module
soit diagonal.

Les équations restantes et les équations prélevées du système Ax=b sont associées en
combinaisons linéaires, linéairement indépendantes, de sorte a compléter les linge vides. Il faut
prendre soin a ce que toute équation du système Ax=b non utilisée fasse parie d’au moins une
équation du nouveau système.(1)

1
LAKRIB Mustapha « Cours d’analyse numérique » publications universitaires page 61
Méthodes Numériques
-9- Problème N° 02

Les coefficients de c dans l’équation (3) étant le plus grand en module que la somme des
modules des autres coefficients, alors on peut considérer cette équation comme la (III) d’un
nouveau système.
En examinant le système initial on voit que pour obtenir l’équation (II) il suffit de faire
((1)*1562.9)-(2)
Ce qui nous dons un ne veau système [C]x=[D]

II-4 Le Programme améliorer


%----------------------------------------%
%-------- Probleme N° 02-----------%
%---------------------------------------%
clear all; clc;clf;

x=[1000 1650 1800 1900 1950 1970];


ym=[340 545 907 1610 2509 3650];
z=1./ym,
%***** déterminatoin de la matrice [A] ***************
a11=sum(z.^2); a12=sum((z.^2).*x); a13=-sum(x.*z);
a21=a12; a22=sum((x.*z).^2); a23=-sum((x.^2).*z);
a31=a13; a32=sum(z.*(x.^2)); a33=sum(x.^2);
A=[a11 a12 a13 ; a21 a22 a23 ; a31 a32 a33];
%***** déterminatoin de la matrice [B] ***************
b1=sum(z); b2=sum(z.*x); b3=-sum(x);
B=[b1 b2 b3];
%****resolusion du systeme par la méthode des moindres carés directe [A]*[x]=[B]**
%***** déterminatoin de la matrice [C] ***************
c11=a11; c12=a12; c13=a13;
c21=((1562.9*a11)-a21); c22=((1562.9*a12)-a22);c23=((1562.9*a13)-a23);
c31=a31;c32=a32; c33=a33;
C=[c11 c12 c13 ; c21 c22 c23 ; c31 c32 c33];
%***** déterminatoin de la matrice [D] ***************
d1=b1; d2=((b1*1562.9)-b2); d3=b3;
D=[d1 d2 d3];
%****resolusion du systeme par la méthode des moindres carés directe [C]*[x]=[D]**
%************ Résolution des systemes par les méthodes itératives******
%************************ la Méthode de GAUSS-SEIDEL *****************
Kmax=100;
x0=10;
x1=1;
x2=10;
Z0=[x0 x1 x2];
eps=1e-2;
for i=0:Kmax
Z0=[x0 x1 x2];
x0=[d1-(c12*x1)-(c13*x2)]./a11;
x1=[d2-(c21*x0)-(c23*x2)]./a22;
x2=[d3-(c31*x0)-(c32*x1)]./a33;
Z1=[x0 x1 x2] ;
Méthodes Numériques
-10- Problème N° 02
m=(Z1-Z0)./(Z1);
k=i;
if abs(m) < eps , break;
end;
end;

%********** les graphes **************


xg=1000:10:1970
YG=(x0+(x1.*xg))./(1+(x2.*xg)) ;
x=[1000 1650 1800 1900 1950 1970];
ym=[340 545 907 1610 2509 3650];
plot(x,ym,'.r',xg,YG)
grid on

II-5 Les résultats obtenue


a=135.32
b=0.0086318
c=-0.00049282 · Les données expérimentales
Les résultats de la méthode Gauss Seidel
6000

5000

4000

3000

2000

1000

0
1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000

X=2010 ==> Y=16183


On observe que cette fois les résultats du nouveau système converge mieux ver les données
expérimentales que le premier système.
Méthodes Numériques
-11- Problème N° 03
Résolution par la méthode des éléments finies

U=0 ( haut)
U=100 (bas)

III-1 Le programme :
%*******************************************************
% Exercice N°3 par la Méthode des Différences Finies *
%*******************************************************
h=0.5;
flops(0);
clear all; clc;clf;
eps=1e-4;kmax=100;
m=7;
n=5;

for i=1:n
for j=1:m
u(i,j)=50;
end
end

%*********** Conditions aux limites ************


for j=1:m
u(1,j)=0;
end
for j=4:m
u(2,j)=0;
end
for j=5:m
u(3,j)=0;
end
for j=1:7,
u(5,j)=100;
end
% Méthode de Relaxation Gauss-Seidel
for k=1:kmax
u(4,7)=0.25*(u(4,6)+u(4,6)+u(3,7)+u(5,7));
u(2,1)=0.25*(u(2,2)+u(2,2)+u(1,1)+u(3,1));
u(3,1)=0.25*(u(3,2)+u(3,2)+u(2,1)+u(4,1));
u(4,1)=0.25*(u(4,2)+u(4,2)+u(3,1)+u(5,1));

for j=2:m-1
Méthodes Numériques
-12- Problème N° 03
for i=4
u(i,j)=0.25*(u(i-1,j)+u(i+1,j)+u(i,j-1)+u(i,j+1));
end
end
u(3,4)=0.25*(u(2,4)+u(4,4)+u(3,3)+u(3,5));
for j=2:3
for i=2:3
u(i,j)=0.25*(u(i-1,j)+u(i+1,j)+u(i,j-1)+u(i,j+1));
end
end
if abs(u(4,7)-u(4,6))<=eps
fprintf('\n \n');
fprintf('u après "%d itérations\n',k);
fprintf('\n \n');
break;
end
end
fprintf('\n')
disp('Résolution du problème N°03 Par la Méthode des Différences finies')
fprintf('\n')
disp('Matrice U ')

for i=1:n
fprintf('%5.6f\t',u(i,1:m));
end
x=3:-0.5:0;
y=2:-0.5:0;
mesh(x,y,u);
Méthodes Numériques
-13- Problème N° 03

III-2 Résultats :

100

80
la matrice u

60

40

20

0
0
0
0.5
1
1
axe des y 1.5 2 axe des x
2 3

III-3 Interprétation des résultats

région (1)
Les résultats obtenue pour u(x,y) ne sont pas exacte
Car la fonction u n’est pas définie par cette méthode
dans la région (1), Et ceci due à la valeur de h=1/2
qui peut être considéré Comme une valeur Importante (grand)
Pour avoir des résultats plus importants il faut déminer la valeur de h.
Méthodes Numériques
-14- Problème N° 04
Résolution par la méthode des éléments finies avec l’algorithme de Gauss Seidel :
R
1

U=0 (sur R ) g(x,y)=(xy+1)(xy-x-y)+x2+y2


Kmax=30 h=1/10

Détermination de la solution exacte de U(x,y) dans R


1
…………………………………………………………………….(1)

U(x,y) pendre la forme du seconde membre g(x,y)

Débet

Donc U(x,y) est de la forme :


…………..(2)
h=0.1; eps=10-4.
Donc : nombre de point suivant y m=11;
nombre de point suivant x n=11;
Nombre d’itération max Kmax
erreur relative eps
Vecteur initial X0

Calcule de g(x,y)
Determination du Conditions aux limites

Méthode Gauss Seidel


Tend
On remplace par les équations 2,3 et 4que 2 ≤kl’équation
dans ≤ Kmax 1 on aura :

Pour j=1:m
Pour i=1:n
Calcule de u(i,j) approximie
Par comparaisons on aura les constantes A, B, C, D, E, F, G, H et K

Donc U(x,y) réelle est définie comme suite Non


Si |u: i- ui-1| <eps
1
u ( x, y )  xy ( xy  x  y  1)Oui
2
Calcule de u(i,j) réele

VI-2 L’organigramme
Comparaison des résultats et
représentation graphiques des
fonctions u approchée et u réele

FIN
Méthodes Numériques
-15- Problème N° 04

VI-3 Le programme
%***************************************************
%----------------------------- PROBLEME N°4------------------------
%***************************************************
clear all; clc;
h=0.1;
eps=1e-4;
kmax=30;
m=11;
n=11;
f=2*(h^2);
for Y=1:11;
for X=1:11;
x=h*(X-1);
y=h*(Y-1);
g(X,Y) =(((x.*y)+1).*((x.*y)-x-y))+(x.^2)+(y.^2);
end;
end;

%*********************Conditions aux limites***************************

for j=1:m
for i=1:n
u(i,j)=0;
end
end
%*************** détermination de u(x,y) approximer ********************
% ***************** Méthode de Relaxation Gauss-Seidel*****************
c=1/(4-((h^2)*2));
for k=1:kmax
Z=u;
for j=2:m-1
for i=2:n-1
u(i,j)=c.*(Z(i-1,j)+u(i+1,j)+Z(i,j-1)+u(i,j+1)-(2*(h^2).*g(i,j)));
end;
end;
if abs(u-Z)<=eps break;
end;
end;

%********************* la courbe reel de Uex **************************


for i=1:11
for j=1:11
X=0.1*(i-1);
Y=0.1*(j-1);
Uex(i,j)=0.5.*(X.*Y).*((X.*Y)-X-Y+1);
end;
end;
Méthodes Numériques
-16- Problème N° 04
figure (1)
X=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]
Y=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]
mesh(X,Y,u)
figure (2)
X=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]
Y=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]
mesh(X,Y,Uex);
figure (3)
X=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]
Y=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]
mesh(X,Y,u,Uex);
%**************** l'erreur entre u(x,y) approximé et u(x,y) reelle **********
Errer= abs(Uex-u);
E=max(max(Errer)); % maximume d'erreur entreu(x,y) approximé et u(x,y) reelle

VI-5 Résultats obtenue

0.08
u(x,y) approximet numériquement

0.06

0.04

0.02 Figure 01

0
1
1
0.8
0.5 0.6
0.4
axe des Y 0.2 axe des X
0 0

0.04

0.03
Uex(x,y) réelle

0.02
Figure 02
0.01

0
1
1
0.8
0.5 0.6
axz des Y 0.4
0.2 axz des X
0 0
Méthodes Numériques
-17- Problème N° 04

0.08
u appproximée et Uex réelle

0.06

0.04

0.02

0
1
1
0.8
0.5 0.6
0.4
axe des Y 0.2 axe des X
0 0

Figure 03

On observe que l’erreur entre la fonction u(x,y) approximer et u(x,y) réelle est négligeable ;
La valeur maximal de cette erreur est E= 0.0291 ; pour déminer cette erreur il faut augmenté le
nombre d’itération maximum, donc la méthode de Gauss Seidel converge ver la solution exacte du
système et assure des bon résultats.

Vous aimerez peut-être aussi