Vous êtes sur la page 1sur 28

Université de BLIDA_1 Faculté de Technologie Département D’Electronique

UE Méthodologique :Méthodes Numériques

Support de cours et Travaux pratiques

Année universitaire :2021 / 2022

Les Enseignantes responsablesde la matière :

Mme REDAD.T, Melle BESSEKRI.A, Mme SAIDI.K

Important
1. Les étudiants ont priés de se présenter en TP munis de leurs supports de cours et TP.

2. Le support de cours est donné à l’étudiant afin de préparer le TP avant la séance de TP.

3. Tous les exemples du support de cours doivent être testés pendant la séance de TP.

4. Les étudiants doivent résoudre les exercices de la partie travaux pratiques sur micro (vérification des
résultats par l’enseignant) puis rédiger un compte rendu sur feuille(s) ou ils doivent mentionner : la
date, le numéro du TP, leur nom et prénom, la spécialité, le groupe et le sous-groupe.

5. Les absences doivent être justifiées avant 48h.

2éme année Télécommunication, Biomédicale, Electronique

Semestre 4

1
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

TP N°1 : Rappels sur le langage de programmation MATLAB

But du TP Le but du TP est de renforcer les acquis de l’Unité INFO3, à savoir les notions de bases du
langage de programmation MATLAB, en mettant l’accent sur les fonctionnalités nécessaires pour la
suite de nos enseignements.

1 Les opérateurslogiques
Les opérateurs logiques de bases sont implémentés de la façon suivante :
NON ou ‘’not(.)’’
ET ‘’&’’ ou ‘’and(.,.)’’
OU inclusif ‘’│’’ ou ‘’or(.,.)’’
OU exclusif ‘’xor(.,.)’’
Les opérateurs logiques de relations
égalité ==
différence
inégalités strictes, larges < et >, <= et >=

2Les structures de contrôle

2.1 L’alternative
À une branche, la syntaxe est la suivante :
if expression
(Commandes à exécuter si expression est ‘’vraie ‘’)
end
À deux branches, la syntaxe est la suivante :
if expression
(commandes à exécuter si expression est ‘’vraie ‘’)
else
(commandes à exécuter si expression est ‘’fausse ‘’)
end
La structure générale suivante peut être également adoptée :
if expression1
(commandes à exécuter si expression1 est ‘’vraie ‘’)
elseifexpression2
(commandes à exécuter si expression2 est ‘’vraie ‘’)
else
(commandes à exécuter si aucune expression est ‘’vraie ‘’)
end

2
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

1-Dans un Fichier-M exécuter le programme qui suit :


x=input(‘donner à votre choix la valeur 1, 2 ou 3’)
if x==1
disp(‘x est égal à 1’)
elseif x==2
disp(‘x est égal à 2’)
else
disp(‘x est égal à 3’)
end
Que fait ce programme ?

2.2 Le selon que

L’instruction ‘‘switch’’ permet l’exécution de certaines instructions en fonction de la valeur d’une


variable ou d’une expression. Sa forme de base est:

switch expression
casevalue1
instruction(s)1
case value2
instruction(s)2

otherwise
instruction(s)
end

2-Dans un Fichier-M exécuter le programme qui suit :


x=input(‘donner à votre choix la valeur 1, 2 ou 3’) ;
switch x
case 1
disp(‘x est égal à 1’) ;
case2
disp(‘x est égal à 2’) ;
otherwise
disp(‘x est égal à 3’) ;
end
Que fait ce programme ?

3
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

2.3 La boucle Tant Que

La boucle Tant Que est implémentée de façon quasiment analogue au langage C :

while expression
Instruction(s) (exécutée(s) tant expression est ‘‘vrai’’)
end
3-Dans un Fichier-M exécuter le programme qui suit :
I=0 ;
while i<10
I=i+1 ;
x=9*i ;
disp(*‘9*’ num2str(i) ‘=’ num2str(x)+)
end
Que fait ce programme ?

2.4 La boucle Pour

Avec MATLAB, la boucle Pour est implémentée de la façon suivante :

for x=valeur_initial : pas : valeur_finale


instruction(s)
end
Les nombres valeur_initiale, pas et valeur_finale sont des réels, lorsque pas <0, le compteur de la
boucle x est décrémenté de la valeur pas, au contraire lorsque pas>0, x est incrémenté. Lorsque
l’incrément pas est pris par défaut comme étant égal à 1, l’écriture devient :

