Académique Documents
Professionnel Documents
Culture Documents
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.
Semestre 4
1
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
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 >=
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
switch expression
casevalue1
instruction(s)1
case value2
instruction(s)2
…
otherwise
instruction(s)
end
3
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
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 ?
4
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
8-Exécuter le programme 6 pour x=8 et en remplaçant break par return. Expliquer le résultat.
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
Corps de la 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.
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
6
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
Exercice 2
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.
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
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
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.
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
9
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
Etape 1|
Etape 2
|
|
|
|
Exemple illustratif
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
3Préparation théorique
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
But du TP Programmation sous MATLAB de la méthode des points fixes pour la résolution des
équations à une variable.
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)
Un algorithme très simple permet de déterminer des points fixes. Il suffit en effet d’effectuer les
Etape 1| ;
Etape 2
|
| | |
|
|
| |
13
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
Exemple illustratif
⇒ ⇒ √
⇒ ⇒
⇒ ⇒
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
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
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 :
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
Qui devient la nouvelle valeur estimée de la solution, on reprend ensuite le même raisonnement à
partir du point et ainsi de suite.
Pour trouver une solution à étant donné une estimée initiale de la solution
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
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.
(1)
18
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
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)
( )
∑ (3)
(4)
qui vaut en :
(5)
Pour avoir il faut diviser l’expression (4) par l’expression (5), soit
0 1 2 3
1 2 9 28
19
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
On aura alors : , ,
et .
=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 :
20
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
Contrôle continu
-1 -1/2 0 1/2 1
2. Quel est l’ordre du polynôme d’interpolation ? ainsi que le nombre des polynômes ?
- 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 :
≫ 𝑝 ↩
≫ 𝑝 ↩
≫ 𝑦 𝑝𝑜𝑙𝑦𝑣𝑎𝑙 𝑝 ↩
- 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
≫𝑝 ↩
≫𝑞 𝑝𝑜𝑙𝑦 ↩
≫𝑄 𝑐𝑜𝑛𝑣 𝑝 𝑞 ↩
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
But du TP Programmation sous MATLAB de la méthode des trapèzes pour l’intégration numérique.
∫ (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 .
𝑓 𝑥
𝑎 𝑏 𝑥
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.
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
𝑓 𝑥
𝑓 𝑥
𝑓 𝑏
𝑓 𝑎
𝑓 𝑥
𝑎 𝑥 𝑥 𝑏 𝑥
Définition Pour calculer l’intégrale (1) avec la méthode des trapèzes, on utilise la formule suivante :
∫ ( ∑ ) ( ∑ )
3. Préparation théorique
( )
𝑓 𝑥
𝑓 𝑥
𝑥 24 𝑥
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
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. Contrôle continu
25
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
But du TP Programmation sous MATLAB de la méthode d’Euler pour la résolution des équations
différentielles d’ordre 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)
(3)
Soit en ℎ :
ℎ (4)
26
Université de BLIDA_1 Faculté de Technologie Département D’Electronique
ℎ (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)
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;
Etape 1
|
|
ℎ
4 Contrôle continu
28