for x=valeur_initial : valeur_finale


Instruction(s)
end

4-Dans un Fichier-M exécuter le programme qui suit :


for i=2.5:0.5:3.5
i
end
Que fait ce programme ?
5-Dans un Fichier-M exécuter le programme qui suit :
for x=1 :10
y=9*x ;
disp(*‘9*’num2str(x) ‘=’num2str(y)]) ;
end
Que fait ce programme ?

4
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

3 Les fonctions break et return

6-Dans un Fichier-M exécuter le programme qui suit :


X=30 ;
fori=1 :10
y=(x-1)/x ;
x=x-2 ;
if x==0
i
disp(‘prochaine itération division par zéro’)
break
end
disp(*‘i=’ num2str(i) ‘y= ’ num2str(y)])
end
y=y*10;
disp(*‘valeur finale de y= ’ num2str(y)])
Que fait ce programme ?

7-Exécuter le programme 6 pour x=8 puis expliquer le résultat.

8-Exécuter le programme 6 pour x=8 et en remplaçant break par return. Expliquer le résultat.

9-Conclure sur la différence entre : break et return.

4 Les fonctions en MATLAB

Au moyen des fichiers MATLAB (*.m) nous avons déjà vu que l’on pouvait écrire des fichiers scripts. Les
fichiers de fonctions (M-Function) sont des fichiers-M qui commencent avec le mot-clé ‘‘function’’.
Contrairement aux fichiers de scripts, les fonctions acceptent des arguments d’entrée et de sortie (de
retour). La syntaxe du fichier de fonction peut être représentée par la figure ci-dessous :

Le fichier de sauvegarde de la fonction-M doit porter le même nom que la fonction, ce nom doit être
sous la forme d’un identificateur valable sous MATLAB.

5
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Mot clé Arguments renvoyés par la fonction Nom de la fonction Arguments en entrée de la fonction

function [arg_renvoyé]= <identificateur> (arg1, arg2, …, argM)

%documentation de la fonction (texte renvoyé par help< identificateur>)

Corps de la fonction

Syntaxe du fichier de fonction

Exercice illustratif : Ecrire une fonction nommée nombre_complex, celle-ci doit recevoir comme
arguments d’entrée la partie réelle x et la partie imaginaire y d’un nombre complexe quelconque, et
retourner en sortie l’argument de ce nombre complexe et sa phase en radians et en degrés.

function [arg, pha_rad, pha_deg]=nombre_complex(x, y)


%La fonction nombre_complexe permet de calculer l’argument
% et la phase(en radians et en degrés) d’un nombre complexe : x+j*y.
%arg : l’argument
%pha_deg : la phase en degrés
arg=sqrt((x^2)+(y^2)) ;
pha_rad=atan(y/x) ;
pha_deg=rad2deg (pha_rad) ;

Dans la fenêtre des commandes exécuter par exemple ce qui suit puis commenter :

>>help nombre_complex
>>[arg, pha_rad, pha_deg]=nombre_complex(1,-1)

5Contrôle Continu

Programmer les solutions des exercices suivants et reporter les scripts sur le compte-rendu.

Exercice 1

1. Ecrire une fonction facto(n) qui renvoie n !.


2. Ecrire une fonction puiss(x,n) qui renvoie xn.

6
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

3. Sachant que : , écrire une fonction expn(x,n)qui calcule la


valeur approchée de en faisant appel aux fonctions facto et puiss.

Exercice 2

On se propose d’écrire un programme pour approximer la fonction exponentielle au moyen de son

développement en série : ∑

La fonction MATLAB, donnée ci-dessous, reçoit comme arguments d’entrée la valeur de x, le nombre
maximal d’itérations (maxit) et l’erreur relative d’approximation désirée (es). Les arguments de sortie
sont la valeur d’approximation (fx), l’erreur d’approximation atteinte (ea) et le nombre des itérations
réalisées (iter).

Le programme s’arrête lorsque le nombre maximal des itérations est atteint ou lorsque l’erreur
d’approximation désirée est réalisée.

function [fx,ea,iter] = Expo(x,es,maxit)


% le développement en série de Maclaurin de la fonction exponentielle
% input :
% x= valeur à laquelle la série évaluée
% es=critère d’arrêt
% maxit = le nombre maximal d’itération
% output :
% fx = valeur estimée
% ea = erreur relative d’approximation
% iter = nombre d’itérations
% initialisation
Iter =1 ; sol =1 ;
% calcule itératif
while 1
solold = sol ;
sol = sol+((x^iter)/factorial(iter)) ;
iter = iter+1 ;
if sol 0
ea = abs((sol-solold)/sol)*100 ;
end
ifea<=es│ iter>=maxit, break, end
end
fx=sol;
end
7
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

1. Donner l’algorithme de cette fonction.

2. La condition de réalisation de la boucle while est-elle toujours vérifiée ?

3. à quoi sert alors l’instruction break ?

4. Comment i!est-il calculé à chaque itération ?

5. exécuter la fonction pour x=1, es =10-6 et maxit =100, puis donner et expliquer le résultat obtenu.

Remarque : L’algorithme étant itératif l’erreur d’approximation (absolue ou relative) est calculée à
chaque itération comme étant la différence entre l’approximation présente et celle de l’itération
précédente (voir la notion de convergence dans le cours).

Exercice3

Le développement en série de Maclaurin de cos( x) est donné par :

1/ En vous inspirant du programme de l’exercice précédent, écrire une fonction appelée cosinus qui
permet de calculer selon le développement en série de Maclaurin.
2/Exécuter la fonction pour , une erreur relative imposée et un nombre maximal d’itérations
adéquats. La fonction doit aussi afficher à chaque itération les valeurs de l’erreur absolue et l’erreur
relative.

8
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

TP N°2 : Résolution d’équations à une variable

Méthode de la dichotomie (ou bissection)

But du TP Programmation sous MATLAB des méthodes numériques de résolution des équations à une
variable

Le calcul des zéros d’une fonction f réelle (c.-à-d. les racines de l’équation f(x)=0) devient un problème plus
laborieux si la fonction f présente une forme plus complexe. Pour cela on préfère utiliser des méthodes
itératives, partant d’une ou plusieurs valeurs initiales (valeurs estimées d’un zéro), on construit une suite de
valeurs qui converge vers un zéro de la fonction considérée.

1Méthode de la dichotomie (ou bissection)

La méthode de bissection repose sur l’idée, qu’en général, de part et d’autre d’un zéro, une fonction
continue change de signe et passe du positif au négatif ouvice versa.

Soit une fonction f(x) continue sur un intervalle [ , ] choisi de telle sorte que f( ) et f( )soient de
signes opposés (f( )*f( )<0), par le théorème de la valeur intermédiaire, il existe un point tel que
.

On pose alors :

est le point milieu de l’intervalle . Il suffit alors de déterminer, entre les intervalles et
, celui qui possède encore un changement de signe.La racine se trouvera forcément dans cet
intervalle. Celui-ci deviendra l’intervalle d’une nouvelle itération. Ces itérations se répéteront
jusqu’à l’obtention d’une erreur absolue (ou relative) satisfaisante, ou d’une longueur
d’intervalle , minimale, on considère souvent la demi-longueur de cet intervalle,

2 Algorithme de la bissection

Étant donné un intervalle pour lequel possède un changement de signe.

ENTREE : ,Points extrêmes ;


(La tolérance), le Critère d’arrêt ;
,le nombre maximal d’itérations ;
SORTIE : Solution approchée;

9
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Etape 1|

Etape 2

|
|

|
|

Exemple illustratif

On cherche la racine de dans l’intervalle *1, 2+ (racine égale à 1.3652). On se


contente à titre d’exemple de 3 itérations résumées par le tableau suivant :

Itération 1 1 2 1.5 -5<0 14>0 2.3750>0 (2-1)/2=0.5


Itération 2 1 1.5 1.25 -5<0 2.3750>0 -1.7969<0 (1.5-1)/2=0.25
Itération 3 1.25 1.5 1.3750 -1.7969<0 2.3750>0 0.1621>0 (1.5-1.25)/2=0.125
⁞ ⁞ ⁞ ⁞ ⁞ ⁞ ⁞ ⁞

La figure 1 illustre les 3 itérations effectuées et mentionnées dans le tableau ci-dessus.

10
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Itération 1 Itération 2
14 3

12
2

10
1
8

0
6
f(x)

f(x)
4 -1

2
-2

0
-3
-2
-4
-4

-6 -5
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.4 1.45 1.5
x x

Itération 3
2.5

1.5

X: 1.375
0.5
Y: 0.1621
f(x)

-0.5

-1

-1.5

-2
1.25 1.3 1.35 1.4 1.45 1.5
x

Figure 1 - Les 3 itérations de l’exemple illustratif.

3Préparation théorique

Soit la fonction dans [2.8, 3.0].

1. Montrer que admet bien une racine dans l’intervalle *2.8, 3.0+
2. Faire 8 itérations de la méthode de bissection (à résumer dans un tableau comme cela est fait
plus haut)
3. Sachant que la racine exacte est égale à , donner le nombre de chiffres significatifs
dans la racine approchée après 8 itérations de la méthode de bissection.

11
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

4 Contrôle continu

1. Programmer sous forme d’une fonction MATLAB l’Algorithme de la méthode bissection pour
résoudre le problème posé en préparation théorique (indication : utiliser un while, deux if, un
return, et une autre fonction pour calculer .
2. Exécuter le programme pour des nombres d’itérations et des critères sur l’erreur plus
importants pour une meilleure approximation des solutions, commentaires et conclusions.

12
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

TP N°3 : Résolution d’équations à une variable (Méthode de points fixes)

But du TP Programmation sous MATLAB de la méthode des points fixes pour la résolution des
équations à une variable.

1. Méthode des points fixes

Avant d’aborder la méthode des points fixe, il convient de définir ce qu’est un point fixe d’une
fonction.Soit alors la définition suivante :

Définition 2Un point fixe d’une fonction est une valeur de qui reste invariante pour cette
fonction, c.-à-d. toute solution de :
(1)

est un point fixe de .

Un algorithme très simple permet de déterminer des points fixes. Il suffit en effet d’effectuer les

itérations de la façon suivante : {

à partir d’une valeur estimée initiale, , de la solution.

2.Algorithme de la méthode des points fixes

Trouver une solution , étant donnée une estimation initiale

ENTREE : , Estimée initiale de la solution ;


(La tolérance), le Critère d’arrêt ;
,le nombre maximal d’itérations ;
SORTIE : Solution approchée;

Etape 1| ;
Etape 2

|
| | |
|
|

| |

13
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Exemple illustratif

Soit à résoudre l’équation qui est un polynôme du second degré possédant


deux racines et Pour utiliser la méthode des points fixes il faut transformer l’équation
sous la forme Plusieurs formes sont possibles, on peut citer :

⇒ ⇒ √

⇒ ⇒

⇒ ⇒

On se propose d’utiliser l’algorithme des point fixe avec avec , en partant de ce point
l’algorithme va converger vers . On effectue à titre illustratif 3 itérations résumées dans le tableau
suivant :

Itération 1 √ | |
Itération 2 √ | |
Itération 3 √ | |

3. Préparation théorique

Soit la fonction Utiliser la méthode des points fixes avec et comme


solution estimée initiale .

1.Faire 8 itérations de la méthode des points fixes (à résumer dans un tableau comme cela est fait plus
haut).

2. Sachant que la racine exacte est égale à , donner le nombre de chiffres significatifs dans la
racine approchée après 8 itérations de la méthode des points fixes.

4. Contrôle continu

1. Programmer sous forme d’une fonction MATLAB l’Algorithme de la méthode des points fixes pour
résoudre le problème posé en préparation théorique (indication : utiliser un while, un if, un return, et
une autre fonction pour calculer ).

2. Exécuter le programme pour des nombres d’itérations et des critères sur l’erreur plus importants
pour une meilleure approximation des solutions, commentaires et conclusions.

14
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

TP N°4 : La méthode de Newton

But du TP Programmation de la méthode de Newton pour la résolution des équations non linéaires.

1 La méthode de Newton

Méthode de Newton (dite également Newton –Raphson) est une des méthodes les plus connues et les
plus puissantes pour la résolution des équations non linéaires. Il y a deux manières pour introduire la
méthode de Newton, soit en se basant sur les polynômes de Taylor, soit graphiquement :

Soit une fonction continue et doublement dérivable sur , et une valeur approximative de , tel
que et | | ‘’ petit ‘’.Soit le développement en polynôme de Taylor d’ordre 1 de la
fonction au voisinage de :

où est compris entre et . Si est une racine de alors , l’équation (1) devient :

La méthode de Newton est dérivée en assumant que comme | |est petit, et le terme impliquant
est beaucoup plus petit (donc négligeable), de sorte que :

L’équation (3) nous donne :

La méthode de Newton permet d’approximer la solution de en générant itérativement une


suite en démarrant d’une estimée initiale de la solution :

La figure 1 permet de donner une interprétation géométrique assez simple de la méthode de Newton.
Sur cette figure, on a représenté la fonction , la valeur initiale et le point . La
droite tangente à la courbe en ce point est de pente et a pour équation :

15
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Cette droite coupe l’axe des en , c’est-à-dire en (voir l’équation (6)) :

Qui devient la nouvelle valeur estimée de la solution, on reprend ensuite le même raisonnement à
partir du point et ainsi de suite.

Figure 1- Interprétation géométrique de la méthode de Newton

2Algorithme de la méthode de Newton

Pour trouver une solution à étant donné une estimée initiale de la solution

ENTREE : , Estimée initiale de la solution ;


(La tolérance), le Critère d’arrêt ;
, le nombre maximal d’itérations ;
SORTIE : Solution approchée;

Etape 1 | ;
Etape 2
| ⁄
| | |
|
|

| |

16
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

3 Contrôle continu

1. Programmer sous forme d’une fonction la méthode de Newton pour calculer le zéro de la
fonction dans [2.8, 3.0],étant donné estimée initiale
de la solution (indication : utiliser un while, unif, un return, et une autre fonction pour
calculer .
2. Exécuter le programme pour des nombres d’itérations et des critères sur l’erreur plus
importants pour une meilleure approximation des solutions, commentaires et conclusions.

17
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

TP N°5 : La méthode de Lagrange

But du TP Programmation de la méthode de Lagrange pour l’interpolation et l’approximation


polynomiale, et ce en utilisant des exemples.

A partir d’une fonction connue seulement en points de la forme ( )


, peut-on construire une approximation de , et ce pour tout ?

Les points (( ) ) sont appelés points de collocation ou points


d’interpolation et peuvent provenir de données expérimentales ou d’une table.

En d’autres termes, si on ne connait que les points de collocation ( ) d’une fonction, peut-on
obtenir une approximation pour une valeur de différente des ? C’est un problème
d’interpolation. La figure 2 résume la situation.

Figure 2- Le problème d’interpolation

Le problème d’interpolation a une solution simple, il suffit de construire un polynôme de degré


suffisamment élevé dont la courbe passe par les points de collocation.

Théorème 1Un polynôme de degré dont la forme générale est :

(1)

possède racines qui peuvent être réelles ou complexes conjuguées.

18
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Corollaire 1Par points de collocation(( ) ), on ne peut faire


correspondre qu’un et un seul polynôme de degré .

L’interpolation de Lagrange est une méthode pour construire un polynôme de collocation. Etant donné
points(( ) ), on suppose que l’on sait construire
polynômes de degré et satisfaisant les conditions :

{ (2)
( )

L’unique polynôme de degré passant par tous les points (( ) ) peut


s’écrire

∑ (3)

reste à construire les fonctions de façon progressive.

Calcul des polynômes de degré

La fonction doit s’annuler en , il faut donc introduire la fonction :

(4)

qui vaut en :
(5)

Pour avoir il faut diviser l’expression (4) par l’expression (5), soit

De même, pour la fonction :

On peut aisément déduire l’expression générale :

Exemple Soient les points suivants

0 1 2 3
1 2 9 28

19
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Il y a 4 points donc , il faut rechercher polynômes de degré 3 sorte que :

On aura alors : , ,

et .

L’expression du polynôme recherché est donnée par :

=1 +2 +9 + 28

est l’expression du polynôme passant par les quatre points donnés. Le polynôme
permet d’obtenir une approximation de la fonction inconnue définie sur tout l’intervalle
contenant les points de collocation, c’est-à-dire . Par exemple, si l’on veut calculer
sachant que , alors :

La figure 3 représente le tracé de sur l’intervalle des points de collocation, celui-ci se


superpose aux points donnés par le tableau de( ).

Figure 3- Illustration de l’exemple

20
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Contrôle continu

On désire déterminer le polynôme d’interpolation de la fonction | |;

1.Créer les points de collocation en remplissant le tableau suivant :

-1 -1/2 0 1/2 1

2. Quel est l’ordre du polynôme d’interpolation ? ainsi que le nombre des polynômes ?

3. Au moyen d’un script MATLAB, calculer le polynôme d’interpolation de la fonction sur


l’intervalle contenant les points de collocation donnés, et ce en tenant compte des indications
suivantes :

- Un polynôme est défini dans MATLAB sous la forme d’un vecteur ligne contenant ses coefficients dans
un ordre décroissant des puissances de son inconnue, par exemple le polynôme
est déclaré sous la forme :

≫ 𝑝 ↩

- Afin de calculer la valeur de ce polynôme à , on utilise


la fonction polyval.

≫ 𝑝 ↩

≫ 𝑦 𝑝𝑜𝑙𝑦𝑣𝑎𝑙 𝑝 ↩

- Pour obtenir l’expression d’un polynôme à partir de ses racines, on utilise la fonction poly. Soit à
définir le polynôme dont les racines sont -1 et 2, q :

≫ 𝑞 𝑝𝑜𝑙𝑦 ↩

- L’addition de deux polynômes s’opère da même manière que l’addition simple de deux
vecteurs .

≫𝑝 ↩

≫𝑞 ↩

≫𝑃 𝑝 𝑞 ↩

21
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

- La multiplication de deux polynômes s’opère avec la fonction conv. Le produit


( ) .

≫𝑝 ↩

≫𝑞 𝑝𝑜𝑙𝑦 ↩

≫𝑄 𝑐𝑜𝑛𝑣 𝑝 𝑞 ↩

4. Il est clair que | | . Approximez par la valeur , due à


l’interpolation polynomiale de Lagrange. Calculer l’erreur d’approximation absolue et relative.
Commentez.

5. | | , approximez par la valeur , due à l’interpolation polynomiale de


Lagrange. Calculer l’erreur d’approximation absolue et relative. Commentez.

6. Dessiner sur une même figure et pourl’intervalle qui contient les points de
collocation. Expliquez les résultats obtenus on 4 et 5.

22
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

TP N°6 : Méthode des trapèzes

But du TP Programmation sous MATLAB de la méthode des trapèzes pour l’intégration numérique.

1. L’intégration numérique : Méthode des trapèzes

En mathématiques, l’intégral de la fonction par rapport à la variable indépendante , et


évaluée entre les limites et , est donnée par :

∫ (1)

La figure 1 montre la représentation graphique de l’intégrale(1) qui équivaut à l’aire sous la courbe
entre les limites et .

𝑓 𝑥

𝑎 𝑏 𝑥

Figure 1- Représentation graphique de l’intégrale de


entre les limites et

L’intégration est l’un des problèmes les plus importants que l’on rencontre en ingénierie. Cependant,
on rencontre souvent des intégrales dont le calcul par des méthodes analytiques est très compliqué ou
même impossible, car il n’existe pas d’expression analytique de la primitive de la fonction à intégrer.

Dans ces cas, on peut appliquer des méthodes numériques itératives pour évaluer la valeur de
l’intégrale donnée.

2.Principe de la méthode des trapèzes

La méthode des trapèzes calcule l’intégrale (1) en découpant l’aire sous la courbe en trapèzes selon des
abscisses généralement équidistants, la figure 2 illustre un exemple de l’opération, il s’agit de calculer
l’aire hachurée délimitée par les trois trapèzes.
23
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

𝑓 𝑥
𝑓 𝑥
𝑓 𝑏

𝑓 𝑎
𝑓 𝑥

𝑎 𝑥 𝑥 𝑏 𝑥

Figure 2- Méthode des trapèzes

Définition Pour calculer l’intégrale (1) avec la méthode des trapèzes, on utilise la formule suivante :

∫ ( ∑ ) ( ∑ )

Avec et le Nombre d’intervalles.

3. Préparation théorique

1. Montrer que la surface du trapèze ( est donnée par :

( )

𝑓 𝑥

𝑓 𝑥

𝑥 24 𝑥
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

2. Montrer que si les points sont équidistants :

la surface hachurée de la figure 2 est égale à :

3. Montrer que l’expression calculée précédemment, peut être généralisée pour calculer l’intégrale (1)
pour toute fonction continue sur , donnant la formule des trapèzes :

∫ ( ∑ ) ℎ( ∑ )

Avec ℎ

4. Que représente la variable dans cette expression ?


5. Que représente la variable ℎ dans cette l’expression ?
6. Calculer analytiquement ∫ .

4. Contrôle continu

1. En utilisant la formule des trapèzes, évaluer numériquement avec la programmation MATLAB


l’intégrale : ∫ Respectivement pour un intervalle, 4 intervalles et 8 intervalles.
(tenir compte des indications suivantes : utiliser une boucle for et éventuellement un if).
2. La méthode des trapèzes est programmée dans le MATLAB avec la fonction trapz, utiliser cette
fonction pour répondre à la question 1. Comparer avec les résultats obtenus précédemment
(indications : utiliser la forme Z= trapz (x, y)).
3. Dans un tableau donner les valeurs numériques de l’intégrale et h pour chaque cas (1, 4, et 8
intervalles) ainsi que les valeurs correspondantes obtenues au moyen de la fonction de MATLAB
(trapz), comparer en calculant l’erreur absolue et relative par rapport à la valeur analytique de
l’intégrale . Commenter.

25
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

TP N°7 : Méthode d’Euler

But du TP Programmation sous MATLAB de la méthode d’Euler pour la résolution des équations
différentielles d’ordre 1.

1. Equations différentielles de premier ordre

En ingénierie, on aboutit très souvent à la résolution d’équations différentielles, de systèmes


d’équations différentielles ou plus généralement d’équations aux dérivées partielles. En plus du souci
de numérisation, les méthodes numériques permettent d’étudier des problèmes plus complexes pour
lesquels on ne connait pas de solutions analytiques. Une équation différentielle d’ordre 1 est formulée
comme suit :
( ) (1)

La variable indépendante représente très souvent le temps. La variable dépendante est notée et
dépend bien sûr de . La condition est la condition initiale. Le problème est d’obtenir
pour t .

2. Méthode d’Euler

La méthode d’Euler est la méthode la plus simple pour la résolution des équations différentielles
ordinaires d’ordre 1, toutefois elle présente une faible précision.

Soit l’équation différentielle d’ordre 1 donnée par la relation (1). Connaissant la pente en et
le point , on désire calculer l’approximation de la solution , soit , en ℎ :
( ) (2)

On peut utiliser la droite passant par le point et de pente

(3)

Soit en ℎ :

ℎ (4)

26
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

Figure 1- Méthode d’Euler

Comme le montre la figure 1, la valeur de la solution analytique (inconnue et recherchée) à


l’instant est approximée par :

ℎ (5)

De même l’approximation de

ℎ (6)

Remarquer que du faite que soit inconnue donc remplacée par sont approximation , l’erreur
commise dans l’itération 1 qui a servie à calculer est reprise dans l’itération 2 qui servira à calculer .
Cette propriété non négligeable des méthodes de résolution des équations différentielles montre que
l’erreur est propagée d’une itération. Il en résulte que l’erreur à l’itération augmente légèrement
avec :
(7)

3. Algorithme de la méthode d’Euler

Pour résoudre l’équation différentielle de premier ordre ( ) en utilisant la


méthode d’Euler qui décrit par l’algorithme suivant :

27
Université de BLIDA_1 Faculté de Technologie Département D’Electronique

ENTREE : fonction ;
ℎ, pas de calcul;
, Condition initial;
, le nombre maximal d’itérations;

SORTIE : vecteur de temps;


, vecteur de la solution correspondante;

Etape 1

|
|

4 Contrôle continu

Soit l’équation différentielle d’ordre 1 :

3. Approximer la solution de l’équation différentielle en utilisant la programmation MATLAB


de l’algorithme de la méthode d’Euler, avec la pas ℎ et .
4. Sachant que la solution analytique différentielle de premier ordre 1 est donnée par :

Modifier votre programme pour calculer à chaque itération l’erreur d’approximation


.
5. Sur même graphe représenter la solution analytique et la solution approximative donnée par
l’algorithme de la méthode d’Euler.
6. Sur un autre graphe représenter l’erreur d’approximation.
7. Commenter et conclure.

28

Vous aimerez peut-être aussi