Vous êtes sur la page 1sur 267

Analyse et analyse numrique

LAVOISIER, 2005
LAVOISIER
11, rue Lavoisier
75008 Paris
Serveur web : www.hermes-science.com
2-7462-0993-4 ISBN Gnral

2-7462-0995-0 ISBN Volume 2

Tous les noms de socits ou de produits cits dans cet ouvrage sont utiliss des fins
didentification et sont des marques de leurs dtenteurs respectifs.

Le Code de la proprit intellectuelle n'autorisant, aux termes de l'article L. 122-5, d'une


part, que les "copies ou reproductions strictement rserves l'usage priv du copiste et non
destines une utilisation collective" et, d'autre part, que les analyses et les courtes citations
dans un but d'exemple et d'illustration, "toute reprsentation ou reproduction intgrale, ou
partielle, faite sans le consentement de l'auteur ou de ses ayants droit ou ayants cause, est
illicite" (article L. 122-4). Cette reprsentation ou reproduction, par quelque procd que ce
soit, constituerait donc une contrefaon sanctionne par les articles L. 335-2 et suivants du
Code de la proprit intellectuelle.
APPLICATIONS MATHMATIQUES
AVEC MATLAB

Analyse
et analyse numrique
rappel de cours et exercices corrigs

Luc Jolivet
Rabah Labbas
Table des matires

Avant-propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

P REMIRE PARTIE . A NALYSE . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Chapitre 1. Suites relles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


1.1. Gnralits sur les suites . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.1.1. Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.1.2. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2. Limite dune suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.1. Approche intuitive . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.2. Cas de limite nie . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.2.3. Cas de limite innie . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3. Proprits des limites de suites . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.1. Cas de limites nies . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.3.2. Cas de limites innies . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.3. Calculs de limites avec Matlab . . . . . . . . . . . . . . . . . . . . 23
1.4. Suites monotones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.5. Suites rcurrentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.5.1. Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.5.2. Etude complte dun exemple modle . . . . . . . . . . . . . . . . 25
1.6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.1. Limite dune suite et majorations . . . . . . . . . . . . . . . . . . 28
1.6.2. Etude dune suite rcurrente (1) . . . . . . . . . . . . . . . . . . . 28
1.6.3. Etude dune suite rcurrente (2) . . . . . . . . . . . . . . . . . . . 29
1.7. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Chapitre 2. Fonctions numriques dune variable relle . . . . . . . . . . . 37


2.1. Rappels gnraux sur les fonctions . . . . . . . . . . . . . . . . . . . . . 37
2.1.1. Majoration dune fonction et extrema . . . . . . . . . . . . . . . . 37

5
6 Mathmatiques avec Matlab

2.1.2. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.1.3. Priodicit, parit et imparit dune fonction . . . . . . . . . . . . 39
2.1.4. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.5. Fonctions monotones . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.1.6. Fonctions injectives, surjectives, bijectives . . . . . . . . . . . . . 41
2.2. Limite dune fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2.1. Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2.2. Rsultat fondamental . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.2.3. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3. Continuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.1. Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.2. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.3. Rsultats gnraux sur la continuit . . . . . . . . . . . . . . . . . 47
2.4. Drivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.1. Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.2. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4.3. Interprtation gomtrique . . . . . . . . . . . . . . . . . . . . . . 50
2.4.4. Proprits gnrales . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.4.5. Drives successives . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.4.6. Consquences de la drivation . . . . . . . . . . . . . . . . . . . . 52
2.4.7. Etude dune fonction avec Matlab . . . . . . . . . . . . . . . . . . 53
2.4.8. Retour lexemple modle . . . . . . . . . . . . . . . . . . . . . . 55
2.5. Fonctions trigonomtriques inverses . . . . . . . . . . . . . . . . . . . . 57
2.5.1. Rappel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.5.2. Fonction arcsin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.5.3. Fonction arccos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.5.4. Fonction arctan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.5.5. Exemple modle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.6. Comparaison de deux fonctions . . . . . . . . . . . . . . . . . . . . . . 67
2.6.1. Notion de voisinage . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.6.2. Notations dites de Landau . . . . . . . . . . . . . . . . . . . . . . 68
2.6.3. Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.7. Formules de Taylor et dveloppements limits . . . . . . . . . . . . . . 69
2.7.1. Diverses formules de Taylor . . . . . . . . . . . . . . . . . . . . . 69
2.7.2. Exemples de calculs de D.L. . . . . . . . . . . . . . . . . . . . . . 72
2.7.3. Application des D.L. . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.8. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.8.1. Bijection rciproque . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.8.2. Etude de fonction et construction de courbe . . . . . . . . . . . . 76
2.8.3. Etude dune fonction priodique . . . . . . . . . . . . . . . . . . . 77
2.8.4. Fonction trigonomtrique inverse . . . . . . . . . . . . . . . . . . 77
2.8.5. D.L. et tude de limite (1) . . . . . . . . . . . . . . . . . . . . . . 78
2.8.6. D.L. et recherche dasymptote . . . . . . . . . . . . . . . . . . . . 78
Table des matires 7

2.8.7. D.L. et tude de limite (2) . . . . . . . . . . . . . . . . . . . . . . 78


2.9. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Chapitre 3. Intgration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.1. Intgrale de Riemann . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.1.1. Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.1.2. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.1.3. Proprits gnrales . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.2. Primitive dune fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.2.1. Cas dune fonction continue . . . . . . . . . . . . . . . . . . . . . 97
3.2.2. Cas dune fonction intgrable quelconque . . . . . . . . . . . . . 98
3.2.3. Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.3. Calcul intgral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.3.1. Calcul intgral avec Matlab . . . . . . . . . . . . . . . . . . . . . . 100
3.3.2. Changement de variable . . . . . . . . . . . . . . . . . . . . . . . . 101
3.3.3. Intgration par parties . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.4. Dcomposition en lments simples . . . . . . . . . . . . . . . . . . . . 104
3.4.1. Les fonctions polynmes . . . . . . . . . . . . . . . . . . . . . . . 104
3.4.2. Fractions rationnelles . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.4.3. Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.5. Intgration de fractions rationnelles . . . . . . . . . . . . . . . . . . . . 112
3.6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.6.1. Calculs de primitives usuelles . . . . . . . . . . . . . . . . . . . . 114
3.6.2. Linarisations dexpressions trigonomtriques . . . . . . . . . . . 114
3.6.3. Changement de variable (1) . . . . . . . . . . . . . . . . . . . . . 115
3.6.4. Changement de variable (2) . . . . . . . . . . . . . . . . . . . . . 115
3.6.5. Dcomposition en lments simples . . . . . . . . . . . . . . . . 115
3.7. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

D EUXIME PARTIE . A NALYSE NUMRIQUE LMENTAIRE . . . . . . . . 123

Chapitre 4. Arithmtique de lordinateur . . . . . . . . . . . . . . . . . . . 125


4.1. Reprsentation des entiers . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.1.1. Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.1.2. Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.1.3. Fonctions prdnies de Matlab . . . . . . . . . . . . . . . . . . . 127
4.2. Reprsentation des rels positifs en virgule xe . . . . . . . . . . . . . 127
4.2.1. Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.2.2. Exemple en base 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.2.3. Exemple en base 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.2.4. Calculs avec Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.3. Reprsentation des rels en virgule ottante . . . . . . . . . . . . . . . 130
4.3.1. Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8 Mathmatiques avec Matlab

4.3.2. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131


4.4. Les rels en V.F.N chiffres . . . . . . . . . . . . . . . . . . . . . . . 131
4.4.1. En base 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.4.2. En base 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.4.3. Les formats machine oat et double . . . . . . . . . . . . . . . . . 134
4.5. Oprations de base sur les nombres machine . . . . . . . . . . . . . . . 136
4.5.1. Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.5.2. Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.5.3. Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.6.1. Conversion dun entier . . . . . . . . . . . . . . . . . . . . . . . . 140
4.6.2. Schma de Horner . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.6.3. Conversion dun nombre virgule . . . . . . . . . . . . . . . . . 141
4.6.4. Valeurs extrmes au format double . . . . . . . . . . . . . . . . . 141
4.7. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Chapitre 5. Gestion derreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 145


5.1. Erreur absolue et erreur relative . . . . . . . . . . . . . . . . . . . . . . 146
5.1.1. Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.1.2. Erreurs doprations . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.1.3. Estimation derreur par le thorme des accroissements nis . . . 147
5.2. Erreurs daffectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.2.1. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.2.2. Rsultat gnral . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.2.3. Cas des formats oat et double . . . . . . . . . . . . . . . . . . . . 150
5.2.4. Erreurs daffectation et oprations . . . . . . . . . . . . . . . . . . 150
5.3. Cumul derreurs daffectation et dopration . . . . . . . . . . . . . . . 151
5.3.1. Cas dune somme . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.3.2. Cas dun produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
5.4. Erreurs dabsorption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.4.1. Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.4.2. Consquence pratique . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.5. Erreurs de cancellation . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
5.5.1. Prsentation sur un exemple . . . . . . . . . . . . . . . . . . . . . 156
5.5.2. Exemple trait avec Matlab . . . . . . . . . . . . . . . . . . . . . . 157
5.5.3. Remarque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.6. Erreurs dues aux choix des formules algbriques . . . . . . . . . . . . . 161
5.6.1. Exemple 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5.6.2. Exemple 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
5.7. Erreurs dues aux perturbations des donnes . . . . . . . . . . . . . . . . 163
5.7.1. Un systme dquations linaires . . . . . . . . . . . . . . . . . . 163
5.7.2. Un calcul de dterminant . . . . . . . . . . . . . . . . . . . . . . . 164
5.8. Estimation probabiliste de lerreur . . . . . . . . . . . . . . . . . . . . . 166
Table des matires 9

5.9. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167


5.9.1. Erreur doprations . . . . . . . . . . . . . . . . . . . . . . . . . . 167
5.9.2. Erreurs dabsorption et de cancellation . . . . . . . . . . . . . . . 167
5.9.3. Non associativit de laddition machine . . . . . . . . . . . . . . 167
5.9.4. Choix de formules de calcul . . . . . . . . . . . . . . . . . . . . . 168
5.9.5. Choix ditrations de calculs . . . . . . . . . . . . . . . . . . . . . 168
5.9.6. Sujet dtude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
5.10.Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

Chapitre 6. Approximation de racines dquations . . . . . . . . . . . . . . 183


6.1. Mthode de la dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . 184
6.1.1. Hypothses sur la fonction  . . . . . . . . . . . . . . . . . . . . . 184
6.1.2. Algorithme de la mthode . . . . . . . . . . . . . . . . . . . . . . 184
6.1.3. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
6.1.4. En conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
6.2. Mthode des approximations successives (ou du point xe) . . . . . . . 186
6.2.1. Hypothses sur la fonction  . . . . . . . . . . . . . . . . . . . . . 187
6.2.2. Thorme du point xe . . . . . . . . . . . . . . . . . . . . . . . . 187
6.2.3. Algorithme et estimation derreur . . . . . . . . . . . . . . . . . . 187
6.2.4. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6.2.5. Vitesse de convergence . . . . . . . . . . . . . . . . . . . . . . . . 191
6.3. Mthode de Newton (ou de la tangente) . . . . . . . . . . . . . . . . . . 192
6.3.1. Hypothses et algorithme de Newton . . . . . . . . . . . . . . . . 192
6.3.2. Vitesse de convergence . . . . . . . . . . . . . . . . . . . . . . . . 194
6.3.3. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.3.4. Choix de linitialisation  . . . . . . . . . . . . . . . . . . . . . . 196
6.4. Plan pour la recherche dune racine . . . . . . . . . . . . . . . . . . . . 200
6.4.1. Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.5.1. Mthode de dichotomie, de Newton et du point xe . . . . . . . 207
6.5.2. Mthode de Newton pour une fonction afne . . . . . . . . . . . 207
6.5.3. Valeur approche de . . . . . . . . . . . . . . . . . . . . . . . 207
6.5.4. Programmation de la mthode du point xe . . . . . . . . . . . . 208
6.5.5. Programmation de la mthode de Newton . . . . . . . . . . . . . 208
6.6. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

Chapitre 7. Interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . 217


7.1. Le polynme dinterpolation dune fonction . . . . . . . . . . . . . . . 217
7.1.1. Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
7.1.2. Thorme dexistence et dunicit de  . . . . . . . . . . . . . . 218
7.1.3. Polynme de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 219
7.1.4. Algorithme dAitken . . . . . . . . . . . . . . . . . . . . . . . . . 221
7.1.5. Gestion derreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
10 Mathmatiques avec Matlab

7.2. Approche polynomiale de la drivation . . . . . . . . . . . . . . . . . . 225


7.2.1. Approche classique . . . . . . . . . . . . . . . . . . . . . . . . . . 225
7.2.2. Approche polynomiale . . . . . . . . . . . . . . . . . . . . . . . . 226
7.2.3. Gestion derreur mathmatique . . . . . . . . . . . . . . . . . . . . 227
7.2.4. Etude complte derreur . . . . . . . . . . . . . . . . . . . . . . . . 227
7.3. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
7.3.1. Calcul dun polynme dinterpolation . . . . . . . . . . . . . . . 232
7.3.2. Polynme de Lagrange et programmation . . . . . . . . . . . . . 232
7.3.3. Effet de Runge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
7.3.4. Mthode dAitken et programmation . . . . . . . . . . . . . . . . 234
7.3.5. Complexit de calcul de polynme dinterpolation . . . . . . . . 234
7.3.6. Formule barycentrique de Lagrange . . . . . . . . . . . . . . . . . 235
7.3.7. Complexit de calcul par la mthode dAitken . . . . . . . . . . . 236
7.4. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Chapitre 8. Intgration numrique . . . . . . . . . . . . . . . . . . . . . . . . 249


8.1. Description de la mthode . . . . . . . . . . . . . . . . . . . . . . . . . 249
8.2. Mthode des rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
8.2.1. Formules simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
8.2.2. Formules composites . . . . . . . . . . . . . . . . . . . . . . . . . 251
8.3. Mthode des trapzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
8.3.1. Formule simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
8.3.2. Formule composite . . . . . . . . . . . . . . . . . . . . . . . . . . 252
8.4. Mthode de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
8.4.1. Formule simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
8.4.2. Formule composite . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.5. Gestion derreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.5.1. Erreur dans la mthode des trapzes . . . . . . . . . . . . . . . . . 254
8.5.2. Erreur dans la mthode de Simpson . . . . . . . . . . . . . . . . . 255
8.6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
8.6.1. Utilisations des mthodes des trapzes et de Simpson . . . . . . . 256
8.6.2. Programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
8.6.3. Calculs approchs dintgrales et gestion derreur . . . . . . . . . 257
8.7. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Avant-propos

Le but de cette collection "Applications Mathmatiques avec Matlab" est de com-


prendre et dutiliser les outils mathmatiques fondamentaux de premier cycle laide
dun logiciel de calcul. Elle correspond lesprit des formations en IUT, BTS, Ecoles
dingnieurs, mais aussi en premiers semestres du cycle L du nouveau schma LMD.

Nous nous sommes bass sur lexprience de nos cours, travaux dirigs et sances
de travaux pratiques de mathmatiques avec des tudiants de 1re et 2me anne du
dpartement dInformatique dIUT de lUniversit du Havre. Pour cet enseignement,
nous disposons du logiciel Matlab 1(la version actuellement installe est 6.5.0) et de
son extension Symbolic Math Toolbox (version 2.1.3).

Ces outils nous ont permis daccompagner les notions de base prsentes, par des
illustrations numriques et graphiques, et par des vrications utilisant le calcul for-
mel.

Lutilisation dun logiciel de calcul permet de se concentrer davantage sur la com-


prhension du problme pos, sur une stratgie de rsolution et sur linterprtation des
rsultats. Ltudiant devra aussi porter un regard critique sur les rponses fournies, en
prenant garde aux erreurs darrondi dans les calculs numriques, et aux simplications
abusives dans certaines expressions symboliques.

Ce second tome comprend deux parties.

En premire partie, on prsente les notions de base et les principaux thormes


de lanalyse (suites, fonctions numriques dune variable relle, intgration), le plus
souvent sans dmonstrations, pour les utiliser principalement dans des applications et
calculs concrets.

. Matlab est une marque dpose de The MathWorks Inc. Tous les autres produits cits sont
des marques dposes de leur socit respective.

11
12 Mathmatiques avec Matlab

La deuxime partie est consacre larithmtique des ordinateurs, quelques ou-


tils de base en analyse numrique et la gestion derreurs. Le but tant dinitier les
tudiants rsoudre numriquement quelques problmes.

Chaque partie est compose de chapitres. Ils sont accompagns dillustrations et


dexemples traits avec Matlab. Des exercices sont ensuite proposs. Certains sont
originaux, dautres sont repris ou inspirs de divers manuels dont la liste est donne
en bibliographie. La correction de ces exercices se trouve en n de chapitre. Nous
avons choisi de la prsenter en utilisant systmatiquement Matlab. Le lecteur pourra
cependant traiter la plupart de ces exercices " la main".

Lorsquune commande Matlab est utilise pour la premire fois, elle est explique
et apparat en gras. Les programmes et squences de calcul sous Matlab sont mis en
vidence dans des tableaux. Le lecteur pourra trouver une initiation la pratique de ce
logiciel dans les premiers chapitres du tome 1.

En n douvrage, se trouve un index regroupant les mots-cls mathmatiques et


les commandes Matlab utilises. Ces dernires apparaissent en italique.

Nous tenons remercier vivement tous nos collgues qui ont consacr un temps
prcieux la lecture de cet ouvrage, notamment Serge Derible, Thierry Dumont, Kha-
led Sadallah et Francis Wirth.

Nous remercions particulirement Franois Coquet, Professeur lUniversit du


Havre, pour sa lecture attentive, ses remarques et conseils judicieux .

Nous accueillerons avec reconnaissance les ventuelles remarques que le lecteur


voudra bien nous faire parvenir.
Note au lecteur

Ce recueil de rappels de cours et dexercices corrigs fait partie dun ensemble


comportant trois tomes.

Tome 1

premire partie : prsentation de Matlab,


deuxime partie : algbre linaire,
troisime partie : gomtrie.

Tome 2

premire partie : analyse,


deuxime partie : analyse numrique lmentaire.

Tome 3

thorie lmentaire du signal.

13
14
P REMIRE PARTIE

Analyse

15
16
Chapitre 1

Suites relles

Dans ce chapitre, on rappelle lessentiel concernant les suites relles et on termine


par une tude complte dune suite rcurrente avec Matlab.

1.1. Gnralits sur les suites

1.1.1. Dnitions

On appelle suite numrique une application dnie par

   
  
 est le terme gnral de la suite et est souvent not  . Par abus de langage, la
suite  qui est dtermine par ses valeurs    , se note

  

Une suite peut tre dnie partir dun certain rang  x. On notera

  
Une suite   est majore sil existe une constante telle que

   

elle est minore sil existe une constante telle que

   

17
18 Mathmatiques avec Matlab

Elle est borne sil existe une constante  telle que

     
Il est facile de vrier quune suite est borne si, et seulement si, elle est majore et
minore.

1.1.2. Exemple

Considrons la suite dnie pour  , par





 



Sachant que pour tout 


on a


  

et que pour 
 

 


on dduit que, pour tout 

  


On peut avec Matlab observer numriquement et graphiquement cette majoration,


pour les 19 premiers termes de la suite.

for n=2 :20,


u(n)=sin(n)/(n+(-1)^n);
end
u(2 :20)
ans =
0.3031 0.0706 -0.1514 -0.2397 -0.0399 0.1095 0.1099
0.0515 -0.0495 -0.1000 -0.0413 0.0350 0.0660 0.0464
-0.0169 -0.0601 -0.0395 0.0083 0.0435

plot(2 :20,u(2 :20),x)


grid on ; axis([0 21 -1 1]) ;
Suites relles 19

0.8

0.6

0.4

0.2

0.2

0.4

0.6

0.8

1
0 2 4 6 8 10 12 14 16 18 20

1.2. Limite dune suite

1.2.1. Approche intuitive

Lorsque  devient de plus en plus grand (  


, il existe quatre possibilits
pour les termes dune suite numrique donne   :
1)  sapproche dun nombre , on notera :
    ou   

2)  devient aussi grand quon veut, on crira


   

3)  devient aussi petit quon veut, on crira


   

4)  na aucun des comportements ci-dessus. Cest par exemple le cas de la suite


   

qui prend alternativement les valeurs
et 
.

1.2.2. Cas de limite nie

1.2.2.1. Dnitions
La description mathmatique de la premire possibilit doit traduire le fait qu
partir dun rang  , les termes successifs de la suite

 
 

20 Mathmatiques avec Matlab

sont aussi proches quon veut de . On crira alors :

tant donn un nombre  


(aussi petit que lon veut)
il existe un rang  tel que pour tout   , on a :
      

On dira que la suite est convergente et converge vers . On notera

   

On montre, grce cette dnition, quune telle limite, si elle existe, est unique.

Dans les autres cas on dira que la suite est divergente.

1.2.2.2. Suites de rfrence

Les suites dnies pour  , de la forme

  

o  est un rel positif, sont appeles suites de rfrence. Elles vrient :

   

Il est souvent commode de les utiliser pour montrer quune suite   converge
vers une limite nie . Lorsque la suite   vrie : il existe une constante 
et un entier   tels que pour tout   on ait

     

alors    .

1.2.2.3. Exemple

Examinons lexemple de la suite dnie pour  par :



  

On a, sous Matlab,
Suites relles 21

for n=1 :60,


u(n)=(2*n+1)/(n+2);
end
u(50 :60)
ans =
Columns 1 through 7
1.9423 1.9434 1.9444 1.9455 1.9464 1.9474 1.9483
Columns 8 through 11
1.9492 1.9500 1.9508 1.9516
plot(u,x)

1.9

1.8

1.7

1.6

1.5

1.4

1.3

1.2

1.1

1
0 10 20 30 40 50 60

Cela laisse prsager que la suite converge vers . Pour montrer ce rsultat , on peut
utiliser la suite de rfrence
 


(ou toute autre suite de la forme  


 
 ) et montrer quil existe une
constante positive telle que, partir dun certain rang 
on ait

    

  

Or




 


Il suft de prendre  et   
22 Mathmatiques avec Matlab

1.2.3. Cas de limite innie

La deuxime possibilit scrit mathmatiquement sous la forme :

tant donn un nombre  


(aussi grand que lon veut)
il existe un rang  tel que pour tout   , on a :
 

On crit
   
De manire similaire, la troisime possibilit snonce par

tant donn un nombre   


(aussi petit que lon veut)
il existe un rang  tel que pour tout   , on a :
  
On crit
   
1.3. Proprits des limites de suites

1.3.1. Cas de limites nies

On se donne deux suites   et   convergentes respectivement vers


des limites nies  et  .

Alors on a :
    

   (pour tout nombre  )


   

  
(si 
 ),
On a aussi le rsultat suivant :

Si la suite   est borne et si   , alors    


Sa dmonstration utilise lencadrement dit des gendarmes :

il existe  tel que pour tout   , on a

   

dautre part, pour  petit donn strictement positif, en notant



 


Suites relles 23

il existe  tel que pour   , on a


    

do lencadrement
      

ou bien
     

pour  
ce qui montre que    .

1.3.2. Cas de limites innies

Les rsultats prcdents stendent aux cas de limites innies :


si   
 et     alors      

si   
 et    ,    alors      

si     et     alors      

si     et    ,    alors      

si   
 et     alors      

si   
 et     alors      

si     et     alors      

si   
 et    ,    alors


     
(si   et  (si   
Par contre, toute recherche de limite qui se prsente sous lune des formes sui-
vantes est une indtermination :
  
 






Lindtermination est lever en appronfondissant les calculs sur lexpression don-
ne.

1.3.3. Calculs de limites avec Matlab

On utilise la commande limit pour obtenir directement la limite dune suite   


Par exemple, si
 


 
 

 

   

 
on a
syms n ; Un=(2*n+1)/(n+6);
limit(Un,n,inf)
ans = 2
24 Mathmatiques avec Matlab

Vn=(2*abs(n^2-20)+1)/(abs(n-10)+7);
limit(Vn,n,inf)
ans = inf

Matlab permet aussi de retrouver les calculs sur les limites innies :

inf+inf
ans=Inf
inf*inf
ans=Inf
inf*(-inf)
ans=-Inf
0*inf
ans=NaN
la dernire rponse exprime lindtermination : Not a Number.

1.4. Suites monotones

Une suite relle   est dite croissante si

     

elle est dcroissante si


       
La suite est strictement croissante si

     

strictement dcroissante si

      

Dans chacun de ces cas on parlera de suite monotone (resp. strictement monotone).

Ces notions restent valables si elles sont vraies partir dun rang donn  .
Le rsultat essentiel pour les suites monotones est :

Thorme.
Toute suite relle croissante et majore est convergente.
Toute suite relle dcroissante et minore est convergente.
Suites relles 25

1.5. Suites rcurrentes

1.5.1. Dnition

On donne une fonction    


 et on dnit la suite   par la relation de
rcurrence : 
 
     
pour  

o  est rel donn.

De telles suites sont dites rcurrentes. Elles sont bien dnies lorsque pour tout
 
les termes  appartiennent au domaine de dnition de  .

Le calcul de la limite  de telles suites rcurrentes, lorsquelles convergent, se fait


par passage la limite dans la relation de rcurrence :
1) on peut vrier que si    , alors     , (en utilisant la dni-
tion),
2) lorsque la fonction  est continue, on a :             ,
3) on en dduit lquation
   

Si elle admet une solution, ou plusieurs, une tude de la suite (monotonie, minoration
ou majoration,...) permet de prciser la limite ventuelle.

1.5.2. Etude complte dun exemple modle

On donne la suite dnie pour   


par

 

  
 .

En ritrant on voit que le terme gnral scrit




 

  



1.5.2.1. Calcul des premiers termes de la suite

La suite est videmment minore par



26 Mathmatiques avec Matlab

On calcule, sous Matlab, les dix premiers termes de cette suite, quon range dans
un tableau  :
u(1)=1 ;
for n=1 :9,u(n+1)=sqrt(1+u(n));end
u(1 :5)
1.0000 1.4142 1.5538 1.5981 1.6118
u(6 :10)
1.6161 1.6174 1.6179 1.6180 1.6180
Cela suggre que la suite est majore par . Montrons-le par rcurrence. On a

 
 

Dautre part, la rsolution de linquation


 
donne
maple(solve(sqrt(1+Un)-2=0))
ans=RealRange(-1,3)
Do limplication
  

      
Ainsi, lhypothse de rcurrence   et le fait que  est minor par
, donnent
   .

1.5.2.2. Calcul de la limite ventuelle



La fonction dnie par   
 tant continue sur 
 , la limite , si
elle existe, vrie ncessairement lquation    . On la calcule sous Matlab :

syms x
l= solve(x=sqrt(1+x))
l =1/2+1/2*5^(1/2)
Si la suite   converge, alors sa limite est gale au nombre (dit dor)



  

On va maintenant prouver la convergence, en montrant que la suite   est crois-


sante et majore. On sait dj que la suite est majore par 2. Mais dans ltude de la
monotonie, on aura besoin de la majoration

  
Etablissons cette proprit :
Suites relles 27

1.5.2.3. Majoration de la suite par


On raisonne par rcurrence. Il est clair que la suite est positive et que

  
On tudie le signe de   :
maple(solve(sqrt(1+Un)-1/2-sqrt(5)/2=0))
ans = RealRange(-1,1/2+1/2*5^(1/2))

Ainsi, si on suppose     , alors      , do


  
  

1.5.2.4. Sens de variation


Pour tudier le signe de     , on tudie celui de lexpression
         

Pour cela, montrons que

             

o


   

On a :

syms Un
UnPlus1 = sqrt(1+Un) ;
P = expand((UnPlus1-Un)*(UnPlus1+Un))
P = 1+Un-Un^2
% On cherche les racines de P pour factoriser :
S = solve(P)
S = [ 1/2+1/2*5^(1/2)]
[ 1/2-1/2*5^(1/2)]
Q=(Un-S(1))*(Un-S(2)); expand(Q)
ans = -1-Un+Un^2

On en dduit que pour tout 


,

   
      

   
28 Mathmatiques avec Matlab

car
  
et
  

puisque   et   .
La suite tant croissante et majore, elle est donc convergente et sa limite est bien
.

1.6. Exercices

1.6.1. Limite dune suite et majorations

On se propose de calculer la limite de la suite dnie par


 

  


en utilisant la dnition.
1) Peut-on se servir de la lecture du graphe de la suite pour en donner lventuelle
limite ?
2) En calculant

 




rsoudre mathmatiquement linquation



 



 

3) Conclure.
4) Retrouver par   tous les rsultats de la question 2.

(solution p. 29)

1.6.2. Etude dune suite rcurrente (1)

La direction dun journal constate pour chaque anne un taux de rabonnement


voisin de , ainsi que lapparition de  nouveaux abonns.

On note  le nombre dabonns lanne numrote . Lanne numro


, le
nombre dabonns est   
.
Suites relles 29

1) Donner la relation de rcurrence entre   et  


2) Calculer les 20 premiers termes de cette suite et les reprsenter graphiquement.
3) Vers quelle limite  cette suite semble-t-elle converger ?

4) On considre la suite dnie par      Utiliser le calcul symbolique de
Matlab pour montrer que   est une suite gomtrique
5) En dduire lexpression de 
puis celle de  
6) Conrmer le rsultat exprimental de la question 3.

(solution p. 31)

1.6.3. Etude dune suite rcurrente (2)

On dnit la suite    par la relation de rcurrence




 

  
  
pour  


1) Calculer  pour  



 et en donner une reprsentation graphique.
2) Quelle est lventuelle limite  de cette suite ?
3) Montrer avec Matlab que la suite est majore par 
4) En dduire quelle est croissante.
5) Vrier que         
6) En dduire que        


7) Trouver un rang  tel que :       


 

(solution p. 33)

1.7. Solutions

Exercice 1.6.1
1) On reprsente graphiquement les nombres 
pour   


clf
n=26 :1 :100 ;
u=sqrt(n)./(sqrt(n)-5);
plot(n,u,x)
grid on
30 Mathmatiques avec Matlab

60

50

40

30

20

10

0
20 30 40 50 60 70 80 90 100

Le dessin laisse penser que la suite est dcroissante, minore, mais nindique pas
clairement la limite. Le calcul des termes  

 laisse prsager que la
limite est
:
n=[100 1000 10000] ;
u= sqrt(n)./(sqrt(n)-5)
u = 2.0000 1.1878 1.0526

2) On a, pour  






  
Et linquation








est quivalente


   

soit
  
   

ou encore
   

do



et nalement 

3) Pour 

on peut majorer    

par
 
qui est une suite de rf-
rence (voir 1.2.2.3). Cette majoration montre que la suite   converge vers 1.
Suites relles 31

4) On utilise le calcul symbolique de Matlab pour calculer  



puis pour
rsoudre linquation


  

 


syms n
un=sqrt(n)/(sqrt(n)-5);
simplify(abs(un-1))
ans = 5/abs(n^(1/2)-5)
maple(solve(5/abs(n^(1/2)-5)=10/n^(1/2)))
ans = RealRange(100,inf),RealRange(Open(0),100/9)


Lensemble solution de cette inquation 

 

 montre que lingalit



 
  

est vrie pour 




En utilisant la commande limit de Matlab, on obtient directement la limite de la


suite   :
limit(un,n,inf)
ans = 1

Exercice 1.6.2
1) On a la formule de rcurrence

    

2) On calcule les 20 premiers termes de cette suite et on les reprsente graphique-


ment
a(1)=10000 ;
for n=1 :20,
a(n+1)=0.6*a(n)+5000;
end
plot(a, x)
title(Suite An+1 = 0.6*An + 5000)
grid on
a(1 :5) % 5 premiers termes
ans = 10000 11000 11600 11960 12176
a(16 :20) % 5 derniers
ans = 12499 12499 12500 12500 12500
32 Mathmatiques avec Matlab

x 10
4 Suite An+1 = 0.6*An + 5000
1.25

1.2

1.15

1.1

1.05

1
0 5 10 15 20 25

3) Cette suite semble converger vers la valeur  12500.


4) On dnit en fonction de  les expressions de  ,   ,   :
syms An
AnPlus1 = 0.6*An+5000 ;
Un= 12500-An ;
UnPlus1= 12500-AnPlus1
UnPlus1 = 7500-3/5*An
simplify(UnPlus1/Un)
ans = 3/5
De la dernire galit, on dduit que la suite   est une suite gomtrique de raison


5) A partir du premier terme   
  , on dduit lexpression gnrale





   
,

puis
 
  

U1 = subs(Un,An,10000)
U1 =2500
syms n ; Un = U1*(3/5)^(n-1) ;
An = 12500-Un
An =12500-2500*(3/5)^(n-1)
On a, pour tout 
,
 
  
  

Suites relles 33

6) Comme     
on dduit que

  
  

Exercice 1.6.3
1) On place dans le tableau  les 20 premiers termes de la suite, et on utilise plot
pour reprsenter graphiquement cette suite.

clear
u(1)=1 ;
for n=1 :19, u(n+1)= 1/5*u(n)+1 ;end
u
u=
Columns 1 through 7
1.0000 1.2000 1.2400 1.2480 1.2496 1.2499 1.2500
Columns 8 through 14
1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500
Columns 15 through 20
1.2500 1.2500 1.2500 1.2500 1.2500 1.2500
plot(u,x)
hold on ; axis([0 20 0.8 1.3])

1.3

1.25

1.2

1.15

1.1

1.05

0.95

0.9

0.85

0.8
0 2 4 6 8 10 12 14 16 18 20

Au vu de ce dessin, il semble que la suite soit croissante, majore, convergente vers

 Les questions suivantes vont prouver que ces observations sont fondes.
2) On sait que, pour une suite   vriant la relation de rcurrence

     

34 Mathmatiques avec Matlab

avec  continue sur , sa limite , si elle existe, vrie ncessairement lquation


   

soit ici
  


do
  
Si la suite converge, sa limite est ncessairement 
3) On utilise la relation de rcurrence

   


et on rsout linquation, dinconnue 




 
 
syms Un
maple(solve(1/5*Un+1=5/4))
ans =RealRange(-inf,5/4)

Ainsi, si   
alors     Comme par hypothse   
la majoration
demande est dmontre par rcurrence.
4) On rsout linquation     
UnPlus1=1/5*Un+1 ;
UnPlus1-Un
ans =-4/5*Un+1
maple(solve(-4/5*Un+1 =0))
ans =RealRange(-inf,5/4)

Daprs la question prcdente, on a, pour tout 

  
do    
5) On compare      
avec   
   :
l=5/4 ;
d=UnPlus1-l
d =1/5*Un-1/4
p=1/5*(Un-l)
p =1/5*Un-1/4

cela montre lgalit demande.


Suites relles 35

6) On en dduit par rcurrence

  

   

 
  

7) Si on utilise lexpression ci-dessus pour rsoudre linquation

   
  

on obtient
maple(solve(5/4*(1/5)^n=10^(-7)))
ans =

ce qui signie que lensemble solution na pu tre obtenu par Maple.


On transforme linquation





 

  

en linquation quivalente


 
  

puis en
 

 

On obtient alors
maple(solve(5^n =5/4*10^7))
ans = RealRange(log(12500000)/log(5),inf)
double(log(12500000)/log(5))
ans=10.1534

Ainsi, pour 

   
  
36
Chapitre 2

Fonctions numriques dune variable relle

Ce chapitre est consacr ltude des fonctions dune variable relle dnies sur
un intervalle  de  ni ou inni.

2.1. Rappels gnraux sur les fonctions

2.1.1. Majoration dune fonction et extrema

Comme pour les suites, on dira que :


1)  est majore sur  sil existe une constante telle que

      
2) Elle est minore sil existe une constante telle que

     

On dira quelle est borne sil existe une constante  telle que

      
On peut vrier quune fonction est borne si, et seulement si, elle est majore et
minore.

On rappelle aussi quen un point   


la fonction admet un minimum si
      

37
38 Mathmatiques avec Matlab

et quen un point   
elle a un maximum si
       
en chacun de ces points, on dira quil y a un extremum.

2.1.2. Exemple

Soit  la fonction dnie sur lintervalle   


 par 

   


On a
     

et
     
On remarque que
  , donc  admet un maximum au point

  

Mais il nexiste pas de point  tel que    

Graphiquement, on a :

syms x real ; f=1/(1+x^2) ;


ezplot(f,0,10) ; grid on
axis([0 10 -0.5 1.5])
1/(1+x^2)
1.5

0.5

0.5
0 1 2 3 4 5 6 7 8 9 10
x
Fonctions numriques dune variable relle 39

2.1.3. Priodicit, parit et imparit dune fonction

Une fonction dnie sur  est dite priodique de priode  si on a

         

Pour de telles fonctions, il sufra de les tudier sur un intervalle de longueur  .

Lorsquune fonction  est dnie sur un intervalle centr    


 (avec

ventuellement   
on dira quelle est paire si

       
Si  est paire, alors son graphe admet une symtrie par rapport laxe des ordonnes
et donc il sufra de ltudier sur 
.

De mme, une fonction  dnie sur   


 (avec ventuellement   
est dite impaire si
      

son graphe admet alors une symtrie par rapport lorigine du repre. Il sufra dtu-
dier la fonction sur 
.

2.1.4. Exemple

La fonction cosinus, dnie sur    est paire et priodique, de priode  Sous


Matlab :

syms x real
f=cos(x) ;
simplify(cos(-x))
ans = cos(x)
simplify(cos(x+2*pi))
ans = cos(x)

Pour la reprsentation graphique, on utilise la fonction dessineRepere permettant de


faire apparatre les axes du repre en traits mixtes.
40 Mathmatiques avec Matlab

function dessineRepere
hold on
V=axis ;
% V contient les abscisses et ordonnes minimum et maximum
Xmin=V(1) ;Xmax=V(2) ;Ymin=V(3) ;Ymax=V(4) ;
plot([Xmin Xmax],[0 0],-.,LineWidth,1.5)
% LineWidth permet de choisir la largeur du trait (1 par dfaut)
plot(Xmax,0, ,LineWidth,1.5) %dessine la che horizontale
plot([0 0],[Ymin Ymax],-.,LineWidth,1.5)
plot(0,Ymax,^,LineWidth,1.5)

On utilise la commande dessineRepere la suite de ezplot, pour complter le trac


ezplot(f,-2*pi,2*pi); grid on
dessineRepere

cos(x)

0.5

0.5

6 4 2 0 2 4 6
x

2.1.5. Fonctions monotones

Une fonction      est dite croissante sur  , si pour tous  


 de  on a
        

De mme  est dcroissante sur  , si pour tous  


 de  on a
        

Fonctions numriques dune variable relle 41

Dans ces deux cas,  est dite monotone.


1) Lorsque lingalit est stricte pour les valeurs de  , on dit que  est strictement
monotone (strictement croissante ou strictement dcroissante).

2.1.6. Fonctions injectives, surjectives, bijectives

Soit     o  et  sont deux sous-ensembles quelconques de  On


rappelle que :
1)  est injective de  dans  si deux lments quelconques et diffrents de 
admettent deux images diffrentes :


    
   
On crira, par contrapose, que

            
2)  est surjective de  dans  si tout lment de lensemble darrive  est
limage dau moins un lment de . On crira

  
       

3)  est bijective de  dans  si elle est injective et surjective. Dans ce cas,


chaque lment  de  correspond une et une seule image  de  et rciproquement,
pour tout lment  de  , il existe un et un seul lment  de  tel que     .
4) Lorsquune fonction

   
     

est bijective, on dnit la fonction dite rciproque (ou inverse) de  par

   
    

caractrise par

  
         
On la note
   
et on vrie que 
  
      
  
     
42 Mathmatiques avec Matlab

2.2. Limite dune fonction

2.2.1. Dnitions

2.2.1.1. Limite nie en un point


Soit  un point de  et  
 un intervalle ouvert contenant   On se donne
une fonction  dnie en tout point de 
sauf peut-tre en   On dit que   tend
vers une limite nie  pour   si et seulement si pour tout  
il existe  
tel que
  
   
  
  

On crira
    

De mme, on dira que
   


si et seulement si pour tout  
il existe   tel que

         

Dune manire similaire,


   


si et seulement si, pour tout  
il existe   tel que

          

2.2.1.2. Limite nie en 



Lorsque la fonction  est dnie sur un intervalle 

on dit que

    


si pour tout  
il existe   tel que

         

2.2.1.3. Autres cas


Dune manire similaire, on dnit les autres cas de limites.
Fonctions numriques dune variable relle 43

2.2.1.4. Exemple

Soit  dnie sur 

 par

  
 

On cherche la limite de   en  Le tableau de valeurs :


X=[10 100 1000 10000] ;
Y=(2.*X+3)./(X-1)
Y=
2.5556 2.0505 2.0050 2.0005

laisse prsager que


    

Montrons-le. Fixons  . Lingalit



 



est quivalente


 

ou encore


 

qui est vrie ds que



  


Sous Matlab, on obtient la limite par

syms x real ;
limit((2*x+3)/(x-1),x,inf)
ans = 2

2.2.1.5. Limite gauche, limite droite


On dira que  admet  pour limite gauche en  si pout tout  
il existe  
tel que
     
     
On notera
    

44 Mathmatiques avec Matlab

On dnit de mme la limite droite de  

 admet  pour limite en  si et seulement si  admet  pour limite gauche et


droite de  .

Par exemple, pour la fonction  dnie par



 si   


  
 si   

on a
syms x real ;
limit(exp(x),x,1,left)
ans = exp(1)
limit(x^2,x,1,right)
ans = 1

Do
   


et
   



2.2.2. Rsultat fondamental

Les rgles sur les limites de fonctions sont similaires celles sur les suites num-
riques.

Un rsultat important sur les limites de fonctions (en lien avec les suites) est le
suivant :
Thorme.
Une fonction  admet une limite  pour  
 si et seulement si, pour
toute suite   convergente vers  , la suite    converge vers 

Dans la pratique, on se servira de ce thorme pour montrer que certaines fonctions


oscillantes (de type trigonomtriques par exemple), nadmettent pas de limite nie en
certains points particuliers (ou en  ventuellement).

2.2.3. Exemple

Considrons la fonction      


 et examinons sa limite (ven-
tuelle) pour   .
Fonctions numriques dune variable relle 45

On trace le graphe de cette fonction sur le "petit" intervalle 



syms x real
fDeX=sin(1/x) ;
ezplot(fDeX,[0.01,0.05])
dessineRepere

sin(1/x)

0.5

0.5

0.01 0.015 0.02 0.025 0.03 0.035 0.04 0.045 0.05


x

Cette courbe montre une allure oscillante au voisinage de zro. On construit une suite
particulire   tendant vers zro telle que la suite    nadmette pas de
limite.

syms n real
Xn=1/(n*pi+pi/2) ;
limit(Xn,n,inf)
ans=0
fDeXn=subs(fDeX,x,Xn)
fDeXn=cos(n*pi)


Ainsi        
 nadmet pas de limite.
46 Mathmatiques avec Matlab

2.3. Continuit

2.3.1. Dnitions

2.3.1.1. Cas dun intervalle ouvert de 


Soit  une fonction dnie sur un intervalle ouvert  de  et    un point
donn. La fonction  est dite continue au point  si et seulement si

      


Cela traduit le fait que lorsque la variable  est proche de  , la valeur   est proche
de    Autrement dit, pour tout  
il existe   tel que :

              
En posant    !
on a la dnition quivalente

   !    


On dnit aussi la continuit gauche en  (resp. droite en  ). Par exemple,


 est continue gauche en  si pour tout  
il existe   tel que

               
On notera
      


 est continue en  si et seulement si elle est continue gauche et droite de  .

La fonction  est continue sur tout lintervalle  lorsquelle est continue en tout
point de  

2.3.1.2. Cas dun intervalle ferm 



Soit  une fonction dnie sur un intervalle ferm 
 (avec    On peut

dnir comme ci-dessus la continuit en 
pour  
, ainsi que la continuit
droite en 
et la continuit gauche en .

La fonction  est continue sur lintervalle ferm 


 si

 est continue sur lintervalle ouvert 


 est continue droite en 


 est continue gauche en .
Fonctions numriques dune variable relle 47

2.3.2. Exemple

On donne la fonction

    
 



   


si  
     

 si   




Etudions sous Matlab sa continuit en


.

On calcule les limites gauche et droite, au point 1, de  

syms x
f1Moins =(3-x^2)/2 ;
f1Plus=1/x ;
limit(f1Moins,x,1,left)
ans = 1
limit(f1Plus,x,1,right)
ans = 1

Les deux limites tant gales  


, la fonction est continue en
.

2.3.3. Rsultats gnraux sur la continuit

On donne deux fonctions 


     continues en  et un rel quelconque .
Alors on a les rsultats :
  et    sont continues en 

 et  sont continues en 

 est continue en 
(si    est non nul).
Lorsque on a
   ",  " 
o " est un autre intervalle de  et si  est continue en  et  est continue en   

alors la compose   dnie sur  par

     

est continue en  

Les fonctions usuelles :


48 Mathmatiques avec Matlab

1) polynomiales,
2) trigonomtriques directes et inverses,
3) logarithme, exponentielle,...

sont continues sur leur domaine de dnition.

On retiendra le thorme suivant :

Thorme des valeurs intermdiaires.


Pour toute fonction  relle continue sur 

limage par  de cet intervalle est
lintervalle 
 o est le minimum de  et est le maximum de  sur 


Autrement dit, pour toute valeur intermdiaire  comprise entre et il existe au


moins une valeur  dans 
 telle que     .

Thorme des valeurs intermdiaires

a x b

2.4. Drivation

2.4.1. Dnitions

La notion de drive (comme le mot lindique bien) est lie la courbure du


graphe reprsentatif dune fonction. Cette notion sert aussi dans de nombreuses appli-
cations telles que la cinmatique, les systmes dynamiques, etc...
Fonctions numriques dune variable relle 49

Une fonction      ( intervalle ouvert) est drivable en un point    si


le rapport
     


dni sur    
admet une limite nie lorsque    

Noter que ce rapport est exactement le coefcient directeur de la droite #  joignant


les points  et  de coordonnes 
  et 
  .

La limite (lorsquelle existe) est note



   ou  



et est appele la drive de  en  

De mme ici, on peut dnir une drive gauche et une drive droite au point
 : par exemple la drive gauche est, quand elle existe,

    
     
   
Si  est drivable en  alors

          

Si la fonction est drivable en chaque point  de  , on dnit la fonction drive

   
   
Une fonction  dnie sur un intervalle 
 (avec   
est dite drivable sur
lintervalle ferm 
 si

 est drivable sur lintervalle ouvert 


 est drivable droite en 


 est drivable gauche en .

2.4.2. Exemple

La fonction       est drivable en tout    :


en effet


              
 
    
   

    
50 Mathmatiques avec Matlab

Ce calcul de limite seffectue avec Matlab par :

syms x x0 real
fDeX=x^2 ;
fDeX0=x0^2 ;
fPrimeDeX0=limit((fDeX- fDeX0)/(x-x0),x,x0)
fPrimeDeX0 = 2*x0

Grce la commande diff, on obtient directement la fonction drive :

fPrimeDeX=diff(fDeX,x)
fPrimeDeX=2*x
fPrimeDeX0=subs(fPrimeDeX,x,x0)
fPrimeDeX0 = 2*x0

2.4.3. Interprtation gomtrique

Comme nous lavons dit prcdemment, si    existe, la droite # admet donc


une droite limite #  qui est tangente la courbe reprsentative de  au point .
Cette tangente a pour quation cartsienne

          
En notant
     
 
      

on remarque que pour tout  


               

avec
   pour    
En posant    !, on a

  !       ! ! !

o  !   !.

Cette dernire galit donne une premire approximation afne de  au voisi-


nage de  ds que    existe et montre aussi quune fonction drivable en  est
ncessairement continue en ce point.
Fonctions numriques dune variable relle 51

2.4.4. Proprits gnrales

Soient 
     deux fonctions drivables sur  et   
   Alors on a

    

   


      

      
(si 
 ),
     


     
(drive logarithmique de   , si  ),
Lorsquon a
   ",  " 
o " est un autre intervalle de , alors, si  est drivable sur  et  est drivable sur
" , on a

        
Si  est drivable et est une bijection de  dans " , alors    est drivable en tout


et on a
point o    





   

       

avec     .

2.4.5. Drives successives

Soit      drivable sur  . Si la fonction  est drivable, on dira que  est


deux fois drivable et on note

     

En ritrant, on dnit de mme la drive lordre  de  note    par



   
   



On peut montrer par rcurrence la formule dite de Leibnitz :




  
 
     


52 Mathmatiques avec Matlab

vraie pour deux fonctions  et  ,  fois drivables. On rappelle que

 

  $$ 
On dira quune fonction  est de classe  ($ 
 sur  si 


  existent et
sont continues sur   Une fonction de classe est une fonction continue sur  

Sous Matlab, le calcul de la drive %  seffectue en utilisant diff . Par exemple,


pour


    

  
syms x real ;
fDeX=(x^3+2*x-5)*exp(x);
fOrdre4DeX=diff(fDeX,x,4);
factor(fOrdre4DeX)
ans=exp(x)*(x+1)*(x^2+11*x+27)

on obtient



  
 


  

2.4.6. Consquences de la drivation

Les premires proprits de la drivation sont :

Si 
dnie sur  

est drivable en    et admet
un extremum en  alors     

Si  est continue sur 


 avec      et est drivable
sur 
 alors il existe un point & de 
 tel que  &  

Ce dernier rsultat est connu sous le nom du thorme de Rolle et exprime le fait quil
y a au moins un point o la courbe reprsentative de  admet une tangente horizontale
(cest--dire parallle laxe des abcisses).

Si  est continue sur 


 et est drivable sur 
 alors il existe

un point & de 
 tel que        & 
Cest le thorme des accroissements nis (T.A.F). Il exprime le fait quil existe
au moins une tangente la courbe de  parallle la scante joignant les points de
Fonctions numriques dune variable relle 53

coordonnes 
  et 
 . (Voir gure ci-dessous).
Illustration du T.A.F

1.6

1.5

1.4

1.3

1.2

1.1

a c b
1
1 0.5 0 0.5
x

En crivant    ! et sachant quun point de lintervalle ouvert 


 scrit
sous forme
&   '      '!

o ' 

, on obtient la formulation courante

  !     !  '!

qui exprime bien lide daccroissements nis. De ce thorme on dduit aussi (sous
les mmes hypothses) :

 est croissante sur  si      

 est dcroissante sur  si       

 est constante sur  si       


2.4.7. Etude dune fonction avec Matlab

On se propose dtudier les variations de la fonction  dnie sur  par

  
  

et de tracer sa courbe reprsentative.


Cette fonction est de classe  sur .
54 Mathmatiques avec Matlab

On dclare lexpression symbolique correspondant la fonction, on calcule la


drive et on la factorise :
syms x real
f=1+x*exp(-x) ;
fprime=diff(f)
=exp(-x)-x*exp(-x)
factor(fprime)
=-exp(-x)*(-1+x)

Ce rsultat est sufsant pour donner le signe de  


mais on peut aussi rsoudre
lquation
   

ou linquation
  
solve(fprime)
ans=1
maple(solve(-exp(-x)*(-1+x) 0))
ans = realRange(-inf,open(1))

Ainsi, la drive est positive sur 



 On calcule alors, symboliquement et nu-
 
mriquement,  
, puis les limites de  en et 

fDe1=subs(f,x,sym(1))
fDe1=1+exp(-1)
double(fDe1)
ans=1.3679
limit(f,x,-inf,right)
ans=-inf
limit(f,x,inf,left)
ans=1

Do le tableau de variations
 

   
   

 


On construit le graphe sur un intervalle contenant

par exemple 

 :

ezplot(f,-1,5)
grid on
axis auto % ajuste le cadre
dessineRepere
Fonctions numriques dune variable relle 55

1+x*exp(x)
1.5

0.5

0.5

1.5

2
1 0 1 2 3 4 5
x

2.4.8. Retour lexemple modle

Etudions la drivabilit et la continuit de la fonction drive en


de la fonction :

     


  si     


     

 sinon.


La fonction  est indniment drivable sur   


. On dclare les deux expressions
de 
syms x real
f1Moins =(3-x^2)/2 ;
f1Plus=1/x ;

On calcule les limites gauche et droite suivantes :


  
 ,
 

  


 

 
 

56 Mathmatiques avec Matlab

taux1Moins = (f1Moins - 1)/(x-1)


taux1Moins = (1/2-1/2*x^2)/(x-1)
factor(taux1Moins)
ans = -1/2*x-1/2
taux1Plus = (f1Plus - 1)/(x-1)
taux1Plus = (1/x-1)/(x-1)
factor(taux1Plus)
ans = -1/x
limit(taux1Moins,x,1,left)
ans = -1
limit(taux1Plus,x,1,right)
ans = -1

Ces deux limites tant gales, la fonction est drivable en


et  
  

Pour la continuit de la fonction drive en 1, on calcule

   et   
 

f1MoinsPrime = diff(f1Moins)
f1MoinsPrime = -x
f1PlusPrime = diff(f1Plus)
f1PlusPrime = -1/x^2
limit(f1MoinsPrime,x,1,left)
ans = -1
limit(f1PlusPrime,x,1,right)
ans = -1

Donc  est de classe  (continment drivable) et

   
    



si  
      
si  


 sinon.

Pour le graphe de cette fonction dnie par morceaux, on cre un chier appel 

dans lequel est dnie la fonction 

function y = f1(x)
if(x1) y = (3-x.^2)./2 ;
else y =1./x ;
end
Fonctions numriques dune variable relle 57

puis on utilise fplot pour le trac de la courbe :

fplot(f1,[-3 3])
grid on ; hold on
plot(1,f1(1),o) % pour marquer le point dabscisse 1
dessineRepere

1.5

0.5

0.5

1.5

2.5

3
3 2 1 0 1 2 3

Observons que le raccord au point


se fait dune manire lisse, au sens que la
fonction en ce point admet une drive et cette dernire y est continue.

2.5. Fonctions trigonomtriques inverses

2.5.1. Rappel

Dans cette section on utilisera en particulier le rsultat suivant :

Thorme.
Si  est une fonction continue strictement croissante sur 

alors  est une bijection de 
 dans  
  Il en est de
mme si  est strictement dcroissante de 
 dans  
 
De plus sa fonction rciproque     est de mme nature (cest--dire strictement
dcroissante ou strictement croissante selon le sens de variations de  ).
58 Mathmatiques avec Matlab

Supposons que  est continue strictement croissante et notons

  
 
     


la courbe reprsentative de  dans le plan rapport un repre orthonorm. Alors celle


de   scrit :




  
     
 
  
    


et est clairement obtenue partir de   par symtrie par rapport la premire


bissectrice dquation   

Comme applications, on va dnir les trois fonctions circulaires inverses suivantes.

2.5.2. Fonction arcsin

On part de la fonction sinus, restreinte lintervalle   


 

    
   



  

qui est continue et strictement croissante et donc elle admet une fonction rciproque
 note arc


arc  


  
 
  arc

avec la caractrisation

  
  
 

si et seulement si
arc    
  



Cette fonction est note sous matlab asin.

On reprsente sur une mme gure les graphes des fonctions arc et sin, ainsi
que la droite dquation
  
Fonctions numriques dune variable relle 59

clf
fplot(asin,[-1,1])
hold on
fplot(sin,[-pi/2,pi/2],)
ezplot(x,[-pi/2,pi/2])
axis equal ; axis auto
Pour placer une lgende, associe aux tracs successifs :
legend (arcsin(x),sin(x),4)
grid on ; dessineRepere

Fonctions sinus et arcsinus


1.5

0.5

0.5

arcsin(x)
sin(x)
1.5
1.5 1 0.5 0 0.5 1 1.5
x

Par lecture inverse des valeurs du sinus on a par exemple





arc   



 arc 
   

arc     




 arc     


arc 
   
En appliquant la rgle de drivation dune fonction inverse (voir 2.4.4), la drive de

arc en    


 est

arc     
 
 


60 Mathmatiques avec Matlab

2.5.3. Fonction arccos

On part cette fois de la restriction de la fonction cosinus lintervalle 


 

  
  



  

qui est continue et strictement dcroissante et donc on dnit son inverse par

arc   


  

  arc 

La drive en      


 sobtient par


arc    
 

    
  
Cette fonction est note sous matlab acos.

On obtient les graphes de ces deux fonctions de la mme faon que prcdemment :

Fonctions cosinus et arccosinus

3
arccos(x)
cos(x)
2.5

1.5

0.5

0.5

1
1 0 1 2 3
x

2.5.4. Fonction arctan

La restriction de la fonction tangente lintervalle   


 

    
   
  

Fonctions numriques dune variable relle 61

est continue et strictement croissante donc elle admet une fonction rciproque note

arc      
 
  arc

qui est de mme nature et, si   

arc       

 

Cette fonction est note sous matlab atan.

Graphiquement, on a
Fonctions tangente et arctangente
6

arctan(x)
tan(x)

6
6 4 2 0 2 4 6
x

2.5.5. Exemple modle

On donne la fonction suivante :


    

     




On note, pour  


!  


62 Mathmatiques avec Matlab

1) Vrier que pour tout  , on a

 

 

! 


En dduire le domaine de dnition # de  .


2) Montrer que, sur
# 

 



 est drivable
et vrier avec Matlab la relation

   !   !


pour tout  # 
3) Etudier la drivabilit de  en  et

4) Etudier les variations de la fonction  et tracer son graphe dans un repre or-
thonormal.
5) On donne la fonction

    
     

Etudier ses variations et tracer son graphe sur la mme gure que 
6) En comparant   et  
sur 

, puis sur 


montrer que
si   



 
  
   si  

.
Solution
1) On dnit avec Matlab

 

 

 

et on vrie que   ! :

syms x positive
dDeX=1-(1-sqrt(x))^2/(1+x);
simplify(dDeX)
ans = 2*x^(1/2)/(1+x)

On dduit de cette galit que, pour     , on a


! 

Fonctions numriques dune variable relle 63

De plus

!  


 
Ainsi, pour tout    , ! 

 et !  est dni.
Le domaine de dnition de  est #    .
2) On sait que     est drivable sur  



  !  est donc drivable si   ! lest, et si de plus
!  





La fonction ! est drivable sur ]
, et ! 
si


  
 



soit  

La fonction  est donc drivable sur

#


 

 
Pour   #
on calcule avec Matlab   et

   !   !  !   



 !
hDeX=2*sqrt(x)/(1+x);
fDeX=asin(hDeX) ;
hPrimeDeX=diff(hDeX)
hPrimeDeX = 1/x^(1/2)/(1+x)-2*x^(1/2)/(1+x)^2
d1DeX=simplify(hPrimeDeX*1/sqrt(1-hDeX^2))
d1DeX = -1/x^(1/2)/(x+1)*signum(x-1)
fPrimeDeX=simplify(diff(fDeX))
fPrimeDeX = -1/x^(1/2)/(x+1)*signum(x-1)

On a bien vri lgalit

   !   !

3) Pour tudier la drivabilit droite en 


on calcule avec Matlab


    
 
64 Mathmatiques avec Matlab

fDe0=simplify(subs(fDeX,x,sym(0)))
fDe0 = 0
limit((fDeX-fDe0)/x,x,0,right)
ans = inf

Comme
    

     

 nest pas drivable droite en , mais sa courbe reprsentative admet au point dabs-
cisse  une demi-tangente verticale.
On tudie de mme la drivabilit en
:

fDe1=simplify(subs(fDeX,x,sym(1)))
fDe1 = 1/2*pi
limit((fDeX-fDe1)/(x-1),x,1,right)
ans = -1/2
limit((fDeX-fDe1)/(x-1),x,1,left)
ans = 1/2

Ainsi

    
  
et 
   
 

 


 
 admet en
une drive droite et une drive gauche, qui sont distinctes.
4) On a montr la question
quen tenant compte du signe de  
, on avait





 


si  


   






si  

 
 


Le signe de   sen dduit immdiatement.


Pour complter le tableau de variations, on calcule la limite de  en :
limit(fDeX,x,inf)
ans = 0

Do
 

    
      
Fonctions numriques dune variable relle 65

On construit la courbe reprsentative de 

hold on
set(gca,LineStyle,- -)
ezplot(fDeX,0,5)
grid on
axis ([0 5 0 2.5])
dessineRepere

La commande set(gca,LineStyle,- -) permet dobtenir lorsquon utilise ensuite ez-


plot un trac en pointills. Cela permettra de diffrencier les graphes de  et 

asin(2*x^(1/2)/(1+x))
2.5

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x

5) La fonction g est dnie, continue sur  


drivable sur 
 On calcule 
sa drive

gDeX=2*atan(sqrt(x)) ;
gPrimeDeX=diff(gDeX)
gPrimeDeX = 1/x^(1/2)/(1+x)

Ainsi

  

 

66 Mathmatiques avec Matlab


et  est strictement croissante sur 
 On calcule les limites aux bornes   et
  

gDe0 =simplify(subs(gDeX,x,sym(0)))
gDe0 =0
limit(gDeX,x,inf)
ans = pi

Do le tableau de variations
  
  
   
On trace la courbe reprsentative de  en traits pleins :

set(gca,LineStyle,-)
ezplot(gDeX,0,5)
axis ([0 5 0 2.5])
dessineRepere

2*atan(x^(1/2))
2.5

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x

6) Sur lintervalle 

, lexpression donne par   de   se simplie
par :
fPrime0_1=subs(fPrimeDeX,signum(x-1),-1)
fPrime0_1= 1/x^(1/2)/(1+x)
fPrime0_1-gPrimeDeX
ans = 0
Fonctions numriques dune variable relle 67

Sur cet intervalle, on a       


do
      ( .
Pour dterminer cette constante, on calcule par exemple
 
   
 
fDe1Tiers=simplify(subs(fDeX,x,sym(1/3)))
fDe1Tiers =1/3*pi
gDe1Tiers=simplify(subs(fDeX,x,sym(1/3)))
gDe1Tiers =1/3*pi
fDe1Tiers-gDe1Tiers
ans = 0

Donc, pour tout  


on a     
On a aussi vri que       
et on a
 
   
   


Sur lintervalle 


on simplie  
puis on calcule    
fPrime1_inf=subs(fPrimeDeX,signum(x-1),1)
fPrime1_inf = -1/x^(1/2)/(1+x)
fPrime1_inf+gPrimeDeX
ans =0

do
     ( .
On value cette constante comme prcdemment :
fDe3=simplify(subs(fDeX,x,sym(3)))
fDe3 = 1/3*pi
gDe3=simplify(subs(gDeX,x,sym(3)))
gDe3 =2/3*pi
fDe3+gDe3
ans=pi

Do       si  


2.6. Comparaison de deux fonctions

2.6.1. Notion de voisinage

Soit  un point de  Une fonction  est dite dnie dans un voisinage de 

si elle est dnie en tout point dun intervalle ouvert  


 contenant  , sauf
peut-tre en  
68 Mathmatiques avec Matlab

Une fonction  est dnie au voisinage de (respectivement   si elle est 



dnie sur un intervalle de la forme 
 (respectivement 
 ). 

2.6.2. Notations dites de Landau

Soit  dnie au voisinage de  (pouvant tre ventuellement 


). Il arrive
frquemment quau voisinage du point  les valeurs de  soient du mme ordre de
grandeur que celles dune autre fonction  ayant une expression analytique plus simple
utiliser. Par exemple, les expressions



   et    

 

vrient
   

   
       

De mme, pour
    et    

on a
  
 

  
Il est alors prfrable de travailler sur la deuxime expression au voisinage du point
considr. Do les dnitions :

on dira que  est quivalente  au voisinage de  si


 
 
 On notera :         

   


on dira que  est un petit o de  au voisinage de  si


 
   On notera :    )     

   


on dira que  est un grand O de  au voisinage de  si


 
le rapport est born au voisinage de  
 
On notera :    *     

2.6.3. Exemples

On a
    

Fonctions numriques dune variable relle 69

et pour tout  

  )
  



 )    

Les dnitions ci-dessus sappliquent aux suites. Ainsi, pour  



  
  *
    

2.7. Formules de Taylor et dveloppements limits

Nous avons vu prcdemment que la drivation est essentielle dans ltude des
fonctions. On va voir que les dveloppements limits fournissent encore plus de pr-
cision dans lallure et le comportement dune fonction au voisinage dun point donn.
Une autre application concrte et importante de cette notion est le calcul approch de
la valeur dune fonction en un point, en particulier pour celles qui ne sont pas de type
polynomial.

2.7.1. Diverses formules de Taylor

Dans toute cette section, on se donne une fonction      indniment


drivable.

2.7.1.1. Formule de Taylor-Lagrange

On considre  sur un intervalle ni 


 et  . 

Alors il existe un point & 
 tel que :
        
    
   
 
     


     
  &
Cest la formule de Taylor-Lagrange lordre  pour  .
Pour   , la formule prcdente est celle du thorme des accroissements nis.
Lorsquon sait que la drive dordre 
 de  est majore par une constante
la
formule prcdente fournit une approximation polynomiale de   ! pour ! petit,
en fonction des drives successives de  en . En effet, en posant    !
on a 

  !    !   
 !     ! 
 


   
   !  &

 !    


70 Mathmatiques avec Matlab

2.7.1.2. Exemple
On se propose de :
1) afcher la valeur arctan




2) calculer les drives premire et deuxime de arctan

3) donner une majoration de (arctan)  sur lintervalle 


  





4) utiliser la formule de Taylor-Lagrange pour donner une approximation  de


 arctan



et une estimation de lerreur commise en remplaant  par 

Solution
1) On obtient avec Matlab

format long
atan(1.01)
ans=0.79037324672830

2) On calcule les drives successives de      :

syms x real
FdeX=atan(x) ;
Fdif1=diff(FdeX)
Fdif1=1/(1+x^2)
Fdif2=diff(Fdif1)
Fdif2=-2/(1+x^2)^2*x

3) De
  
 


 
on dduit, en majorant la valeur absolue du numrateur et en minorant le dnomina-
teur, la majoration de la drive seconde sur lintervalle 




M=2*1.01/(1+1)^2
M=0.50500000000000

4) On peut donc appliquer la formule de Taylor-Lagrange lordre  


et lin-
galit du paragraphe 2.7.1.1 pour avoir une majoration de lerreur lorsquon confond
la valeur de     arctan


 avec
      

 arctan
 



 

On a
    ! 


Fonctions numriques dune variable relle 71

Avec Matlab, on obtient


vBarre=atan(1)+1/2*0.01
vBarre=0.79039816339745
MajErreur=M*(1.01-1)^2/2
MajErreur=2.525000000000004e-005

2.7.1.3. Formule de Mac-Laurin


On se place dans le cas o lintervalle 
 est de la forme 

 tant une
variable positive relle quelconque. Alors la formule de Taylor-Lagrange lordre 
devient :
    



   
        
    &

  


o & 


2.7.1.4. Formule de Taylor-Young


Considrons maintenant le cas o  est une application dun intervalle  vers ,
et soit  et  deux points de  . Alors on montre quil existe une fonction  dnie au
voisinage de  telle que

 

 

       

avec
  pour   
Le terme     est appel reste dordre  pour   .
Noter qu loppos des autres formules donnes prcdemment, cette dernire
prcise le comportement du reste dordre  pour  tendant vers 

Dans le cas particulier o   


on obtient
 
     
 
$


               


 

On peut noter, en utilisant les notations de Landau

   )     
72 Mathmatiques avec Matlab

et


 
              ) 
 
On dira que


 
     
    

 
est le dveloppement limit (en abrg D.L.) dordre  de  au voisinage de 

Les D.L. sont trs utiles pour ltude locale des fonctions puisquils permettent :

une expression plus simple de  , (au voisinage du point),


une recherche facile de limites,
un trac plus prcis de la courbe (recherche dasymptotes,
position de la courbe par rapport celles-ci,...).

2.7.2. Exemples de calculs de D.L.

On va donner le D.L. lordre 2 et au voisinage de  de la fonction dnie par


 

On utilise la fonction taylor



 de Matlab qui donne le dveloppement de Taylor,
au point , mais lordre 
 
syms x real
taylor(sqrt(1+x)*sin(x),3,0)
ans=x+1/2*x^2

Le D.L. de
  lordre est donc

 

on crira aussi que



      
avec
  pour   
On afche le D.L. lordre 2 au voisinage de
de la fonction 

syms x real
taylor(exp(x),3,1)
ans=exp(1)+exp(1)*(x-1)+1/2*exp(1)*(x-1)^2
Fonctions numriques dune variable relle 73

Ainsi

   

 
  
 


avec

 
   pour  


2.7.3. Application des D.L.

2.7.3.1. Calcul de limites

Calculons


     
     

Cette limite se prsente sous la forme indtermine 


On cherche des dveloppements limits un ordre sufsant, pour lever lindter-


mination. Ici lordre 2 ne suft pas. En effet

syms x real
% Au numrateur :
U = taylor(exp(sin(x)),3,0)
% lordre est 3-1=2.
U= 1+x+1/2*x^2
V =taylor(exp(tan(x)),3,0)
V = 1+x+1/2*x^2
% Par diffrence :
U -V
ans = 0
% De mme, au dnominateur :
W= taylor(sin(x)-tan(x),3,0)
ans = 0
74 Mathmatiques avec Matlab

A lordre 3, on a
syms x real
% Au numrateur :
U = taylor(exp(sin(x)),4,0)
U= 1+x+1/2*x^2
V =taylor(exp(tan(x)),4,0)
V = 1+x+1/2*x^2+1/2*x^3
% Par diffrence :
U -V
ans = 1/2*x^3
% De mme, au dnominateur :
W= taylor(sin(x)-tan(x),4,0)
ans = -1/2*x^3

do


      

 
 
       
 
 
 

  
 
  





2.7.3.2. Recherche dasymptote oblique


Trouver lasymptote oblique la courbe reprsentative de la fonction dnie par

  
 

au voisinage de 
en effectuant le changement de variable

 ,


et en calculant le D.L. un ordre convenable. Donner lallure de cette courbe.


1) On vrie avec Matlab que

   



syms x real
f= sqrt(1+x+x^2) ;
limit(f,x,inf)
ans = inf
Fonctions numriques dune variable relle 75

2) On calcule le D.L. lordre 2 de


 

en effectuant le changement de variable


 ,


au point  .
g=f/x
g = 1+x+x^2)^(1/2)/x
syms t real
h = subs(g,x,1/t) ;
h1 = taylor(h,3,0)
h1 = 1+1/2*t+3/8*t^2

Ainsi, en remplaant par



on a, au voisinage de 


 




    

puis



    
  

Lasymptote oblique est donc la droite dquation


 

et la courbe reprsentative de  est au-dessus de cette asymptote au voisinage de 

car






   
     

au voisinage de 
3) On construit la courbe et son asymptote
ezplot(f,0,6)
hold on ;grid on
g=x+1/2
set(gca,LineStyle,)
ezplot(g,0,6)
axis auto ; axis equal
legend (y=f(x),y=x+1/2,4)
title( )
dessineRepere
76 Mathmatiques avec Matlab

1
y=f(x)
y=x+1/2
0
0 1 2 3 4 5 6 7
x

2.8. Exercices

2.8.1. Bijection rciproque

On donne la fonction dnie de  dans  


 par

  

 
Montrer quelle est bijective et donner sa fonction rciproque.

(solution p. 79)

2.8.2. Etude de fonction et construction de courbe

On considre la fonction  dnie sur 


 ( ) par

      .


1) Montrer que la fonction  est impaire.


Fonctions numriques dune variable relle 77

2) Etudier les variations de  sur [0, .


3) Prciser les tangentes la courbe reprsentative aux points dabscisses 0 et .
4) Construire la courbe reprsentative de  pour   
5) En dduire le trac de la courbe dquation
 
       

(solution p. 80)

2.8.3. Etude dune fonction priodique

Soit  la fonction dnie sur  par      +  o +  dsigne la partie
entire de  dnie de la manire suivante :

+  est le plus grand entier tel que

+   

Vrier que  est priodique de priode


et donner son graphe.

(solution p. 82)

2.8.4. Fonction trigonomtrique inverse

On considre la fonction  dnie par

    

1) Montrer que  est dnie sur .


2) Utiliser Matlab pour reprsenter graphiquement  sur  
  

3) Montrer que si  
 ,    
4) Montrer que  est paire et 2 -priodique et en dduire lexpression de  

pour  appartenant  
, puis

 $  
$  
$  
5) Vrier graphiquement

(solution p. 84)
78 Mathmatiques avec Matlab

2.8.5. D.L. et tude de limite (1)

On propose de calculer la limite pour  


de la fonction dnie par
          
   

 
 




On pose  
!
1) Donner les D.L. lordre
et au voisinage de !   des expressions
 
!
 
! 


!

2) En dduire la limite.

(solution p. 86)

2.8.6. D.L. et recherche dasymptote


1) Dterminer lasymptote oblique (pour  
) la courbe reprsentative de la
fonction donne par
 
   
 

On posera 
 et on effectuera un D.L. de lexponentielle lordre 2 au voisinage
de .
2) Prciser la position de la courbe par rapport cette asymptote au voisinage de


3) Tracer son graphe.

(solution p. 87)

2.8.7. D.L. et tude de limite (2)

Soit
  
   


1) Un D.L. lordre 4 au voisinage de  suft-il pour calculer la limite de cette
expression pour  
?
2) Calculer cette limite. Donner lallure de cette fonction au voisinage de 

(solution p. 88)
Fonctions numriques dune variable relle 79

2.9. Solutions

Exercice 2.8.1

Pour montrer que la fonction est injective on part de


 
   

     
 
qui implique ncessairement que   et  sont de mme signe. On a donc, pour   et
 positifs :

# 




 


syms x1 x2 x y real
FdeX1=x1/(1+x1) ;FdeX2=x2/(1+x2) ;
D=FdeX1-FdeX2 ;
simplify(D)
ans=-(-x1+x2)/(1+x1)/(1+x2)

la rponse implique que      On fait de mme pour les variables ngatives.

Pour montrer que  est surjective et trouver lexpression de lapplication rci-


proque, on doit rsoudre lquation (en la variable  )

  

  

pour  quelconque dans 


 Le mme raisonnement que prcdemmment montre
que si la donne  est positive alors  lest aussi. On considre donc deux cas :

% Cas y positif
solve(x/(1+x)=y)
ans=-y/(-1+y)
% Cas y ngatif
solve(x/(1-x)=y)
ans=y/(1+y)

On dduit que  est surjective, et la fonction rciproque de  est lapplication

  


  
   


  

80 Mathmatiques avec Matlab

Exercice 2.8.2
1) On dnit  et on vrie limparit avec Matlab .

syms x real ; syms a positive


fDeX = x/a * sqrt(a^2-x^2) ;
% Imparit
fDeMoinsX = subs(fDeX, x,-x)
fDeMoinsX = -x/a*(a^2-x^2)^(1/2)
fDeMoinsX + fDeX
ans = 0

On a bien vri que      .


2) Pour tudier les variations de  , on tudie le signe de la drive sur lintervalle
, 
fPrimeDeX = diff(fDeX) ;
fPrimeDeX = factor(fPrimeDeX)
fPrimeDeX = -(-a^2+2*x^2)/a/(-(x-a)*(x+a))^(1/2)

La commande numden permet de sparer numrateur et dnominateur dans lexpres-


sion de  
[N,D] = numden(fPrimeDeX)
N = a^2-2*x^2
D = a*(a^2-x^2)^(1/2)
S =solve(N)
S = [ 1/2*2^(1/2)*a]
[ -1/2*2^(1/2)*a]

Ainsi sur [0 [,

 

  


   

       


sannule pour     et est positif pour

 

On calcule les extrema, en utilisant subs :


fDe0 = subs(fDeX,x,0)
fDe0 = 0
fDeA = subs(fDeX,x,a)
fDeA = 0
fMax = simplify(subs(fDeX,x, S(1)))
fMax = 1/2*a
Fonctions numriques dune variable relle 81

Do le tableau de variations


   
 
   
    
 
3)
fPrimeDe0 = simple(subs(fPrimeDeX,x,0))
fPrimeDe0 = 1
La tangente au point dabscisse  a pour coefcient directeur
  

Pour obtenir la tangente au point dabscisse 
on tudie la limite du taux daccroisse-
ment de  en  gauche :
limit((fDeX-fDeA)/(x-a),x,a,left)
ans = -inf

On a

    
 

   

et la courbe reprsentative de  admet une demi-tangente verticale au point (


).
4) La courbe reprsentative pour    sobtient par :
f4DeX =subs (fDeX, a,4)
ezplot(f4DeX,-4,4)
grid on ;dessineRepere
1/4*x*(16x^2)^(1/2)

1.5

0.5

0.5

1.5

4 3 2 1 0 1 2 3 4
x
82 Mathmatiques avec Matlab

5) On rsout lquation dinconnue 


 
       
syms y real
E = a^2*y^2 - x^2*(a^2-x^2) ;
Se = solve(E,y)
Se = [ x/a*(a^2-x^2)^(1/2)]
[ -x/a*(a^2-x^2)^(1/2)]

ce qui montre que

+       ou     
On peut donc complter le trac laide de la courbe reprsentative de  .
hold on
ezplot (-f4DeX, -4,4)
title(Courbe dquation a^2y^2=x^2(a^2-x^2))

Courbe dquation a^2y^2=x^2(a^2x^2)

1.5

0.5

0.5

1.5

4 3 2 1 0 1 2 3 4
x

Exercice 2.8.3

Sous Matlab, la fonction mathmatique   +  est dnie par oor(x), qui
ne permet pas deffectuer de calcul symbolique :
Fonctions numriques dune variable relle 83

oor(pi)
ans = 3
syms x real
gDeX=x-oor(x)
? ? ? Function oor not dened for values of class sym.

Pour prouver la priodicit, posons +    Ainsi

  +     

do




donc + 
  
 On a alors

 
  
  
      
do la priodicit de 

Pour le graphe, on effectue le trac sur les intervalles %


%


syms x n real
gDeX=x-n ;
clf
hold on
for i=-5 :5,
=subs(gDeX,n,i) ;
ezplot(,i,i+1) ;
end
axis [-6 6 -1 1] ;axis equal ; grid on
title(g(x)=x-E(x))
dessineRepere

g(x)=xE(x)
2

1
6 4 2 0 2 4 6
x
84 Mathmatiques avec Matlab

Exercice 2.8.4
1) Pour tout rel 
   



donc   est dnie.
2) On utilise ezplot pour reprsenter graphiquement  sur  
  :

syms x real
fDeX=acos(cos(x))
set(gca,LineStyle,- -)
ezplot(fDeX,-3*pi,3*pi)
hold on ;grid on
axis equal
T=axis ; % pour mmoriser Xmin, Xmax, Ymin, Ymax
dessineRepere

acos(cos(x))

8 6 4 2 0 2 4 6 8
x

3) Par dnition, la fonction  est la rciproque de la fonction 


restreinte

 . Donc on a , pour tout  
 
      


4) La fonction  tant paire et 2 priodique, on a :

         

et
            
Fonctions numriques dune variable relle 85

Matlab donne aussi ces rsultats

fDeMoinsX=simplify(subs(fDeX,x,-x))
fDeMoinsX = acos(cos(x))
fDeXplus2PI=simplify(subs(fDeX,x,x+2*pi))
fDeXplus2PI = acos(cos(x))

Pour  appartenant  
, on a
  


et
      
donc, pour  appartenant lintervalle  
,
    
Par priodicit, pour $  , et pour    $  
$  
on a

      $     $  
On remarquera que
$   $ 

implique

$      $

do


 
$ +

et, pour tout rel 




     +




5) On utilise cette dernire expression pour reprsenter graphiquement 

set(gca,LineStyle,-)
ezplot(abs(x-2*pi*oor((x+pi)./(2*pi))),[-3*pi 3*pi])
axis(T)
86 Mathmatiques avec Matlab

abs(x2*pi*floor((x+pi)./(2*pi)))

8 6 4 2 0 2 4 6 8
x

Exercice 2.8.5.
1) On calcule les trois expressions 

! (% 


) comme fonctions de ! 
syms x h real
f1=sqrt(2*x-x^4);f2=x^(1/3) ; f3=x^(3/4) ;
f=(f1-f2)/(1-f3)
f =((2*x-x^4)^1/2)-x^(1/3))/(1-x^(3/4))
g1=subs(f1,x,1+h);
g2=subs(f2,x,1+h);
g3=subs(f3,x,1+h);

On donne les D.L. lordre demand :


Tg1=taylor(g1,h,0,2)
Tg1 =1-h
Tg2=taylor(g2,h,0,2)
Tg2 =1+1/3*h
Tg3=taylor(g3,h,0,2)
Tg3 =1+3/4*h

2) On en dduit que pour ! 


, on a

 
! 
 

! 
!  ! !
 


! ! !


 !
  !

Fonctions numriques dune variable relle 87

do la limite cherche :
rapport=(Tg1-Tg2)/(1-Tg3)
rapport =16/9

On peut effectuer un calcul direct de limite avec Matlab :


limit(f,x,1)
ans =16/9

Exercice 2.8.6
1) Le changement de variable (permettant lanalyse au voisinage de zro) donne
syms x t real
f=(x+1)*exp(1/x);
g=subs(f,x,1/t)
g =(1/t+1)*exp(t)

do :
Texp=taylor(exp(t),3)
Texp =1+t+1/2*t^2
En dveloppant et en revenant la variable initiale, on a :
g1=expand((1/t+1)*Texp)
g1 =1/t+2+3/2*t+1/2*t^2
f1=expand(subs(1/t+2+3/2*t,t,1/x))
f1 =x+2+3/2/x

do lquation de la droite asymptote    


2) La courbe est au-dessus de cette droite car pour  :



     
 
 
 

 

Lorsque  tend vers ,      tend vers 


par valeurs positives.
3) On construit la courbe et son asymptote

ezplot(f,0.5,10)
hold on ;grid on
set(gca,LineStyle,)
ezplot(x+2,0,10)
axis equal ;axis ([-0.1 10 -0.1 12])
dessineRepere
title(La courbe et son asymptote)
88 Mathmatiques avec Matlab

La courbe et son asymptote


12

10

0
0 2 4 6 8 10
x

Exercice 2.8.7

La fonction est dnie sur   



 
 
A lordre 4, le D.L du numrateur ne permet pas de conclure (il donne une ind-
termination) :

syms x real
num = sin(tan(x))+sin(x)-2*x;
Tnum4=taylor(num,5)
Tnum4 = 0

A lordre 5 on a
Tnum5=taylor(num,6)
Tnum5 = -1/60*x^5

et donc la limite est 


. On reprsente graphiquement cette fonction :
ezplot(num/x^5,-2,2)
hold on ;grid on
plot([-2 2],[-1/60 -1/60],)
axis([-1.5 1.5 -0.7 0.1])
dessineRepere
Fonctions numriques dune variable relle 89

On obtient
(sin(tan(x))+sin(x)2*x)/x^5
0.1

0.1

0.2

0.3

0.4

0.5

0.6

1.5 1 0.5 0 0.5 1 1.5


x

Le graphe au voisinage de zro montre bien que la fonction est assez plate et se com-
porte comme
. 
90
Chapitre 3

Intgration

3.1. Intgrale de Riemann

3.1.1. Dnitions

3.1.1.1. Sommes de Darboux et intgrale de Riemann


On donne une fonction numrique  continue, monotone et positive sur un inter-
valle 
. On considre une subdivision de cet intervalle pas quidistants :


 !
 !

 %!

 !

o   
et
!    
On appelle sommes de Darboux les quantits :




 , 
   

  $!
 
 




  
  $ 
!
 (


 

On montre que pour une telle fonction  , les suites (   et ,   forment deux
suites adjacentes (lune croissante, lautre dcroissante) convergeant vers une mme
limite qui est gale laire  de la surface dlimite par la courbe reprsentative de 
(dans un repre orthonorm), laxe des  et les droites dquations

  
  

91
92 Mathmatiques avec Matlab

On a lingalit (dans le cas o  est croissante)

( , 


Graphiquement,     $! reprsente laire dun rectangle de largeur ! et
de hauteur   $!
et on dessine ci-dessous les surfaces correspondant la runion
de ces rectangles, daires respectives , et (
ainsi que la surface daire 
Somme de Darboux Sn

3.5

2.5

1.5

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2


x

Somme de Darboux sn

3.5

2.5

1.5

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2


x
Intgration 93

Aire A
4

3.5

2.5

1.5

0.5

0
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2

On posera par dnition

    ,   (  

 

et on dira que la fonction  est intgrable (au sens de Riemann) entre  et 

Il est important de remarquer ds maintenant que la variable lintrieur de


lintgrale peut tre note dune manire quelconque 

... variant entre  et 

3.1.1.2. Intgrale dune fonction continue


On admet quon peut aussi construire lintgrale dans le cas o  est seulement
continue sur 
 :

Thorme.
Toute fonction continue est intgrable sur 
.

3.1.1.3. Gnralisation
De mme, on peut aussi considrer le cas o  prsente un nombre ni de discon-
tinuits sur 

cest--dire quen un certain nombre de points





94 Mathmatiques avec Matlab

de 
, les limites gauche et droite
  

  

% 




 
existent et ne sont pas ncessairement gales. On dit alors que  est continue par
morceaux.

Le rsultat concernant le cas gnral des fonctions bornes dnies sur lintervalle

 est donn par le :
Thorme.
Toute fonction borne et monotone par morceaux est intgrable sur 
.

On verra que de nombreuses fonctions concrtes (comme certains signaux) sont


de cette nature. Ci-dessous, un exemple.
fonction continue par morceaux

1.8

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0 0.5 1 1.5 2 2.5 3


x

3.1.1.4. Dnition
Si    on pose par dnition
 

     


et si   


   

Intgration 95

3.1.2. Exemple

On peut, sur un exemple effectuer ce calcul de sommes de Darboux. Considrons


la fonction dnie par

   

sur lintervalle 

 

a=1 ; b=2 ;
syms x
f=x^2 ;
syms n k real
h=(b-a)/n ;
Sn=h*symsum(subs(f,x,a+k*h),k,1,n)
Sn = 1/n*(n+1/n*(n+1)^2-(n+1)/n+
1/3/n^2*(n+1)^3-1/2/n^2*(n+1)^2+1/6/n^2*(n+1))
sn=h*symsum(subs(f,x,a+(k-1)*h),k,1,n)
sn = 1/n*(n-3*(n+1)/n+13/6/n^2*(n+1)+
1/n*(n+1)^2-3/2/n^2*(n+1)^2+1/3/n^2*(n+1)^3+2/n-1/n^2)

(On a utilis la commande symsum(sk,k,1,n) qui permet le calcul symbolique de la


somme des  premiers termes de la suite (  ).

On reprsente graphiquement les deux suites ( et ,


pour   

 :

N=1 :1 :30 ;
sN=double(subs(sn,N)) ;
SN=double(subs(Sn,N)) ;
plot(sN,x)
hold on
plot(SN,+)
title(Suites Sn et sn)
legend(sn,Sn)
96 Mathmatiques avec Matlab

Suites Sn et sn
4

sn
Sn

3.5

2.5

1.5

1
0 5 10 15 20 25 30

On peut aussi calculer la limite de ces deux suites :

limit(sn,n,inf,left)
ans =7/3
limit(Sn,n,inf,left)
ans =7/3

On retrouve bien  
 
   


3.1.3. Proprits gnrales

Les proprits essentielles de cette intgrale sont :


1) relation de Chasles : pour tout & 
, 
  

      

 
2) linarit : pour tous rels 
-

  

 -      -  

  
Intgration 97

3) positivit (pour  ) :


      


4) majoration (pour  ) :
 

     

 
5) formule dite de la moyenne lorsque  est continue :


& 
        &


3.2. Primitive dune fonction

3.2.1. Cas dune fonction continue

Soit  une fonction continue sur 


. Posons, pour  



.   


On montre grce la formule de la moyenne ci-dessus que . est la primitive de 
qui sannule en . Autrement dit,
.       et .    
Si / est une primitive quelconque de  alors


   /  /



Cette diffrence se note usuellement
/  
Par exemple, on a




          

98 Mathmatiques avec Matlab

3.2.2. Cas dune fonction intgrable quelconque

Lorsque  est seulement intgrable , on montre que la fonction . est encore conti-
nue, mais non ncessairement drivable.

Exemple
Soit  la fonction dnie sur 
 par

   si  

 
    si  

  
La reprsentation graphique sobtient par :
clf
ezplot(x,0,1) ;
hold on
ezplot(2/x,1,3) ;
axis([-0.2 3.2 -0.2 2.2])
plot(0,0,o)
plot(1,1,o)
plot(3,2/3,o)
grid on
dessineRepere
title(Graphe de f)
Graphe de f

1.5

0.5

0 0.5 1 1.5 2 2.5 3


x

Calculons


.   
Intgration 99

Pour   
, on a
 
  

.     

Pour
  , la relation de Chasles donne
 

.          


On construit le graphe de F :
clf
ezplot(t^2/2,0,1) ;
hold on
ezplot(1/2+2*log(t),1,3);
axis([-0.2 3.2 -0.2 3])
title(Graphe de F)
grid on
dessineRepere
Graphe de F
3

2.5

1.5

0.5

0 0.5 1 1.5 2 2.5 3


t

. est continue en
car





. 
 
    

 
mais . nest pas drivable en
: on peut lobserver sur le graphique et le vrier en
calculant les limites gauche et droite du taux daccroissement :
.   . 
 


100 Mathmatiques avec Matlab

syms t real
F0=t^2/2 ;
F1=1/2+2*log(t) ;
Fde1=subs(F0,t,1)
Fde1 =1/2
limitG=limit((F0-Fde1)/(t-1),t,1,left)
limitG =1
limitD=limit((F1-Fde1)/(t-1),t,1,right)
limitD =2

Ainsi

.   . 

  .    . 
 
 
 


3.2.3. Notation

On conviendra par la suite que la notation (imprcise)




 

dsignera une primitive quelconque de  . On devra faire attention lusage de cette


notation en particulier par rapport la variable des primitives considres et linter-
valle de travail.

3.3. Calcul intgral

3.3.1. Calcul intgral avec Matlab

La commande int permet de calculer :


des intgrales dnies : on dtermine par exemple la valeur de


 







en utilisant les commandes :


syms x real
I= int(sqrt((1-x)/(2+x)),-1,1)
I = 3/4*pi-2^(1/2)+3/2*asin(1/3)
double(I)
ans = 1.4517
Intgration 101

do

 

   
  



des primitives : on obtient


.   



par
syms x real
FdeX=int(x*sqrt(1+x))
FdeX = -2/3*(1+x)^(3/2)+2/5*(1+x)^(5/2)

Ainsi
.    

  
  
On peut, dans lutilisation de int, prciser la variable dintgration :

syms t x
int((t*x+1)/(t^2+1),t)
ans = 1/2*x*log(t^2+1)+atan(t)
int((t*x+1)/(t^2+1),x)
ans = 1/(t^2+1)*(1/2*t*x^2+x)

ce qui montre que







   


alors que 






  
  

3.3.2. Changement de variable

3.3.2.1. Cas dune intgrale dnie


Soit  une fonction continue sur 
 Dans lintgrale

 


on peut effectuer un changement de variable :

  
0   

    

102 Mathmatiques avec Matlab

o 
0  
, et  est continment drivable sur 
0 . En effet, on peut
former les fonctions
  et . 
o . est une primitive de  dans 
. En drivant, on obtient

   

.

donc .  est une primitive de   

Si    et 0   
on a

 

        

 

3.3.2.2. Exemple
Calculer
 





en effectuant le changement de variable

      

La dmarche suivre est :


1) on dnit lintervalle 
0  : la valeur  , correspond     
, et
la valeur  
correspond   . De plus on a
 


 

2) on vrie que la fonction    est continument drivable,


3) on calcule 
ce qui revient en fait calculer    :


     

4) on peut alors calculer lintgrale :


 
 

  
  




  


  
   


Intgration 103

Sous Matlab on a :
par calcul direct de lintgrale :
syms x real
FdeX=exp(x)/(1+exp(x));
int(FdeX,1,2)
ans=log(1+exp(2))-log(1+exp(1))

par le changement de variable :


syms t real
GdeT=subs(FdeX,x,log(t))
exp(log(t))/(1+exp(log(t)))
B= int(GdeT*diff(log(t)),sym(exp(1)),sym(exp(2)))
B = log(1+exp(2))-log(1+exp(1))

3.3.2.3. Cas dune intgrale indnie


On a vu prcdemment que .  est une primitive de    Do :


      .    ( 

En particulier 

    .   ( 

3.3.3. Intgration par parties

En intgrant la drive dun produit


        
o  et  sont deux fonctions supposes continment drivables sur 
, on obtient
les formules dintgration par parties :
 

        

et
 
         



Lemploi de ces formules est utile lorsquon intgre un produit de fonctions telles
que
 
 
  
  

 1& 
etc,

o  est une fonction polynomiale.


104 Mathmatiques avec Matlab

3.3.3.1. Exemple
Donner une primitive de la fonction     !.

On pose
    

     !     !

do
 

 !   !   !

  !   ! ( 

Avec Matlab :
syms x
u = x;
vPrime = exp(x) ;
uPrime = diff(u)
uPrime = 1
v = int(vPrime)
v = exp(x)
I = u*v-int(uPrime*v)
I = x*exp(x)-exp(x)

On pouvait videmment obtenir ce rsultat directement par :


int(x*exp(x))
ans = x*exp(x)-exp(x)

3.4. Dcomposition en lments simples

Nous avons insr volontairement cette section (sur le calcul polynomial et les
fractions rationnelles) dans ce chapitre en vue de ses applications concernant le cal-
cul de primitives et dintgrales. Cette dcomposition utilise les nombres complexes,
rappels au chapitre 1 du volume 3.

3.4.1. Les fonctions polynmes

3.4.1.1. Dnitions
Une fonction polynme  de degr  est dnie sur une partie quelconque de 
ou  par

           

Intgration 105

o 
, %  



sont rels ou complexes, et   . On notera     .

La fonction polynomiale nulle, dnie par    


na pas de degr (certains
auteurs xent  son degr).

On dit que  est une racine dordre   de  si

    , 

 



o , est une fonction polynme telle que ,   

3.4.1.2. Thorme de dAlembert


Le rsultat fondamental sur les racines dune fonction polynme est le suivant (de
dAlembert) :

Thorme.
Une fonction polynme de degr  strictement positif admet
exactement  racines dans  (comptes avec leur multiplicit).

3.4.1.3. Division euclidienne


On peut effectuer la division euclidienne de deux fonctions polynmes  et
 ,
cette dernire tant suppose non nulle. On a le rsultat :

Thorme.
Il existe un couple unique 2
3 de fonctions polynmes telles que :
   2 3 avec  3    

3.4.1.4. Calculs avec Matlab


Sous Matlab, une fonction polynme peut tre dnie sous forme dexpression
symbolique, mais aussi sous forme dun tableau numrique form de ses coefcients.
Certaines oprations (en particulier la division euclidienne) ncessitent lutilisation
de ces tableaux numriques. La conversion dune forme lautre se fait laide des
fonctions poly2sym et sym2poly.

3.4.1.5. Exemple
On donne les polynmes

 
 
 

   
 


   
106 Mathmatiques avec Matlab

1) Calculons les racines de   et factorisons ce polynme.

syms x
A=x^6-12*x^4+5 ;
B=2*x^4-11*x^3+9*x^2+27*x-27;
solve(B)
ans = [1 -3/2 3 3]
factor(B)
ans = (x-1)*(2*x+3)*(x-3)^2

Ainsi les racines de ce polynme sont

  , cette dernire tant racine double.


2) Effectuons la division euclidienne de  par  : pour cela, on doit :


- convertir les polynmes  et  en tableaux numriques, contenant les coef-
cients du polynme dans lordre dcroissant des degrs :

A1 = sym2poly(A)
A1 = 1 0 -12 0 0 0 5
B1=sym2poly(B)
B1 = 2 -11 9 27 -27

- utiliser deconv, pour obtenir les quotient et reste sous forme de tableaux nu-
mriques 2
et 3
:

[Q1,R1]=deconv(A1,B1)
Q1 = 0.5000 2.7500 6.8750
R1 = 0 0 0 37.3750 -122.6250 -111.3750 190.6250

- convertir les rsultats en polynmes symboliques :

Q= poly2sym(Q1)
Q = 1/2*x^2+11/4*x+55/8
R = poly2sym(R1)
R = 299/8*x^3-981/8*x^2-891/8*x+1525/8

Les polynmes quotient et reste sont donc :

2  
  

 
3   
 
  

 
Intgration 107

3.4.2. Fractions rationnelles

3.4.2.1. Dnitions
Ici, on appelle fraction rationnelle toute fonction de la forme


.  

 

o  et   sont deux fonctions polynomiales et   nest pas la fonction po-
lynomiale nulle. On dira que cette fraction rationnelle est irrductible sil ny a pas
de racine commune aux deux polynmes  et  . Une racine dordre  du po-
lynme   est appele un ple dordre  de la fraction . .

Lorsque   

 , la division euclidienne permet dcrire :

 2 3
.  
 

3
 2

 

avec  3     Le polynme 2 est appel la partie entire de . .

Nous considrons par la suite des fractions rationnelles


.  

 

avec      

3.4.2.2. Dcomposition en lments simples


On appelle lment simple (de premire espce) tout lment de la forme

   

o 
 sont des rels ou complexes et $ un entier positif. De mme un lment simple
(de 2me espce) est un lment de la forme
 0

  


o 
0
 et  sont des rls, $ un entier positif et o     . Cette dernire
condition signie que lquation       na pas de racine relle.
108 Mathmatiques avec Matlab

Le rsultat essentiel de la dcomposition en lments simples dune fraction


.  

 

avec      
est le suivant :

Thorme.
Sur  , .  se dcompose dune manire unique
en somme nie dlments simples de 1re espce.
Sur  , .  se dcompose dune manire unique
en somme nie dlments simples de 1re et 2me espce.

Cette dcomposition sobtient partir dune factorisation du dnominateur   Les


exemples suivants illustrent les cas usuels.

3.4.3. Exemples

3.4.3.1. Cas de ples rels simples

La dcomposition en lments simples de la fraction rationnelle


.  
 
 

est de la forme
 0
.  
 
  


Dans ce cas simple, on peut obtenir les coefcients  et 0 de la manire suivante :



en multipliant par 
 les deux membres de lgalit ci-dessus, on a



0 


   

do, en faisant tendre  vers

on obtient    .

on fait de mme pour avoir 0   .


Intgration 109

Sous Matlab, on obtient une dcompsition en utilisant la fonction residue (qui


sapplique des polynmes donns sous forme de tableaux numriques) :
syms x
AdeX=2*x
BdeX=(x-1)*(x+2)
A1=sym2poly(AdeX)
A1=2 0
B1=sym2poly(BdeX)
B1= 1 1 -2
[R1, P1]=residue(A1,B1)
R1 = 1.3333
0.6667
P1 = -2
1
sym(R1)
ans= [4/3]
[ 2/3]

le rsultat signie que les valeurs contenues dans 3  ( et  ) sont les numrateurs
(appels aussi rsidus) des lments simples de premire espce correspondant aux
ples donns dans   (dans lordre 
et
). On a donc
  
  
   

 
 
3.4.3.2. Cas gnral
Considrons la fraction rationnelle

.  
 
 


    



Elle admet le ple simple rel
le ple triple rel
et deux ples doubles com-

plexes conjugus % et %
La dcomposition en lments simples de .  sur  est de la forme

   

.  
    
  
 
 


&   &  


 


On utilise le calcul symbolique et la mthode didentication pour obtenir ces coef-


cients :
110 Mathmatiques avec Matlab

on dnit . et sa forme dcompose note .   :

syms x
F=(x^4+2*x^3-x+11)/((x-2)*(x-1)^3*(x^2+1)^2);
syms a1 b1 b2 b3 c1 d1 c2 d2 real
FDecomp=a1/(x-2)+b1/(x-1)+b2/(x-1)^2+b3/(x-1)^3+...
(c1*x+d1)/(x^2+1)+(c2*x+d2)/(x^2+1)^2;

par rduction au mme dnominateur, on crit .   sous forme de quotient

4 
.  
# 

en utilisant la fonction numden de Matlab

[NDecomp, DDecomp]=numden(FDecomp)
NDecomp =
2*c2*x+c1*x^7-5*c1*x^6-a1+3*a1*x-7*a1*x^4-5*a1*x^2+7*a1*x^3
-3*a1*x^6+a1*x^7+5*a1*x^5-2*b1+2*b2+2*c1*x+b1*x^7+7*b1*x^5
+5*b2*x^2-3*b2*x^5-6*b2*x^3+4*b2*x^4+b2*x^6+11*b1*x^3
-10*b1*x^4+5*b1*x-8*b1*x^2+2*d2-4*b1*x^6+b3*x^5-3*b2*x
-7*c1*x^2-7*d1*x-4*b3*x^2+2*b3*x^3+b3*x-2*b3*x^4-2*b3
+11*d1*x^2-12*d1*x^3+10*d1*x^4-12*c1*x^4+11*c1*x^3
+10*c1*x^5-5*d2*x^3+9*d2*x^2+d2*x^4+9*c2*x^3+c2*x^5
-5*c2*x^4-7*d2*x-7*c2*x^2+d1*x^6-5*d1*x^5+2*d1
DDecomp =
(x-2)*(x-1)^3*(x^2+1)^2

en utilisant collect, on rduit et ordonne le numrateur 4   pour lidentier


celui de .  :

collect(NDecomp,x)
ans =
(c1+a1+b1)*x^7
+(-5*c1-3*a1+b2-4*b1+d1)*x^6
+(7*b1+10*c1+5*a1+c2+b3-3*b2-5*d1)*x^5
+(4*b2-2*b3-10*b1+d2+10*d1-12*c1-7*a1-5*c2)*x^4
+(-5*d2+2*b3+7*a1+11*c1+9*c2-6*b2+11*b1-12*d1)*x^3
+(-5*a1+11*d1+5*b2-4*b3-7*c2-8*b1-7*c1+9*d2)*x^2
+(-3*b2+5*b1+3*a1+2*c2+2*c1+b3-7*d2-7*d1)*x
+2*d1-2*b3-a1+2*b2+2*d2-2*b1
Intgration 111

cette identication conduit un systme linaire de huit quations huit incon-


nues :

[a1 b1 b2 b3 c1 d1 c2 d2] = solve(c1+a1+b1=0, ...


d1-4*b1+b2-5*c1-3*a1=0, ...
7*b1+c2-5*d1-3*b2+5*a1+b3+10*c1=0, ...
-2*b3-7*a1-10*b1+4*b2+10*d1-12*c1-5*c2+d2=1, ...
2*b3-5*d2+9*c2-6*b2+7*a1+11*c1+11*b1-12*d1=2, ...
9*d2-5*a1-7*c1-7*c2+11*d1-8*b1+5*b2-4*b3=0, ...
2*c2-7*d2+2*c1+3*a1+b3+5*b1-3*b2-7*d1=-1, ...
-2*b1-2*b3+2*d2+2*b2+2*d1-a1=11)

la solution est donne par


a1 = 41/25
b1 =-4
b2 =1
b3 =-13/4
c1 =59/25
d1 =21/20
c2 =-7/25
d2 =-33/20

La dcomposition de .  en lments simples est donc



  


.  
   

 
 
 







 
    

  



3.4.3.3. Remarques

Dans le cas de ples multiples, la fonction residue de Matlab peut conduire des
erreurs importantes dans le calcul numrique des coefcients  



Dans le cas de ples complexes, cette fonction residue donne la dcomposition


dans  et non dans .

La mthode didentication prsente ci-dessus est gnrale, mais les calculs, sils
sont effectus la main, peuvent tre fastidieux. Il existe des mthodes spciques
pour obtenir les lments simples de premire ou de deuxime espce. Nous ne les
prsenterons pas ici.
112 Mathmatiques avec Matlab

3.5. Intgration de fractions rationnelles

Le calcul de primitives de fonctions sous forme de fractions rationnnelles utilise la


dcomposition en lments simples.

Illustrons ce calcul sur quelques exemples.

Exemple 1

Pour chercher les primitives







 

on doit dcomposer en lments simples la fraction





 

La dcomposition (voir paragraphe 3.4.3.1) est de la forme :

   0
 

  
  
  
avec

  
  
0   
     

Do
syms x
AdeX=x ;
FdeX=(x+1)*(x+5) ;
alpha=limit((x+1)*AdeX/FdeX,x,-1)
alpha= -1/4
beta=limit((x+5)*AdeX/FdeX,x,-5)
beta = 5/4

ainsi









  
  
et 


 
   
 
     &( 
Intgration 113

Exemple 2

Pour chercher les primitives de la fonction



.  
 



on dcompose cette fraction en lments simples sous la forme


   

 
 
  
 
 

On procde par identication (voir paragraphe 3.4.3.2) : on rduit au mme dnomi-


nateur lexpression
  

. 
 
 
 

et on crit son numrateur 4  sous forme de polynme rduit et ordonn


syms x
syms a1 a2 b1 real
FDecomp=a1/(x-1)+a2/(x-1)^2+b1/(x+1);
[Num,Den]=numden(FDecomp)
Num = a1*x^2-a1+a2*x+a2+b1*x^2-2*b1*x+b1
Den =(x-1)^2*(x+1)
Num=collect(Num)
Num = (a1+b1)*x^2+(-2*b1+a2)*x-a1+b1+a2

Par identication de 4  et du numrateur  de F(x), on obtient un systme de


trois quations aux trois inconnues  

 
[a1 a2 b1]=solve(a1+b1=0,-2*b1+a2=1,-a1+b1+a2=0)
a1 = 1/4
a2 =1/2
b1 =-1/4

do la dcomposition






   
 
  



Les primitives cherches sont donc


 

 


 


  
  
 
 &(
 
 

114 Mathmatiques avec Matlab

On obtenait directement avec Matlab :

A=x ; B=(x-1)^2*(x+1) ;
int(A/B)
ans = -1/2/(x-1)+1/4*log(x-1)-1/4*log(x+1)

3.6. Exercices

3.6.1. Calculs de primitives usuelles

Donner sous Matlab les primitives des fonctions usuelles suivantes dnies par :


1)  ,  

2) 

3) 

4) 



5)

 

(solution p. 116)

3.6.2. Linarisations dexpressions trigonomtriques


1) Utiliser linstruction simple de Matlab (option combine(trig)) pour exprimer
  en fonction de   et  (on dira quon a linaris   )
2) En dduire


 

3) Utiliser la mme mthode pour calculer




 

(solution p. 116)
Intgration 115

3.6.3. Changement de variable (1)

On donne lintgrale



 
  

Vrier que la fonction    
   


 dnie par
      

est un changement de variable (voir 3.3.2) et utiliser ce changement de variable pour


calculer  .

(solution p. 117)

3.6.4. Changement de variable (2)

Soient

  
 
 
    
"    
   

1) Que donne Matlab pour ces deux intgrales ?


2) Montrer grce au changement de variable     que   "
3) Calculer  " En dduire  et "

(solution p. 118)

3.6.5. Dcomposition en lments simples


1) Factoriser sur  le polynme    


2) Donner la dcomposition en lments simples de la fraction rationnelle




3) En dduire la valeur de lintgrale







4) Vrier ce rsultat par un calcul direct de cette intgrale sous Matlab.

(solution p. 119)
116 Mathmatiques avec Matlab

3.7. Solutions

Exercice 3.6.1

Il suft dutiliser la commande int.

On prendra garde certaines rponses donnes par Matlab, qui font abstraction
des domaines de dnitions des fonctions considres.

Voici certaines rponses aux primitives demandes

syms x a real
int(x^a,x)
ans=x^(a+1)/(a+1)
int(log(x))
ans=x*log(x)-x
int(tan(x))
ans=-log(cos(x))

la dernire rponse est correcte si on crit

  

Exercice 3.6.2
1) En crivant
syms x real
simple(sin(x)^4)

on obtient plusieurs rponses, parmi lesquelles

combine(trig) :
3/8+1/8*cos(4*x)-1/2*cos(2*x)

do
    
   
   

2) De cette forme linarise de   , on dduit




 

     
    
   ( 

On peut le vrier avec Matlab

I=int(3/8+1/8*cos(4*x)-1/2*cos(2*x))
I =3/8*x+1/32*sin(4*x)-1/4*sin(2*x)
Intgration 117

3) De mme
simple(cos(x)^2)
...
combine(trig) :
1/2*cos(2*x)+1/2
...
I=int(1/2*cos(2*x)+1/2,0,pi/2)
I =1/4*pi
Ainsi  
   



        


Exercice 3.6.3

La fonction    
   


 dnie par
      
est continument drivable sur   . De plus : 


pour  
on a     


pour  
on a     


La formule de changement de variable


 

        

 
donne ici
 

      

   
            
       
car le signe de   est positif.
 

     



              
      
Avec Matlab, on peut vrier le rsultat obtenu
syms x t rea1
I1=int(sqrt(1-x^2),x,-1,1)
I1 = 1/2*pi
I2=int((cos(t))^2,-pi/2,pi/2)
I2 = 1/2*pi
118 Mathmatiques avec Matlab

On peut aussi effectuer pas pas les calculs du changement de variable :

fDEx=sqrt(1-x^2) ;
phiDEt=sin(t) ;
alpha=sym(-pi/2) ;beta=sym(pi/2) ;
phiDEalpha=simplify(subs(phiDEt,t,alpha))
phiDEalpha = -1
phiDEbeta=simplify(subs(phiDEt,t,beta))
phiDEbeta = 1
gDEt=simplify(subs(fDEx,x,phiDEt)*diff(phiDEt))
gDEt = signum(cos(t))*cos(t)^2
I3=int(gDEt,t,alpha,beta)
I3 = 1/2*pi

Exercice 3.6.4

1) Le calcul direct des deux intgrales ne peut pas seffectuer sous Matlab, faute
de primitive calculable :

syms x real
FdeX=sqrt(sin(x))/(sqrt(sin(x))+sqrt(cos(x)));
int(FdeX,0,pi/2)
Warning : Explicit integral could not be found

2) On doit donc utiliser le changement de variable donn. La fonction , dnie


par

 



est continument drivable sur . De plus :


   pour  

   pour  

et

       
Intgration 119

La formule de changement de variable donne ici



 

    
 

 
   

 

    

    


 
 
   
   

 "
3) Il est par ailleurs facile de vrier que  "   :

GdeX=sqrt(cos(x))/(sqrt(sin(x))+sqrt(cos(x)));
SdeX=simplify(FdeX+GdeX)
SdeX = 1
IplusJ=int(SdeX,0,pi/2)
IplusJ = 1/2*pi

Do   "  .

Exercice 3.6.5

1) On factorise le polynme :

syms x real
BdeX=x^3+1 ;
factor(BdeX)
ans = (x+1)*(x^2-x+1)

On a deux lments simples, lun de premire espce, lautre de deuxime espce,


do la dcomposition :


  &
.   



  

120 Mathmatiques avec Matlab

2) On va dterminer les coefcients 



& (sous Matlab) par identication :
FdeX=1/BdeX ;
syms a b c
GdeX=a/(x+1)+(b*x+c)/(x^2-x+1)
GdeX =a/(x+1)+(b*x+c)/(x^2-x+1)
[N,D]=numden(GdeX)
N =a*x^2-a*x+a+b*x^2+b*x+c*x+c
D =(x+1)*(x^2-x+1)
collect(N,x)
ans =(b+a)*x 2+(b-a+c)*x+a+c

ainsi



    &  &





et de
S=solve(b+a=0,b-a+c=0,a+c=1);
[S.a S.b S.c]
ans =[ 1/3, -1/3, 2/3]
on a
. 

 





  



  


3) La primitive de la premire fraction est simple. Pour la deuxime fraction, on


doit lcrire sous forme


  

    


 
 

avec     
 Do les calculs :
syms a1 b1
u=x^2-x+1 ;
u1=diff(u) ;
num=collect(a1+b1*u1,x)
num =2*b1*x-b1+a1
S=solve(2*b1=-1/3,-b1+a1=2/3);
[S.a1 S.b1]
ans =[ 1/2, -1/6]

Et donc


  


  


 

  
  

Par ailleurs

 


   
     
 ( 
Intgration 121

Le calcul de la primitive de

 

ncessite lcriture du polynme    


sous forme canonique :
 
  
     

 

On recherche l encore les coefcients  



 par identication
syms a1 a2 b real
collect(a1*(a2*(x-b)^2+1),x)
ans = a1*a2*x^2-2*a1*a2*b*x+a1*(a2*b^2+1)
[a1,a2,b]=solve(a1*a2=1,-2*a1*a2*b=-1,a1*(a2*b^2+1)=1)
a1 = 3/4
a2 = 4/3
b = 1/2

do lon dduit que




 
    
 


et par le changement de variable


  
   

on trouve
 
 

 

  
 






 






Arc    
  &( 

En regroupant les diffrents rsultats, on obtient











   



 
 





 


 
 

 
   
 

  
    





Arc    
  &( 
122 Mathmatiques avec Matlab

4) Le calcul direct sous Matlab est videmment plus rapide et donne :

int(FdeX)
ans =1/3*log(1+x)-1/6*log(x^2-x+1)
+1/3*3^(1/2)*atan(1/3*(2*x-1)*3^(1/2))
D EUXIME PARTIE

Analyse numrique lmentaire

123
124
Chapitre 4

Arithmtique de lordinateur

Dans ce chapitre, on va rappeler lessentiel sur larithmtique des ordinateurs tra-


vaillant sur les ottants en double prcision.

Il est important de rappeler que toute opration mathmatique sur des nombres
rels (ou complexes) effectue sur ordinateur ne peut se faire que si les nombres en
question ont un nombre ni de chiffres signicatifs. Et donc ds le dpart, une opra-
tion arithmtique quelconque obira la contrainte technique du nombre possible de
chiffres utilisables : il faudra arrondir ou tronquer.

4.1. Reprsentation des entiers

4.1.1. Gnralits

Soit  un entier naturel tel que   On sait que :

Thorme :
pour tout entier  
il existe une unique suite nie
dentiers 

  
 tels que

           







o 
appartient 




  
Lcriture de  en base  est alors

      

125
126 Mathmatiques avec Matlab

Les bases utilises couramment sont :

  base binaire,
  base octale,
 
 base dcimale,
 
 base hexadcimale.

Pour cette dernire, par convention, les 


sont pris dans lensemble








#
+
. 
o  reprsente

 reprsente

etc...
On a par exemple :




       


 .  



 (  

On obtient successivement la suite 



  
  des chiffres dun entier  dans la
base  de la manire suivante :
le terme  est le reste de la division euclidienne de  par 
car

        

On note
5      
le quotient de cette division euclidienne.
Le terme  est alors le reste de la division euclidienne de 5  par 

Plus gnralement les termes 
pour % 




sont les restes de la division


euclidienne par  des quotients successifs.

4.1.2. Exemples

On dispose en pratique les calculs de la manire suivante :


pour convertir le nombre dcimal

en base :

11 2
1 5 2
 1 2 2

0 12
10 
ainsi 

  


 ,
Arithmtique de lordinateur 127

de mme, pour convertir le nombre dcimal  en base


 :

92 16
12 5 16
 5 0

ainsi   =  .

4.1.3. Fonctions prdnies de Matlab

Les fonctions dec2bin, dec2hex et dec2base permettent de convertir un entier


donn en une chane de caractres reprsentant cet entier dans la base choisie.
Les fonctions bin2dec, hex2dec et base2dec effectuent la conversion inverse.
Ainsi :
dec2bin(82)
ans=1010010
bin2dec( 10111 )
ans=23
base2dec( 77 ,8)
ans=63

4.2. Reprsentation des rels positifs en virgule xe

4.2.1. Notations

Lcriture usuelle en base 10, telle que


 
 


  

 

stend pour dnir lcriture en virgule xe dans une base  quelconque :



           

 


On remarquera que, tant donn une suite innie  



  

    dentiers



appartenant 


la suite de terme gnral

  
   

est :
croissante car
  
   



128 Mathmatiques avec Matlab

et majore par
car
        


 
   

  
  
 

  
 
  

   

  






Elle converge donc (voir chapitre 1, paragraphe 1.4, p. 24) vers un nombre rel,
not

   
ou encore








On montre plus gnralement que tout rel positif peut scrire

    


   


 


 






     
 6

Cest la reprsentation usuelle des nombres rels positifs en base 


appele reprsen-
tation en virgule xe. Le nombre  est la somme dune partie entire

  + 

et dune partie dite fractionnaire (ventuellement nulle)

6  


Le calcul des 
pour %  se fait comme prcdemment. Pour %   on a

  + 6 

et si 6 est la partie fractionnaire de 6 alors

  + 6 

on ritre ensuite le procd pour dterminer  




 .
Arithmtique de lordinateur 129

4.2.2. Exemple en base 2

On veut crire   
   en virgule xe en base    La partie entire est
  . Pour obtenir la partie fractionnaire, on peut disposer les calculs de la faon
suivante :
6
6
+ 6

6 
    
6     

6 
  
 
... ... ...

Ainsi par priodicit on trouve :

  
   





A linverse, pour convertir la partie fractionnaire de ce rel de la base 2 vers la base


10, on a


 






  
  
     

 

Cest la limite de la somme des termes dune suite gomtrique de premier terme

 
de raison 
  , limite qui est gale

 




 




 

Donc on retrouve




  
 

4.2.3. Exemple en base 8

On a de mme
6
6
+ 6

6 
   
6  
   
6 
  

... ... ...

do
  
   
  
130 Mathmatiques avec Matlab

4.2.4. Calculs avec Matlab

Les fonctions prdnies de conversion (dec2bin, bin2dec, etc...) ne sappliquent


qu des entiers. Mais on peut dnir une fonction

function s=fracDec2bin(frac,n)

qui calcule en base les  premiers chiffres de la partie fractionnaire  1& dun rel,
donne en base
. On obtient le rsultat sous forme dune chane de caractres (.

En reprenant les notations ci-dessus, on utilise avec   la variable 7 qui


contiendra chaque itration la partie fractionnaire 6 
et la variable 8 qui contiendra
la partie entire 
. Suivant la valeur de 8 , on ajoute le caractre  ou
la chane
(.
function s=fracDec2bin(frac,n)
Z=frac ;
for i=1 :n,
v=2*Z ;
X=oor(v) ;
Z=v-X ; %Z est la nouvelle partie fractionnaire
if X==1,s(i)= 1 ;else s(i)= 0 ;end
end

Exemple dutilisation :
fracDec2bin(1/3,14)
ans =01010101010101

4.3. Reprsentation des rels en virgule ottante

4.3.1. Gnralits

Soit  une base. On montre alors le rsultat suivant :


tout rel  non nul peut scrire sous la forme
 

   





  

   
    , avec   

5 sappelle lexposant, la mantisse.

On crira aussi en dcalant la virgule dune position vers la droite :

   
  
   
Arithmtique de lordinateur 131

Cest lcriture scientique dun rel.

Les deux critures ci-dessus sont appeles reprsentation en virgule ottante nor-
malise (9 . 4 ) du nombre .

4.3.2. Exemple

Le rel   


en base
 scrit




 
 




 

 

On utilise Matlab pour donner les 25 premiers chiffres de lcriture en base 2 de ce


mme rel : laide de fonctions dcrites prcdemment, on obtient la partie entire,
qui comprend 6 chiffres, et les 19 premiers chiffres de la partie fractionnaire en base
2:

dec2bin(61)
ans =

fracDec2bin(0.123,19)
ans  



En concatnant les deux expressions, on obtient

  







puis, en dcalant convenablement la virgule



   








ou bien, en notation scientique



   






 

4.4. Les rels en V.F.N chiffres

Une machine (ordinateur, calculatrice,...) ne peut stocker quun nombre ni de


chiffres pour reprsenter un rel donn. On utilise pour cela la reprsentation en vir-
gule ottante normalise, en arrondissant ou en tronquant la mantisse chiffres.
132 Mathmatiques avec Matlab

4.4.1. En base 10

4.4.1.1. Troncature et arrondi


Soit  un rel positif quelconque (en 9.4 )

 
  
    .

Alors sa reprsentation en virgule ottante normalise chiffres en troncature est


le nombre

 
  
    .

Sa reprsentation machine en virgule ottante normalise chiffres en arrondi est


le nombre

   
 

o 

   si    


  
 sinon.

Dans le deuxime cas, on renormalisera si ncessaire lcriture de  

Larrondi est en fait le nombre le plus proche de  dont la mantisse possde


chiffres.

4.4.1.2. Exemple
Soit   Alors, en arrondi

 
    
 


 
    
 


 
    
 


 
    
 


4.4.1.3. Utilisation de vpa


Sous Matlab, linstruction
,

ou la squence
%% (  , 

donne la reprsentation de lexpression , en virgule ottante, en base 10, et en arrondi


chiffres. , reprsente le plus souvent une expression symbolique pouvant tre
Arithmtique de lordinateur 133

value. Mais , peut tre aussi de type numrique, chane de caractres, ou tableau.
Le rsultat est de type symbolique.
vpa(sym(pi),30)
ans = 3.14159265358979323846264338328
x= sym(50/3333) ;
x1 =vpa(x,10)
x1= .1500150015e-1
x2=vpa(x,29)
x2=.15001500150015001500150015002e-1

4.4.2. En base 2

Le principe de larrondi et de la troncature est le mme quen base 10.

Soit  un rel positif quelconque (en 9 . 4 )


    
    .
Alors sa reprsentation machine en virgule ottante normalise chiffres en tronca-
ture est

  
    .
   

Sa reprsentation machine en virgule ottante normalise chiffres en arrondi est


le nombre
   
 

o 

   si    


   
si   
.

4.4.2.1. Exemple
Le nombre

   








a pour reprsentation en V.F.N :


en troncature 3 chiffres

   



en arrondi 4 chiffres


   

 

 

  



  

 
134 Mathmatiques avec Matlab

4.4.3. Les formats machine oat et double

En pratique, la plupart des ordinateurs utilise la base . La norme actuelle retient


deux formats standards de reprsentation des rels :

4.4.3.1. Le format double (ottants en double prcision)


Pour un rel  non nul donn, on considre son criture en virgule ottante nor-
malise arrondie 53 chiffres

      
       

avec

 ,  

La mantisse a son premier chiffre  diffrent de 0, donc ncessairement gal


1 en base 2 et il nest pas ncessaire de le reprsenter en machine. Cest la convention
du "bit implicite". On ne mmorisera donc que la partie fractionnaire de la mantisse

        .

Pour reprsenter lexposant en base 2 avec 11 chiffres, on impose

 
 
  5 
  

,
et on reprsentera lexposant biais


 5

compris entre 1 et 2046. 1.


Enn le signe sera mmoris laide dun bit ( gal 1 si le nombre  est ngatif,
gal 0 si  est positif.

Avec ces notations, le nombre  sera reprsent sur 64 bits rpartis ainsi :


(







4.4.3.2. Le format oat (ottants en simple prcision)


Pour ce format, les rels sont stocks sur bits, 1 pour le signe, 8 pour lexposant
et 23 pour la mantisse, suivant le mme principe.

. Les exposants biaiss 0 et 2047 sont utiliss pour reprsenter des nombres dnormaliss,
notamment 0 et inf.
Arithmtique de lordinateur 135

4.4.3.3. Calculs avec Matlab


Les calculs numriques seffectuent en binaire, au format double, en arrondi mme
si les rsultats sont ensuite afchs en dcimal.

Il ne faut pas confondre cet afchage en base 10, avec lutilisation de la fonction
 qui, elle, effectue directement les calculs en arithmtique ottante en base 10 (voir
4.4.1.3).

Si on veut connatre avec Matlab le format interne de reprsentation dun rel, il


faut utiliser le format dafchage hex (hexadcimal).

Considrons par exemple le nombre    


x=0.6 ;
format hex
x
x =3fe3333333333333

en convertissant chacun des chiffres hexadcimaux en binaire, on obtient la reprsen-


tation binaire interne de  :
 

 







 

Le bit de signe est donc (   (nombre positif) ;


Lexposant biais scrit en binaire
 

donc en base

format
bin2dec(01111111110)
ans = 1022
et lexposant non biais est
5  
 
 
  

Enn, la mantisse est, aprs ajout du bit implicite



























On peut retrouver la valeur dcimale de cette mantisse en utilisant, pour convertir la


partie fractionnaire, la fonction fracBin2dec obtenue lexercice 4.6.3
fracBin2dec(0011001100110011001100110011001100110011)
ans = 0.2000

On retrouve alors la valeur dcimale du nombre 


   
 

  

136 Mathmatiques avec Matlab

4.5. Oprations de base sur les nombres machine

Nous allons dcrire la multiplication, laddition et la division sur une machine


travaillant en arithmtique ottante. Ces oprations lmentaires sont effectues dans
une mmoire auxiliaire (accumulateur) travaillant gnralement en double prcision.

Le schma simpli est le suivant :


les nombres exacts ,  sont reprsents (en machine) par leurs quivalents
nombres machines  
   chiffres ;
lopration arithmtique est excute sur chiffres pour les mantisses ;
le rsultat est ensuite arrondi chiffres.

Nous illustrons ces oprations sur des exemples.

4.5.1. Multiplication

4.5.1.1. Principe
On part de deux nombres exacts  et  en base
 par exemple, en vue de calculer
leur produit 

Le produit machine 

       


  

    
  
  



  
  
 

est effectu exactement en double prcision ( chiffres). Aprs renormalisation


ventuelle de la mantisse  et changement de puissance, la machine arrondit
chiffres et afche le rsultat   .

4.5.1.2. Exemple
Soient   

et   
 On suppose que  

Alors
  
 
 
    



      
 

 (rsultat sur chiffres)
Arithmtique de lordinateur 137

La machine donnera le rsultat

 
 

 
.

On notera que la valeur exacte du produit est

 

 

En utilisant vpa, on peut retrouver avec Matlab les tapes de ce calcul en base 10 :

a=vpa(24.321,4)
a = 24.32
b=vpa(680.76,4)
b =680.8
P = a*b
P = 16557.056
P1 = vpa(P,4)
P1 =.1656e5

4.5.2. Division

Le principe est le mme que pour la multiplication.. Si on note, en base 10

    
 
    
 

avec  

on a


 
et 

 

do 

  


Lopration machine en base 10     seffectue donc suivant deux cas :
si 
le quotient  est calcul exactement sur chiffres puis le
rsultat mantisse est arrondi chiffres pour obtenir


     


si on crit 
  ; le calcul  seffectue exactement
comme prcdemment et le rsultat machine est


     
138 Mathmatiques avec Matlab

4.5.3. Addition

4.5.3.1. Principe
Laddition machine de
      

seffectue sur les mantisses aprs avoir "dnormalis" lun des nombres, pour obtenir
des exposants gaux. La suite des oprations effectuer est :
ramener lexposant du plus petit celui du plus grand,
ajouter les mantisses sur chiffres,
arrondir le rsultat chiffres.

Deux cas sont distinguer :



Si 5 5  alors le rsultat machine est  
Si 5  5   
on ajoute 5 5  zros gauche de la mantisse pour avoir la
nouvelle mantisse  La somme est ensuite calcule exactement en double
prcision et le rsultat est arrondi chiffres.

4.5.3.2. Exemples
On suppose que   et on donne

   
 


    
 
 

on a ici 5  5    
on crit
   
 


    
 
  
  
 zros

do
      
 

 

(mantisse sur chiffres). Le rsultat machine est donc


 

   
Arithmtique de lordinateur 139

Avec la commande vpa de Matlab, on a :


a = vpa(0.3218e5,4)
a = .3218e5
b = vpa(0.2432e-1,4)
b = .2432e-1
aPlusbDouble = vpa(a+b,8)
aPlusbDouble = 32180.024
aPlusb = vpa(aPlusbDouble,4)
aPlusb = .3218e5

Toujours avec  
on donne

   
 


    
 




Dans ce cas, on a 5  5     et
  
 


    
 
 


  

do
      
 



(mantisse sur chiffres). Le rsultat machine, en arrondi, est

 



4.5.3.3. Calculs au format double de Matlab


Dans ce cas  
  et on peut retrouver les deux cas prcdents :

1) Cas 5 5  
x=2226.76 ;
y=x*2^(-54)
y = 1.2361e-013
z=x+y
z = 2.2268e+003
format hex
x
x = 40a165851eb851ec
z
z = 40a165851eb851ec
140 Mathmatiques avec Matlab

Grce au format dafchage hxadcimal, on vrie quon a obtenu dans ce cas


   6    
2) Cas 5 5   
y1=x*2^(-53) ;
z1=x+y1
z1 = 40a165851eb851ed
format long
z1
z1 = 2.226760000000001e+003
x
x = 2.226760000000000e+003

On a ici
  

6    

4.6. Exercices

4.6.1. Conversion dun entier

Convertir en base 2 le nombre 



 

(solution p. 141)

4.6.2. Schma de Horner

Pour convertir un nombre


    


en base 10, il suft dvaluer dans cette base


          
Cette valuation peut se faire en utilisant le schma de Horner
                   
1) Convertir en base 10 



  et 

2) Ecrire une fonction
  !)1 18 

qui applique le schma de Horner pour convertir en base 10 lentier dont la suite des
chiffres en base  est donne dans le tableau 8  Tester cette fonction.

(solution p. 142)
Arithmtique de lordinateur 141

4.6.3. Conversion dun nombre virgule

Ecrire de mme une fonction

 & %)    1&%  &(

qui convertit en valeur dcimale  la chane de caractres ( reprsentant la partie


fractionnaire
( ( (
 
dun nombre en base 2.

(solution p. 143)

4.6.4. Valeurs extrmes au format double

En se rfrant au paragraphe 4.4.3 p. 134, calculer :


1) Le plus grand rel reprsentable en machine au format double.
2) Le plus petit rel strictement positif reprsentable dans ce mme format.
3) Le rel  tel que
 soit le plus petit rel strictement suprieur 1 reprsen-
table en machine.
4) Comparer avec les valeurs des constantes realmax, realmin et eps de Matlab.

(solution p. 143)

4.7. Solutions

Exercice 4.6.1

A chaque itration, on calcule les quotients 5 %


 et le reste 1% dans la division
euclidienne de 5 % par  On initialise 5 
  

, et la base  2.
x=1321 ;b=2 ;
q(1)=x ;
i=1 ;
while q(i) ~=0
q(i+1)=x(q(i)/b) ;
r(i)=q(i)-b*q(i+1);
i=i+1 ;
end
r
r=10010100101
142 Mathmatiques avec Matlab

Le rsultat  sobtient en inversant lordre des restes obtenus.


n=length(r) ;
xb=r(n :-1 :1)
xb = 1 0 1 0 0 1 0 1 0 0 1

On peut vrier le rsultat obtenu en utilisant la fonction prdnie dec2bin.

dec2bin(x)
ans = 10100101001

Exercice 4.6.2
1) On applique le schma de Horner pour convertir de la base 2 et de la base 8 vers
la base 10 :
x10=((((1*2+0)*2+1)*2+1)*2+0)*2+1
x10 = 45
y10=(5*8+6)*8+7
y10 = 375

On effectue les vrications laide des fonctions prdnies bin2dec et base2dec

bin2dec(101101)
ans = 45
base2dec(567,8)
ans = 375

2) Selon le schma de Horner, la valeur dcimale   sobtient en rptant pour les


 chiffres donns dans le tableau 8 lopration

    8 %

pour %  


  

function xd=horner(Xb,b)
xd=0 ;
for i=1 :1 :length(Xb)
xd=xd*b+Xb(i) ;
end

On teste cette fonction en reprenant les deux exemples de la question prcdente.

horner([1 0 1 1 0 1],2)
ans = 45
horner([5 6 7],8)
ans = 375
Arithmtique de lordinateur 143

Exercice 4.6.3

Pour (  ( ( ( 


on doit calculer


  ( 
( 
( 
 (

On utilisera une variable  qui contient les valeurs successives de 


 On initialise la
valeur de   et, chaque itration, on lui ajoute la valeur 
seulement si (% 

function x=fracBin2dec(s)
x = 0;
P =1/2 ;
for i = 1 :length(s)
if(s(i)==1)
x = x+P ;
end
P = P/2 ;
end

Exemple dutilisation :

fracBin2dec(010101010101010101010101)
ans = 0.3333

Exercice 4.6.4
1) Au format double, le plus grand exposant est

5 


et la plus grande mantisse est, en binaire

 



soit
    


Le plus grand nombre reprsentable dans ce format est donc

doubleMAX=(2-2^-52)*2^1023
doubleMAX =1.7977e+308
144 Mathmatiques avec Matlab

2) De mme on a
5  


et
  

 

do
doubleMIN=1*2^(-1022)
doubleMIN = 2.2251e-308

3) Le nombre suivant immdiatement


au format double est


  


 


do le calcul de 
epsilon=2^(-52)
epsilon = 2.2204e-016

4) Ces trois valeurs correspondent trois constantes prdnies de Matlab :

realmax
ans = 1.7977e+308
realmin
ans = 2.2251e-308
eps
ans = 2.2204e-016
Chapitre 5

Gestion derreurs

Que se passe-t-il si on excute avec Matlab les instructions suivantes ?

disp(On ajoute 10 fois 0.1 )


S=0 ;
for n=1 :10,
S=S+0.1 ;
end
if S==1
disp(et on trouve exactement 1)
else
disp(mais on ne trouve pas exactement 1)
end

On obtient pour rponse :

On ajoute 10 fois 0.1


mais on ne trouve pas exactement 1

Comme on la vu au chapitre prcdent, lorsquon remplace le rel 



par sa re-
prsentation machine, on commet une erreur due la conversion en base 2 puis
larrondi, appele erreur daffectation.

Dans ce chapitre, aprs avoir rappel des rsultats gnraux sur les calculs der-
reurs absolues et relatives, on prsente des calculs o les erreurs daffectation doivent
tre prises en considration.

145
146 Mathmatiques avec Matlab

5.1. Erreur absolue et erreur relative

5.1.1. Dnition

Soit  une quantit relle donne suppose exacte et 


 une approximation de .
On appelle erreur absolue commise sur  la quantit

"    

et erreur relative commise sur  le quotient


   ,
 

 

On exprimera souvent lerreur relative en pourcentage, pour la rendre plus signica-


tive.
Ces erreurs sont souvent estimes ou majores.

5.1.2. Erreurs doprations

Dans ce paragraphe, on note 


 et 
 des valeurs approches de deux nombres rels
 et  .

5.1.2.1. Addition et soustraction


On a

                   


Lerreur commise sur la somme des deux nombres vrie donc

"    " "

De mme
"    " "
5.1.2.2. Multiplication et division
En supposant  et  strictement positifs, en utilisant la fonction logarithme et le
thorme des accroissements nis, on sait quil existe un rel &
compris entre  et 
,
tel que :

   
  
  
 
&
  
Comme & est proche de 
on confond dans lestimation derreur, & avec , de sorte
que
       
    
Gestion derreurs 147

De mme :
       
    
       
    
Or

                                


Donc une majoration de lerreur relative   est

    
Ce dernier rsultat reste valable pour  et  non nuls, de signes quelconques (en rai-
sonnant sur les valeurs absolues). Par un calcul analogue au prcdent, on obtient,
pour un quotient de nombres non nuls :

    

5.1.3. Estimation derreur par le thorme des accroissements nis

Soit une application

    
    
   

On suppose connatre une valeur approche 


 de  appartenant  . On suppose ga-
lement que la fonction  est continument drivable sur   On veut estimer lerreur
 
  
  commise sur  .
Le thorme des accroissements nis permet dafrmer quil existe un nombre & com-
pris entre  et 
 tel que

 
        &
On en dduit lestimation

         



  


et donc lerreur absolue commise en confondant  


  et   est au plus de

" 

   .
148 Mathmatiques avec Matlab

Exemple

Estimons lerreur +
commise en confondant
 et


 


 
Ici on a    et on peut prendre   
 

   Le rsultat
prcdent donne

+   

     
  

 
 


  


On peut vrier sous Matlab que lerreur




 


observe par un calcul direct est bien infrieure lestimation


  :

format long
errObservee = abs(1000003^(1/3)-100)
errObservee = 9.999989997311332e-05

5.2. Erreurs daffectation

Etant donn un nombre rel 


si on note   sa reprsentation machine digits
dans une base donne, on appelle erreur daffectation le nombre

"      

5.2.1. Exemple

On majore lerreur daffectation commise en base


, en VFN   chiffres, et
en arrondi, sur le nombre


 


 
     

On a
   
 


Gestion derreurs 149

et

"      
 
  
 
 
 
 

On obtient une majoration de lerreur relative en remarquant que





 
 
     
 
 

  


do
    

  

 

 

  
  

5.2.2. Rsultat gnral

On a le rsultat gnral suivant :

Thorme
Soit le rel positif    
      
Dans une machine travaillant sur les nombres en virgule ottante
normalise chiffres et en arrondi, on a :

     
     
  



  (en base  
)

    
  
(en base   ).

Montrons par exemple le deuxime point Soit

   
     

alors
     
o 

    si    


    
si   

et donc

      
 
     

     

  

  
  
     

 

150 Mathmatiques avec Matlab

or

 

 

et

  
       

 si    

 

  
  
 
si   

le rsultat sen dduit.

Remarque
Le thorme ci-dessus permet dobtenir, en base  quelconque, la majoration

    
    




Ce nombre  sappelle "epsilon machine".

5.2.3. Cas des formats oat et double

On dduit du paragraphe prcdent que lerreur relative due lapproximation


dun nombre  par sa reprsentation binaire en machine est :

    

  




  (au format double)

  

    
    
  (au format oat).

  

On retiendra en particulier pour les calculs numriques avec Matlab, qui se font au
format double, que


  

On pourra vrier que ce nombre   est gal la constante eps de Matlab.

5.2.4. Erreurs daffectation et oprations

Mme si on effectue une opration partir des valeurs exactes des nombres  et 

on peut commettre une erreur daffectation sur le rsultat de lopration. Cette erreur
daffectation est donne par le rsultat suivant.
Gestion derreurs 151

Thorme
Les rsultats machines    
   et   
vrient les majorations :
 
     
         
 
    
       
 
    
        
Il suft dappliquer le thorme nonc au paragraphe 5.2.2.

5.3. Cumul derreurs daffectation et dopration

Gnralement, dans les calculs numriques, on effectue plusieurs oprations l-


mentaires pour lobtention de la valeur cherche. Il est clair que les erreurs daffecta-
tion commises au dbut sur les nombres rels exacts, entre autres, vont avoir un impact
sur le calcul nal. Plus prcisment, pour chaque opration, il faudra tenir compte
de lerreur dopration calcule partir de lerreur commise sur chaque op-
rande,
de lerreur daffectation du rsultat de lopration.

5.3.1. Cas dune somme

5.3.1.1. Cas dune somme de deux nombres


Soient deux nombres  et  dont on donne des valeurs approches 
 et 

avec
des erreurs absolues majores par " et " Leur somme   sera approche en
machine par
  
 


et on aura

                 
     " "
Rsultat :
Lerreur absolue commise sur le rsultat nal de la somme est obtenue en
ajoutant lerreur dopration dans le calcul de la somme et lerreur
daffectation de cette somme.
Si les erreurs commises sur  et  proviennent elles-mmes uniquement de lerreur
daffectation de ces deux nombres, le rsultat machine de laddition de  et  est
       

152 Mathmatiques avec Matlab

not abusivement
    

et on a

       
     
          
       

5.3.1.2. Gnralisation
A laide dun raisonnement par rcurrence, on gnralise ce rsultat la somme
de  nombres  



 :

               
          

5.3.2. Cas dun produit

5.3.2.1. Cas dun produit de deux nombres


On donne deux nombres non nuls  et  dont on connat des valeurs approches

et 
avec une erreur relative estime  et  Leur produit  sera approch en
machine par
   



et on aura
            
  
Utilisant le fait que
          

 
on en dduit
       

Rsultat :
Lerreur relative commise sur le rsultat nal du produit est estime en
ajoutant lerreur relative dopration dans le calcul du produit, et lerreur
relative daffectation de ce produit.
Gestion derreurs 153

L encore, si les erreurs commises sur  et  proviennent elles-mmes uniquement de


lerreur daffectation de ces deux nombres, on note

   

pour
       

et on a
          

5.3.2.2. Exemple
Dans une arithmtique en base 10, en VFN et en arrondi  chiffres, on
calcule le produit   
avec

   



a=1.075 ;b=1.075 ;t=3 ;


digits(t) ;
A=vpa(a) ;
B=vpa(b) ; ;
P=vpa(A*B)
P = 1.17

On calcule ensuite les erreurs relatives commises sur 


 et 
en considrant comme
exactes les valeurs de ces nombres au format double.
errA=abs(a-double(A))/a
errA = 0.0047
errB=abs(b-double(B))/b
errB = 0.0047
p=a*b
p = 1.1556
errP=abs(p-double(P))/p
errP = 0.0124

On notera que les valeurs calcules avec vpa sont de type symbolique et quil faut les
convertir dans le type double pour effectuer numriquement les calculs derreurs.

On vrie les majorations

          

154 Mathmatiques avec Matlab

epsM=1/2*10^(-t+1)
epsM = 0.0050
errA+errB+epsM
ans = 0.0143
3*epsM
ans = 0.0150

On remarque bien que, dans cette arithmtique, lerreur relative commise dans le cal-
cul de 
11  



est strictement suprieure la somme des erreurs relatives sur  et sur 


11 11  


5.3.2.3. Gnralisation
A laide dun raisonnement par rcurrence, on montre que, tant donns  nombres

non nuls 


 :

                 
  
     
5.4. Erreurs dabsorption

Soient deux nombres donns par leur reprsentation machine en base , en arrondi
chiffres : 

   
   

   
    

On a vu au chapitre prcdent que, si


5 5

on a
      
On dit quil y a absorption de  par  On peut vrier aussi que cette erreur se
produit lorsque


  
Plus gnralement, une erreur dabsorption se produit lorsquon ajoute deux nombres
dordres de grandeur trs diffrents. Dans ce cas
     
 
Une consquence importante de lerreur dabsorption est la non associativit de lad-
dition machine, comme lillustrent les exemples ci-dessous.
Gestion derreurs 155

5.4.1. Exemples

5.4.1.1. Une somme de trois nombres


Effectuons les deux additions machines suivantes dans une arithmtique darrondi
 digits, travaillant en double prcision et en base


, 

 
 
,  

 
 

La premire addition seffectue comme suit

,   
  
  
 
 
 


 

 


 


 


 




On peut aussi effectuer ce calcul avec Matlab, en utilisant la fonction vpa :

digits(3) ;
x = vpa(1) ; y = vpa(0.004) ;z=vpa(0.003) ;
S1= vpa(vpa(x+y)+z)
S1 = 1.00

La deuxime addition donne :

,    
  
  
 


 


 

 




 


 


 


 



 



S2=vpa(x+vpa(y+z))
S2 = 1.01
156 Mathmatiques avec Matlab

5.4.1.2. Une somme de plusieurs nombres


Dans cette mme arithmtique, si on calcule

, 
 

   
 fois

dans lordre indiqu, on a :

S=1 ;
for i = 1 :100,
S=vpa(S+0.004, 3) ;
end
S
S = 1.00

Si on ajoute dabord entre eux les nombres 0.004, puis le nombre 1 la n, on obtient :

S=0 ;
for i = 1 :100,
S=vpa(S+0.004, 3) ;
end
S =vpa(1+S,3)
S = 1.40

5.4.2. Consquence pratique

On retiendra donc que dans une somme de nombres positifs, il faut dabord com-
mencer par additionner les petits nombres pour viter lerreur dabsorption.

5.5. Erreurs de cancellation

Une erreur de cancellation se produit gnralement lorsquon soustrait deux quan-


tits de mme signe trs proches.

5.5.1. Prsentation sur un exemple

Considrons deux nombres exacts  et  approchs par


 



 


Gestion derreurs 157

Supposons que les erreurs absolues commises sur ces nombres sont au plus de

"  

"  


Alors, les erreurs relatives sont

  

  



  
  


Lerreur relative commise sur la diffrence approche 


    
est

   
"          
      

 

 

 
 

Ce rsultat signie que lestimation derreur relative commise sur les nombres  et 
a t multiplie par
  en calculant leur diffrence. Cela sexplique par le fait que les
deux nombres considrs sont trs proches.

5.5.2. Exemple trait avec Matlab

Dans une arithmtique en base 10, en arrondi, 4 chiffres, on calcule la diffrence

 

 

digits(4)
r=22/7 ;
piApp=vpa(pi)
piApp = 3.142
rApp=vpa(r)
rApp = 3.143
diffApp=vpa(rApp-piApp)
diffApp = .1e-2
158 Mathmatiques avec Matlab

On a obtenu pour valeur approche de  le nombre 0,01.


En considrant comme exactes les valeurs numriques au format double de 
 et

on calcule les erreurs relatives commises sur ces nombres.

errPi=abs(pi-double(piApp))/pi
errPi = 1.2966e-004
errR=abs(r- double(rApp))/r
errR = 4.5455e-005
diff=r-pi ;
errDiff=abs(diff-double(diffApp))/diff
errDiff = 0.2092

Lerreur relative sur  est de lordre de


, soit environ 1600 fois lerreur relative
commise au dpart sur 
rapp=errDiff/errPi
rapp = 1.6132e+003

5.5.3. Remarque

Dans le calcul numrique dune somme nie de termes, certains algorithmes pro-
duisent des erreurs de cancellation et dabsorption. Considrons par exemple le calcul
de la somme
 
,  
 

 
qui reprsente le dveloppement de Taylor lordre  en 0 de  ! Nous effectue-
rons successivement le calcul pour   
 (les termes sont alors de signes alterns),
puis pour   

Lerreur commise en remplaant     ! par ,  est



 

11  
 
& 


 

o & est un rel compris entre 0 et  (cf. chapitre 2, paragraphe 2.7.1.1, p. 69). Si on
suppose
 
 


cette erreur est majore par


  
 


Pour   
on obtient
N= 80 ;
X0 =20 ;
M=X0^(N+1)/prod(1 :1 :N+1)*exp(X0)
M = 2.0235e-007
Gestion derreurs 159

 



Pour 8   
on effectue le calcul de , 8  en base 10, en virgule ottante norma-
lise, en arrondi 
 chiffres, en utilisant les fonctions digits et vpa. On utilise
trois tableaux  %((
. & et  , permettant de mmoriser les valeurs de



  %((%  8
 8 %((%


. & %  %  %. & %




 %  8
%   %((%. & %


digits(10)
X = -20 ;
Puiss(1)=sym(X) ;Fact(1)=sym(1) ;
T(1)=vpa(X) ;
S=vpa(1+T(1)) ;
for i=2 :N,
Puiss(i)=vpa(Puiss(i-1)*X) ;
Fact(i)=vpa(Fact(i-1)*i) ;
T(i)=vpa(Puiss(i)/Fact(i)) ;
S=vpa(S+T(i)) ;
end
S
S = -.8654019579e-2

On obtient pour valeur approche de ,  ,    la valeur


,  

  

On compare cette valeur celle de +    donne avec toute la prcision du format


double de Matlab.
E =exp(X)
E = 2.0612e-009
errObs=double(abs(E-S))
errObs = 0.0087
Q=errObs/M
Q = 4.2767e+04

Lerreur absolue constate est denviron   fois lerreur thorique . Elle provient
derreurs dans le calcul de , : les termes  % que lon ajoute sont de signes alterns,
ce qui peut provoquer dans le calcul de la somme des phnomnes de cancellation,
ajouts au risque dabsorption des plus petits en valeur absolue par dautres beaucoup
160 Mathmatiques avec Matlab

plus grands. Afchons quelques-uns de ces termes :

T(1 :5)
ans = [ -20., 200., -1333.333333, 6666.666667, -26666.66667]
T(16 :20)
ans = [ 31322782.64, -36850332.52, 40944813.91, -43099804.12, 43099804.12]
T(76 :80)
ans = [ .4007323037e-12, -.1040863127e-12, .2668879812e-13,
-.6756657752e-14, .1689164438e-14]

Effectuons maintenant la somme ,   , 8  pour 8   dans la mme arithm-


tique :
X1 = 20 ;
Puiss(1)=sym(X1) ;Fact(1)=sym(1) ;
T1(1)=vpa(X1) ;
S1=vpa(1+T1(1)) ;
for i=2 :N,
Puiss(i)=vpa(Puiss(i-1)*X1) ;
Fact(i)=vpa(Fact(i-1)*i);
T1(i)=vpa(Puiss(i)/Fact(i)) ;
S1=vpa(S1+T1(i)) ;
end
S1
S1 =485165195.3
E1 =exp(X1)
E1 = 4.8517e+008
errObs=double(abs(E1-S1))
errObs = 0.1000

Dans ce cas, tous les termes


8 

 % 
%

sont de signe positif, et il ny a plus derreurs de cancellation dans le calcul de , 


Limpact des erreurs dabsorption est ici trs minime.

Si on veut utiliser la formule de Taylor pour calculer une valeur approche de



 ! 
il est prfrable, dans ce cas prcis, de calculer dabord une valeur appro-
che , de  ! 
car le calcul est plus able, puis dutiliser la proprit

 !   
 ! 

Gestion derreurs 161

E3=1/S1
E3 = .2061153623e-8
errObs=double(abs(E-E3))
errObs = 1.0000e-18

5.6. Erreurs dues aux choix des formules algbriques

5.6.1. Exemple 1

Des erreurs de cancellation se produisent aussi dans les expressions telles que

 
 2

o   et 2 sont des polynmes de mme degr. Par exemple, pour  trs grand
lexpression

 
 


produira une erreur de cancellation. Pour viter cela on utilisera lexpression quiva-
lente

 



On peut le vrier, en effectuant les calculs dans une arithmtique ottante trois
chiffres en base 10, avec  



digits(3)
n=1100 ;
v1=vpa(1/n) ;
v2=vpa(1/(n+1)) ;
d1=vpa(v1-v2)
d1 = .1e-5
d2=vpa(v1*v2)
d2 = .825e-6

En calculant numriquement la valeur de  avec toute la prcision de la machine, on


constate que  est une bien meilleure approximation que   

res=1/(n*(n+1))
res = 8.2570e-007
res1=1/n-1/(n+1)
res1 = 8.2570e-007
162 Mathmatiques avec Matlab

De mme dans la rsolution de certaines quations algbriques, on prendra garde


dutiliser, dans certains cas, les formules adquates pour viter la cancellation. Ainsi,
pour une quation de second degr

  &  

lutilisation des formules


 
  "

pourra produire une erreur de cancellation pour le calcul dune des deux racines

lorsque  est trs proche de ".

5.6.2. Exemple 2

Soit rsoudre lquation






   &  
en effectuant les calculs dans une arithmtique ottante normalise   digits.
Si on utilise les formules classiques donnant les solutions dune quation du second
degr, on obtiendra :
digits(5) ;a=vpa(1) ;b=vpa(-160) ;c=vpa(1) ;
delta=vpa(b^2-4*a*c)
delta = 25596.
racDelta=vpa(sqrt(delta))
racDelta = 159.99
x1=vpa(vpa(-b+racDelta)/vpa(2*a))
x1 = 160.00
x2=vpa(vpa(-b-racDelta)/vpa(2*a))
x2 = .50000e-2

Donc on a :
"  

  " 





       " 





    


 
      " 

 

 



 


    
  
Dans le calcul de la plus petite racine  
une erreur de cancellation a t commise. En
conservant la valeur la plus able   et en utilisant la formule     &, on obtient
pour 
x2=vpa(c/a/x1)
x2 = .62500e-2
Gestion derreurs 163

do
    
 
  

La rsolution de cette quation avec Matlab donne, en afchant les valeurs num-
riques des solutions :

format short e
double(solve(x^2-160*x+1=0))
ans =
1.5999e+02
6.2502e-03

5.7. Erreurs dues aux perturbations des donnes

Dans certains calculs, de petites perturbations des donnes peuvent modier les r-
sultats de manire surprenante. Do la prcaution quon doit prendre lors de pareilles
situations. Illustrons cela par deux exemples classiques.

5.7.1. Un systme dquations linaires

On considre le systme linaire



 

 
, 
   

Avec le calcul symbolique de Matlab, on obtient sa solution :

S1=solve(x-1.99995*y=3,2*x-4*y=1);
[S1.x,S1.y]
ans = [ .10000e6, 50000.]

soit 
 

  
On considre le systme , obtenu en tronquant le premier coefcient de  cinq
chiffres signicatifs : 
 

 
, 
  

Lerreur relative commise sur ce coefcient est


 

 

 



164 Mathmatiques avec Matlab

La solution de ,  est donne par

S2=solve(x-1.9999*y=3,2*x-4*y=1);
[S2.x,S2.y]
ans = [ 50001., 25000.]

soit 
  

  
On observe une erreur relative denviron  sur chacune des solutions 
 .

Dans certains sytmes linaires, une perturbation trs petite dun coefcient peut
entraner des rsultats inattendus. On dit que ces systmes sont mal conditionns.

5.7.2. Un calcul de dterminant

On considre la matrice 


 :


      





      
!
!


      
!
!


      
!
!
       
!
 
 
   !
  

      
!
!


      
!
!


     
!
!
       
"

       

On veut calculer # 


et le comparer au dterminant obtenu en tronquant 

Pour dnir la matrice sans entrer un un ses 100 termes, on utilise la fonction
diag pour laquelle laide de Matlab prcise :

help diag
DIAG Diagonal matrices and diagonals of a matrix.
DIAG(V,K) when V is a vector with N components is a square matrix
of order N+ABS(K) with the elements of V on the K-th diagonal. K = 0
is the main diagonal, K 0 is above the main diagonal and K  0
is below the main diagonal.
Gestion derreurs 165

En utilisant 9  






et cette fonction diag, on dnit successivement les
termes sur chaque diagonale.

V=[10 :-1 :1]


V = 10 9 8 7 6 5 4 3 2 1
M=diag(V(2 :10),-1) ;
for i =0 :9,M=M+diag(V(i+1 :10),i) ; end
M =sym(M) ;
M(1,10)=1.0001
M=
[ 10, 9, 8, 7, 6, 5, 4, 3, 2, 10001/10000]
[ 9, 9, 8, 7, 6, 5, 4, 3, 2, 1]
[ 0, 8, 8, 7, 6, 5, 4, 3, 2, 1]
[ 0, 0, 7, 7, 6, 5, 4, 3, 2, 1]
[ 0, 0, 0, 6, 6, 5, 4, 3, 2, 1]
[ 0, 0, 0, 0, 5, 5, 4, 3, 2, 1]
[ 0, 0, 0, 0, 0, 4, 4, 3, 2, 1]
[ 0, 0, 0, 0, 0, 0, 3, 3, 2, 1]
[ 0, 0, 0, 0, 0, 0, 0, 2, 2, 1]
[ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1]
d=det(M)
d =-4411/125

(On a utilis le calcul symbolique pour obtenir la valeur exacte du dterminant, vitant
ainsi dintroduire des erreurs darrondi dues aux conversions en base 2).

Ainsi
#    



  


On dnit la matrice telle que

 

et, pour tout %


:   





 
 
On calcule le dterminant  de la matrice ainsi perturbe.

Mprime=M ;
Mprime(1,10)=1 ;
dPrime=det(Mprime)
dPrime = 1
166 Mathmatiques avec Matlab

Alors que sur les donnes on a

    





sur le rsultat, lerreur relative est

#   #  


# 

On voit que, dans ces deux cas, une perturbation trs petite des donnes a entran
une importante variation des rsultats.

5.8. Estimation probabiliste de lerreur

Il y a aussi une vision statistique et probabiliste de la gestion des erreurs. Illustrons


cette notion derreurs probables sur une expression simple crite sous forme dune
somme nie de termes rels.

Soit calculer (       On suppose que lerreur absolue commise


sur 
est "
et on note
   "


 
la plus grande valeur de ces erreurs.

Une estimation de lerreur dopration commise sur ( est alors de

"(  " "  "    

Lorsque  est trs grand, cette dernire estimation derreur est rarement atteinte,
compte tenu de la compensation de signes. Aussi on peut chercher lerreur maximale
probable  sur (

On montre en calcul de probabilits que

   

au sens o

 

a de grandes chances de rester born quand   


Gestion derreurs 167

5.9. Exercices

5.9.1. Erreur doprations


1) Estimer lerreur absolue commise lorsquon effectue la somme
,  




 
   


 termes

2) Vrier en effectuant le calcul de cette somme avec Matlab, et en comparant


avec le rsultat exact.

(solution p. 170)

5.9.2. Erreurs dabsorption et de cancellation

On cherche deux nombres   et  dont la somme , vaut  millions, et le produit


 vaut
. On note   le plus grand de ces deux nombres.
1) Montrer que   est solution dune quation du second degr.
2) Trouver la valeur de   en rsolvant cette quation.
3) Trouver la valeur approche   de  obtenue en utilisant
   ,
4) Trouver la valeur approche   de  obtenue en utilisant
    
5) Quel est le rsultat le plus able, et pourquoi ? Analyser les diffrentes causes
derreurs et de propagation derreurs dans les calculs.
6) En supposant que cest   la bonne valeur, dterminer lerreur relative com-
mise en calculant  la place de  et comparer avec lerreur relative de dpart
commise par le stockage en machine du discriminant   .

(solution p. 171)

5.9.3. Non associativit de laddition machine

On considre les trois nombres  

  

&   
.

1) Donner les rsultats des calculs pour :


a) (    &

b) (    &
2) Expliquer les rsultats obtenus.

(solution p. 172)
168 Mathmatiques avec Matlab

5.9.4. Choix de formules de calcul


1) Utiliser le calcul symbolique de Matlab pour vrier que


   

 


2) Calculer la valeur de ces deux expressions dans une arithmtique en virgule


ottante   chiffres en arrondi (utiliser vpa et effectuer les calculs un par un).
3) Quel est le rsultat le plus able et pourquoi ?

(solution p. 172)

5.9.5. Choix ditrations de calculs

On dnit la suite   par



     

1) En utilisant les proprits de lintgrale, montrer que cette suite est positive et
dcroissante. On notera  sa limite. inconnue.
2) Montrer que cette suite vrie
#
  

      , pour  

(on utilisera une intgration par parties). En dduire 


3) Utiliser les galits ci-dessus pour calculer avec Matlab la valeur numrique
approche de  


 puis 

4) Expliquer par un calcul derreur les rsultats obtenus.
5) Utiliser la formule inverse donnant   en fonction de 
en partant dune
valeur  de votre choix, pour calculer de nouvelles valeurs approches de 

puis



 
6) Comparer les rsultats obtenus.

(solution p. 173)
Gestion derreurs 169

5.9.6. Sujet dtude

La suite dnie dans ce sujet dtude est due Jean-Michel Muller de lEcole
Normale Suprieure de Lyon.

On considre la suite    dnie par



  



  



   





  
,

 

[On admet quaucun terme de la suite ne sannule, et que cette suite est donc bien
dnie]
1) Calculer numriquement les 30 premiers termes de cette suite.
2) Utiliser le calcul symbolique pour obtenir la valeur exacte de ces 30 premiers
termes, puis la valeur numrique de ces nombres. Que constatez-vous ? Quel calcul
vous semble plus able, et pourquoi ?
3) Etude dune suite auxiliaire.
On introduit la suite   dnie par

 

     ,  

En utilisant la relation
 
  

et en exprimant de mme  et   
montrer que la suite   vrie la relation
linaire, pour tout 

  

 

      (R)

4) Une tude classique des suites de ce type consiste alors chercher les nombres
1
  tels que la suite dnie pour   par

 1

vrie la relation (R). Montrer que 1 est solution dune quation du troisime degr.
Rsoudre cette quation avec Matlab. On notera 1 
1
1
ses solutions, ranges dans
lordre dcroissant.
5) Montrer que toute suite de la forme

  $  1  $  1  $
 1


vrie la relation (R).


170 Mathmatiques avec Matlab

6) Dterminer les valeurs des inconnues $ 


$
$
pour que les conditions initiales

  

  

   
soient vries.
On notera ;
;
;
les solutions exactes, et ;
;
;
 les solutions
approches obtenues par le calcul numrique de Matlab.
7) On dnit, pour tout 

 ;  1  ;  1  ;
 1

    

   ;  1 

;  1   ;
 1
 

Montrer par rcurrence que, pour tout 

   .
8) En dduire la limite de la suite   
9) Que devient cette limite si on remplace ; 
; 
;
par
;
;
;
 ?

(solution p. 177)

5.10. Solutions

Exercice 5.9.1
1) Le nombre dcimal   

  est converti et stock en machine, avec une
erreur relative  majore par    
(cf 5.2.3). Lerreur absolue sur la somme
de
 nombres gaux 

est donc estime par


      

" 


  



 




 termes

epsM=2^(-53)
epsM = 1.1102e-016
DeltaS=1000^2*epsM*0.1
DeltaS = 1.1102e-11
2) On effectue le calcul de ,
puis de , 
 avec Matlab :
S=0 ;
for i=1 :1000,
S=S+0.1 ;
end
errObserv=abs(S-100)
errObserv = 1.4069e-12

Lerreur observe est bien infrieure la majoration derreur #  , trouve.


Gestion derreurs 171

Exercice 5.9.2
1) On transforme le systme dquations

   ,
  
en exprimant, dans la premire quation,   en fonction de  
puis en substituant la
valeur trouve dans la seconde quation.
syms S P x1 x2
eq1=x1+x2-S ;
eq2=x1*x2-P ;
sol2=solve(eq1,x2)
sol2 = -x1+S
eq=subs(eq2,x2,sol2)
eq =x1*(-x1+S)-P
collect(eq,x1)
ans = -x1^2+S*x1-P

On retrouve ainsi un rsultat classique :   vrie lquation

   ,   
2) On calcule numriquement la valeur de la plus grande des solutions :
S=5e7 ;P=1 ;
delta=S^2-4*P
delta = 2.5000e+15
x1=(S+sqrt(delta))/2
x1 = 5.0000e+07

3) On calcule la deuxime solution selon les deux mthodes indiques.


x2a=S-x1
x2a = 1.4901e-08

4)
x2b=P/x1
x2b = 2.0000e-08

5) Le calcul de   engendre une erreur de cancellation. Le calcul de   est plus


able.
6) On calcule lerreur relative sur le rsultat :
errRel=abs(x2a-x2b)/x2b
errRel = 0.2549
172 Mathmatiques avec Matlab

Elle est de lordre de .


Dans le calcul machine du discriminant   
un phnomne dabsorption a pu en-
gendrer une erreur, mais on sait que celle-ci, en valeur relative, est ncessairement
infrieure ou gale   
epsM=2^(-53)
epsM = 1.1102e-16
errRel/epsM
ans = 2.2963e+15

La cancellation a multipli cette erreur initiale par plus de deux millions de milliards !

Exercice 5.9.3
1) On effectue les deux calculs, en respectant lordre impos par les parenthses.

a=1 ;b=2^53 ;c=-2^53 ;


s1=(a+b)+c
s1 = 0
s2=a+(b+c)
s2 = 1

2) Dans le calcul de ( 
il y a eu absorption de  par  Lorsquon ajoute &, un ph-
nomne de cancellation se produit. Dans le calcul de ( 
le phnomne de cancellation
na pas lieu car on calcule  & avec les valeurs exactes de  et &

Exercice 5.9.4
1) On dnit les deux expressions symboliques

 
  
 

 

et, en calculant leur diffrence, on vrie quelles sont bien gales.

d1 = sym(1000-sqrt(999999))
d1 =1000-sqrt(999999)
d2=sym(1/(1000+sqrt(999999)))
d2 =1/(1000+sqrt(999999))
simplify(d1-d2)
ans =0
Gestion derreurs 173

2) On calcule les valeurs approches de   et  dans larithmtique choisie.

digits(6) ;
racineApp=vpa(sqrt(999999))
racineApp =999.999
d1App=vpa(1000-racineApp)
d1App =.1e-2
denom2App=vpa((1000+racineApp))
denom2App =2000.00
d2App =vpa(1/denom2App)
d2App= .500000e-3

Des deux rsultats   



et   

le second est le plus able,
car le premier peut gnrer une erreur de cancellation,
 et  tant deux
nombres trs proches. On vrie cette afrmation en calculant numriquement, avec
toute la prcision de la machine, les valeurs de   et d 

double(d1)
ans = 5.0000e-004
double(d2)
ans = 5.0000e-004

Exercice 5.9.5
1) Pour tout   

 et pour tout  , on a

   

Lintgrale dune fonction positive tant elle-mme positive, on a




      


Cette mme proprit montre que

    

car


        
   


et pour   



  
   
La suite   tant dcroissante et minore par 0, elle admet une limite nie  
174 Mathmatiques avec Matlab

2) On a


 


    



On effectue une intgration par parties pour calculer   On pose :



    
   


On calcule  et  :
clear ; syms x n real
e=sym(exp(1)) ;
u=log(x)^n ;
vPrime= 1 ;
uPrime=simplify(diff(u,x))
uPrime = log(x)^(n-1)*n/x
v=int(vPrime,x)
v=x

soit #


       


   

Do
 

          

 

simplify(subs(u*v,x,e)-subs(u*v,x,1))
ans = exp(1)
simplify(uPrime*v)
ans =log(x)^(n-1)*n

Donc




           



 
  

De cette galit, on dduit que ncessairement   


sinon, on aurait par passage la
limite
   

      
 
ce qui est absurde car  .
Gestion derreurs 175

3) On dnit 
  !

et on place dans un tableau les valeurs successives
de 
pour 


clear
e=exp(1)
I0=e-1 ;
I(1)=e-I0 ;
for n=2 :30,
I(n)=e-n*I(n-1);
end
I(1 :10)
ans =
Columns 1 through 7
1.0000 0.7183 0.5634 0.4645 0.3956 0.3447 0.3055
Columns 8 through 10
0.2744 0.2490 0.2280
I(30)
ans = 2.9228e+16

4) La valeur obtenue pour 


est contradictoire avec les proprits de la suite
 
dcroissante et tendant vers 0. Expliquons ce phnomne :
si on note  la valeur numrique approche de  obtenue par la relation

     

on a
        

en ngligeant les erreurs daffectation commises sur et . Lerreur sur 


peut donc
tre value

 

     
Mme si lerreur sur  est une simple erreur daffectation value   
lerreur
commise sur 
calcule selon la formule ci-dessus donne

F30=prod(1 :1 :30)
F30 = 2.6525e+32
errI30=F30*2^(-53)*I0
errI30 = 5.0602e+16


 
 

5) De lgalit
     

176 Mathmatiques avec Matlab

on dduit aussi

 
 



Si on utilise cette formule pour calculer  


 en fonction de 
on aura, toujours en
ngligeant les erreurs daffectation

 
 
  
  


Si on calcule ainsi de proche en proche 


partir dune valeur estime de 
on
aura

  

 
   


M=prod(50 :-1 :31)


M = 1.1466e+32

Lerreur initiale sur   sera ainsi divise par plus de



 
Compte tenu des proprits de la suite  
il est raisonnable de partir de lestimation
  

I=zeros(1,50) ;
I(50)=0 ;
for n=50 :-1 :2,
I(n-1)=(e-I(n))/n;
end
I(30)
ans = 0.0850
I(1 :10)
ans =
Columns 1 through 7
1.0000 0.7183 0.5634 0.4645 0.3956 0.3447 0.3055
Columns 8 through 10
0.2744 0.2490 0.2280
Gestion derreurs 177

Mais partir dune estimation autre de  ne changera pas les valeurs obtenues pour


et pour  


 .

I=zeros(1,50) ;
I(50)=1e9 ;
for n=50 :-1 :2,
I(n-1)=(e-I(n))/n;
end
I(30)
ans = 0.0850
I(1 :10)
ans =
Columns 1 through 7
1.0000 0.7183 0.5634 0.4645 0.3956 0.3447 0.3055
Columns 8 through 10
0.2744 0.2490 0.2280

6) On constate ici quon obtient des rsultats aberrants en utilisant une formule
exacte, mais gnrant une amplication catastrophique des erreurs. Lutilisation de
la formule de rcurrence inverse, et dune estimation de   donne des rsultats plus
ables pour 



 .

Exercice 5.9.6
1) On calcule numriquement les termes successifs de la suite   

clear ; a(1)=11/2 ; a(2)=61/11 ;


for n=2 :29,
a(n+1)= 111-1130/a(n)+3000/(a(n)*a(n-1));
end
a
a=
Columns 1 through 7
5.5000 5.5455 5.5902 5.6334 5.6746 5.7133 5.7491
Columns 8 through 14
5.7818 5.8113 5.8377 5.8609 5.8813 5.8982 5.8980
Columns 15 through 21
5.6470 0.9683 -507.3216 107.1206 100.3959 100.0235 100.0014
Columns 22 through 28
100.0001 100.0000 100.0000 100.0000 100.0000 100.0000 100.0000
Columns 29 through 30
100.0000 100.0000
178 Mathmatiques avec Matlab

2) On effectue de mme le calcul symbolique.


aSym(1)=sym(11/2);aSym(2)=sym(61/11);
for n=2 :29,
aSym(n+1)= 111-1130/aSym(n)+3000/(aSym(n)*aSym(n-1));
end
double(aSym)
ans =
Columns 1 through 7
5.5000 5.5455 5.5902 5.6334 5.6746 5.7133 5.7491
Columns 8 through 14
5.7818 5.8113 5.8377 5.8610 5.8814 5.8992 5.9145
Columns 15 through 21
5.9277 5.9391 5.9487 5.9569 5.9638 5.9696 5.9746
Columns 22 through 28
5.9787 5.9822 5.9851 5.9876 5.9896 5.9913 5.9928
Columns 29 through 30
5.9940 5.9950

On observe partir du quinzime terme une diffrence considrable entre les rsultats
fournis par les deux modes de calcul. On peut priori juger plus ables les rsultats
obtenus en convertissant en numrique les valeurs exactes : on vite ainsi propagation
et risques damplication derreurs.
3) Partant de 
 

      ,  

on peut afrmer que, pour tout 


  
et on a pour 
    

  
 
    
     


On reporte dans la relation

  





 



et on obtient

 
 



     


 
      
soit
 



  



 


Do la relation 3
  

 

     
Gestion derreurs 179

4) On remplace  par 1
  par 1 
 par 1 
 par 1  et on
  
cherche 1 tel que

1

 

1 

1  
1  
  

On obtient lquation

1



1 
 1  
 

1 tant suppos diffrent de 0, on peut simplier par 1  , do lquation quivalente

1

1    
On rsout alors lquation du troisime degr obtenue.

syms r real
eq1 = r^3-111*r^2+1130*r-3000;
solve(eq1)
ans =
[ 100]
[ 5]
[ 6]

Ses solutions sont donc



 1 

1 

1
 

5) On dnit
  $  1  $  1  $
 1


et, en exprimant  
  
  partir de cette relation, on montre que la relation
(R) est vrie.

r1=100 ;r2=6 ;r3=5 ;


syms k1 k2 k3 n real
xn=k1*r1^n+k2*r2^n+k3*r3^n;
xnPlus1=subs(xn,n,n+1);
xnMoins1=subs(xn,n,n-1);
xnMoins2=subs(xn,n,n-2);
eq=simplify(xnPlus1-(111*xn-1130*xnMoins1+3000*xnMoins2))
eq = 0
180 Mathmatiques avec Matlab

6) On exprime 

 en fonction de $ 
$
$

x0=subs(xn,n,0)
x0 = k1+k2+k3
x1=subs(xn,n,1)
x1 = 100*k1+6*k2+5*k3
x2=subs(xn,n,2)
x2 = 10000*k1+36*k2+25*k3

On doit donc rsoudre le systme



 $ $ $



$ $ $
 


$ $ $
   
Pour obtenir la solution exacte de ce systme, on utilise le calcul symbolique : on
dnit la matrice  des coefcients du systme, la matrice   des seconds membres,
et on calcule la matrice colonne
;   
des solutions :
As=sym([1 1 1 ; 100 6 5 ; 100^2 6^2 5^2 ]) ;
Bs=[1 ;aSym(1) ; aSym(2)*aSym(1)] ;
K=As^(-1)*Bs ;
K1 =K(1)
K1 = 0
K2 =K(2)
K2 = 1/2
K3=K(3)
K3 = 1/2 
Do
;  
; 

;

 

En effectuant les mmes calculs numriquement, on obtiendra des valeurs approches


des solutions :
A=[1 1 1 ; 100 6 5 ; 100^2 6^2 5^2 ] ;
B=[1 ;a(1) ; a(2)*a(1)] ;
KApp=A^(-1)*B ;
K1App =KApp(1)
K1App = 8.6736e-19
K2App =KApp(2)
K2App = 0.5000
K3App= KApp(3)
K3App = 0.5000
Gestion derreurs 181

7) On dnit

;  1  ;  1  ;
 1 
    

;  1  ;  1  ;
 1 
 

et on calcule  et  :

num=K1*r1^n+K2*r2^n+K3*r3^n;
den=subs(num,n,n-1);
bn=num/den
bn = (1/2*6^n+1/2*5^n)/(1/2*6^(n-1)+1/2*5^(n-1))
b1=subs(bn,n,sym(1))
b1 = 11/2
b2=subs(bn,n,sym(2))
b2 = 61/11

Ainsi 
  
   
On suppose (hypothse de rcurrence) :

     
 

et on montre que     :

an=bn ;
anMoins1=subs(bn,n,n-1);
bnPlus1=subs(bn,n,n+1)
bnPlus1 = (1/2*6^(n+1)+1/2*5^(n+1))/(1/2*6^(+1/2*5^n)
anPlus1=simplify(111-1130/an+3000/(an*anMoins1))
anPlus1 = (6^(n+1)+5^(n+1))/(6^n+5^n)
simplify(bnPlus1-anPlus1)
ans = 0

On a ainsi montr que, pour tout 


  
  
   

   
   

8) Pour obtenir la limite de la suite  


on crit


   
 

       

   

   


   
182 Mathmatiques avec Matlab

Do
   


Ce rsultat se vrie avec Matlab :


an
an = (1/2*6^n+1/2*5^n)/(1/2*6^(n-1)+1/2*5^(n-1))
limit(an,n,inf,left)
ans = 6

9) Si on remplace ; 
;
;
par ;
;
;
 la suite a maintenant
pour terme gnral
; 
 ;   ;
  
    
; 
   ;   
;
   

;  
 ;
  

;

  

; ;  


 ;
  



et, comme ;  


on a
   



Le calcul sous Matlab donne :


numApp=K1App*r1^n+K2App*r2^n+K3App*r3^n;
denApp=subs(numApp,n,n-1);
anApp=numApp/denApp;
limit(anApp,n,inf,left)
ans = 100

On retrouve les rsultats de la premire question : la suite   a pour limite 


mais
des calculs numriques approchs conduisent une suite    convergeant vers


Chapitre 6

Approximation de racines dquations

Cest seulement pour certaines quations bien particulires que les procds clas-
siques de rsolution permettent dexprimer les solutions exactes. Un exemple typique
est celui des quations du second degr, en utilisant le discriminant. Dans de nombreux
cas, on peut seulement localiser les solutions, et en calculer des valeurs numriques
approches.

Considrons par exemple, lquation



     

Les mthodes usuelles de transformation (transposition, utilisation de la fonction lo-


gartihme, ...) ne permettent pas de rsoudre algbriquement cette quation. Pourtant,
on observe graphiquement quelle admet une solution unique sur 

.
f(x)=10x 9 exp(x)
8

10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x

183
184 Mathmatiques avec Matlab

Dans ce chapitre, on va exposer les principales mthodes itratives de rsolution dune


quation de la forme
   

o  est une fonction continue dnie sur un intervalle 


. On se placera dans le
cas o, localement, il y a une unique racine, pour en donner un algorithme dapproxi-
mation.

6.1. Mthode de la dichotomie

Cette mthode consiste en une succession de divisions par deux de lintervalle


pour approcher de plus en plus la racine de lquation    , jusqu ce quune
prcision  soit atteinte.

6.1.1. Hypothses sur la fonction 

On se place dans le cas o la fonction

  
 
vrie les hypothses :

#
  est continue sur 


#   est strictement monotone sur 




#      

ce qui assure lexistence et lunicit de la racine &  




6.1.2. Algorithme de la mthode

On partage 
 en deux intervalles gaux 
 
  et  


Si le signe de     est le mme que celui de  , la racine & appartient
lintervalle  

.

Sinon, elle appartient lintervalle 



 .

On ritre le procd avec lintervalle obtenu contenant & .

On arrte litration lorsque la longueur de lintervalle devient infrieure un


nombre  x au dpart.
Approximation de racines dquations 185

Remarque
A ltape 
& appartient lintervalle de travail, qui a pour longueur

  .

Dune itration la suivante, lerreur est donc multiplie par


 

6.1.3. Exemple

On considre lquation
      La fonction  dnie sur 

 par

  
   

est continue, drivable, et sa drive  vrie

  
    

donc  est strictement croissante sur 





De plus     et  
 
    
 sont de signes contraires.
On peut donc utiliser la mthode de dichotomie pour calculer
  prs la solu-
tion de lquation propose.

Le nombre  de termes calculer doit vrier :



  
  
,

soit

 
 
 
On cre le chier f1.m
function y=f1(x)
y=10*x-9*exp(-x);

On value le nombre  de termes calculer (sous Matlab, ceil(x) donne le plus petit
entier suprieur ou gal )

n0=ceil(log(1e6)/log(2))
n0 = 20
186 Mathmatiques avec Matlab

Do
a = 0; b = 1;
for i = 1 :20
m=(a+b)/2 ;
f1DeM = f1(m) ;
if (f1DeM 0) b = m ; else a = m ; end
end

On afche lintervalle obtenu


format long
[a b]
ans = 0.52983283996582 0.52983379364014

A
 prs, la solution est   .

6.1.4. En conclusion

La mthode de dichotomie a lavantage dexiger peu dhypothses sur la fonction.


Elle sert parfois de moyen de calcul dune initialisation pour les algorithmes des autres
mthodes. Linconvnient majeur de cette mthode est la lenteur de convergence de
son algorithme.

6.2. Mthode des approximations successives (ou du point xe)

Parmi les mthodes de rsolution de lquation

   

la mthode dite des approximations successives (ou du point xe) est la plus impor-
tante. Son principe est bas sur la construction dune suite itrative approchant de
plus en plus la racine exacte, son premier lment (appel initialisation) pouvant tre
nimporte quel point de lintervalle de travail 
.

La mthode du point xe sapplique des quations de la forme

  
On peut toujours crire lquation     sous une forme quivalente de ce type.

Par exemple, lquation


      est quivalente

 
  



On prendra garde de ne pas confondre la fonction  et la fonction 
Approximation de racines dquations 187

6.2.1. Hypothses sur la fonction 

On se place dans le cas o la fonction


  
 
vrie les hypothses :
.
 est continue et drivable sur 


.  prend ses valeurs dans 




.   


 :   

      
On dira que  est une contraction stricte.

6.2.2. Thorme du point xe

Lorsque  vrie les trois hypothses .


, . , . , il existe une
unique racine & de lquation   , appele point xe de .

Considrons en effet la fonction dnie par


     

qui est strictement dcroissante puisque


     

grce .  Alors, daprs lhypothse . 
on a

      
       
Le thorme des valeurs intermdiaires donne alors lexistence dun unique point &
appartenant 
 tel que
 &  

6.2.3. Algorithme et estimation derreur

6.2.3.1. Algorithme
On construit la suite des itrs de la manire suivante :
on xe un point  quelconque de 
,
puis on dnit 


   

    
..


 .

    
188 Mathmatiques avec Matlab

6.2.3.2. Majoration derreur


Si & est le point xe de 
on a

  &     &    &    &


  &     &    &    & 

En ritrant, on voit bien quon sapproche de plus en plus de la racine : cest le prin-
cipe des approximations successives. Plus prcisment, on dmontre par rcurrence la
majoration derreur

    &    &     

En effet, la proprit est videmment vrie pour   


et si on la suppose vri-

e un rang 
donn, le thorme des accroissements nis implique lexistence

dun < 
 tel que :

  &      &




  <   &


    &

 

  &
   &

    

Ainsi, la suite   converge vers & puisque, appartenant 




on a

  


6.2.3.3. Test darrt


Fixons   Pour que  soit une valeur approche de &  prs, il suft que :

    
soit

       

Approximation de racines dquations 189

Do lalgorithme de la mthode du point xe :

Etant donn une fonction  vriant les hypothses .


, . , . 
sur un intervalle 

et un nombre

positif  :
on calcule   +   

on choisit  



pour  de

on calcule     

Une valeur approche  prs de la racine & est  

6.2.3.4. Remarque
On peut construire graphiquement la suite des itrs 
, laide de la ligne po-
lygonale  4  4  4 
o
a pour coordonnes




et 4
a pour coordonnes






 

 


Ainsi, 
4
 est le segment vertical joignant les points dabscisse 
de la droite
dquation    et de la courbe dquation   
et 4

  est le segment
horizontal joignant les points dordonne 
 de ces deux mmes gures (voir
exercice 6.5.4).
Mthode du point fixe
1

0.9 y =9/10*exp(x) y=x

0.8 N0
M1

0.7

0.6 N2

0.5

0.4 M2 N1

0.3

0.2

0.1 M0

x0 x2 x1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x
190 Mathmatiques avec Matlab

Mthode du point fixe


4

3.8 y=x

3.6

3.4

y =log(x)+2
3.2
N2
N1
3
M2

2.8 N0
M1

2.6

2.4

2.2
M0
x1 x2
2 x0
2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4
x

6.2.4. Exemple

Pour calculer
  prs la solution, dans lintervalle 


de lquation
 
  



par la mthode du point xe, on procde comme suit :
On dnit la fonction 
telle que
 
   



Cette fonction est continue et drivable sur 


Pour vrier lhypothse . 
on tudie les variations de 
en calculant  :

syms x ;
phiDeX = 9/10*exp(-x) ;
phiPrimeDeX = diff( phiDeX )
phiPrimeDeX = -9/10*exp(-x)

Comme    
 dcrot de 
 

phiDe1= subs( phiDeX ,1)


phiDe1 = 0.3311
phiDe0= subs( phiDeX ,0)
phiDe0 = 0.9000)
Approximation de racines dquations 191

Donc,  prend ses valeurs dans lintervalle





  



et .  est vrie.
Pour vrier . 
il faut en gnral tudier les variations de 
donc calculer

mais ici
   

donc   a pour maximum  



Le nombre  de termes calculer pour obtenir une valeur approche de la
solution
 prs est donn par :

n0=ceil ((log(10^(-6))-log(1-0))/log(9/10))
n0 = 132

do  


On calcule les itrs successifs :

X(1) = 0 ;
for i = 1 :132 X(i+1) = 9/10*exp(-X(i)) ; end
format short
X(1 :6)
ans =
0 0.9000 0.3659 0.6242 0.4821 0.5557
format long
X(133)
ans = 0.52983296563343

On retrouve la valeur approche 0.529833


  prs.

6.2.5. Vitesse de convergence

Elle dpend de la valeur de (voir hypothse . ) :


Si est proche de 1, la convergence est lente. On a vu dans lexemple prcdent,
o  
 quil fallait
termes pour obtenir une prcision de  
  
Si  , on retrouve la vitesse de convergence de la mthode de dichotomie.
Si est proche de 0, on a une convergence rapide.
192 Mathmatiques avec Matlab

6.3. Mthode de Newton (ou de la tangente)

6.3.1. Hypothses et algorithme de Newton

6.3.1.1. Hypothses

On revient la rsolution de lquation

   

et on suppose que la fonction  vrie les hypothses suivantes :

4
  est continue sur 
,
4   est strictement monotone sur 


4      

4 

 est drivable sur 


 et     sur 


Les trois premires hypothses garantissent lexistence et lunicit dune racine & de
lquation

   

6.3.1.2. Construction de lalgorithme

Lide principale de la mthode de Newton est de dire quau voisinage de la racine


& la courbe reprsentative de la fonction peut tre confondue avec la tangente en un
point  proche de &. Cela revient confondre  avec son dveloppement limit
lordre
en  :

               
La solution de l quation     peut donc tre approche par la rsolution de

          

dont la solution est

      
Approximation de racines dquations 193

0.8

0.6

0.4

0.2
x0 x1
0

0.2

0.4

0.6

0.8

1.2

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2


x

 est une premire approximation de & En ritrant le procd ci-dessus, on construit


la suite dnie par :

  x proche de &
  
     
  

 

appele suite des itrs de lalgorithme de Newton.

6.3.1.3. Remarque
Cette suite est celle permettant de chercher le point xe de la fonction

        
(voir 6.2.1).

 est drivable si, et seulement si,  lest. Cela conduit ajouter lhypothse
suivante sur 
4   est deux fois drivable sur 


6.3.1.4. Thorme
On a le
Thorme
Sous les hypothses 4


4 
et pour  choisi sufsamment proche
de lunique racine &
la suite des itrs de Newton converge vers &

On admettra ce thorme dont lide de dmonstration repose sur le fait que la


fonction  vrie toutes les hypothses du point xe dans un voisinage de &.
194 Mathmatiques avec Matlab

6.3.2. Vitesse de convergence

Notant toujours
    

on a
  
  
 
et donc au point &
 &  
La formule de Taylor-Lagrange lordre deux donne lexistence dun  
 tel que 

  &   & &


  &   

 &   &   

do

  &    &    


     &

o
  
 
  
En appliquant cette majoration aux itrs     et en supposant que pour



tout ,  , 
il vient


    &       & 

On montre alors par rcurrence sur  :




    &     & 

Par exemple, si on choisit linitialisation  telle que

  &  


Approximation de racines dquations 195

il vient

  &  
 


Cette estimation traduit bien la vitesse de convergence de la mthode de Newton.


Elle signie que le nombre de dcimales exactes double dune itration la suivante.
Concrtement si on veut la racine & avec 1000 dcimales exactes,   contiendrait ces
dcimales.

La convergence de lalgorithme de Newton est donc trs rapide.

6.3.3. Exemple

Ltude de la fonction  dnie sur 



 par
  
   

faite au paragraphe 6.1.3 , a permis de vrier les hypothses 4


 4  La fonc-
tion drive
   
  
est elle-mme drivable, donc lhypothse 4  est vrie. Partant de linitialisation
  

on calcule les huit premiers itrs de la mthode de Newton :

syms x real
fDeX=10*x-9*exp(-x);
fPrimeDeX=diff(fDeX) ;
X(1)=1 ;
for i=1 :7
X(i+1)=X(i)-double(subs(fDeX,x,X(i))/subs(fPrimeDeX,x,X(i)));
end
format long
X
X=
Columns 1 through 4
1.00000000000000 0.49747368650014 0.52964976566513 0.52983295982123
Columns 5 through 8
0.52983296563343 0.52983296563343 0.52983296563343 0.52983296563343

En comparant aux rsultats obtenus par la mthode de dichotomie (voir 6.1.3), on


observe que 
 8  est une valeur approche de la racine &
  prs. Les itrs
  contiennent les mmes 14 premiers chiffres signicatifs.
196 Mathmatiques avec Matlab

6.3.4. Choix de linitialisation 

6.3.4.1. Mise en garde


Mme si la fonction  vrie toutes les hypothses 4
 4  sur un intervalle


il se peut que pour certains choix de linitialisation  


on ait, un rang


  
. Dans ce cas, on nest plus assur de la convergence de la suite  
vers la racine cherche.

6.3.4.2. Exemple
Considrons lquation
   

avec
   
    
  
 
  
, 

fonction polynme est continue et drivable sur 


et on peut vrier une une
les hypothses dapplication de la mthode de Newton :
1)  
 et    sont de signes contraires :

syms x real
f =x^3-4.53*x^2+6.0291*x-2.218039;
fDe1 =subs(f,x,1)
fDe1 = 0.2811
fDe2 = subs(f,x,2)
fDe2 = -0.2798

2)  ne sannule pas sur lintervalle 

 :

fPrime=diff(f)
fPrime = 3*x^2-453/50*x+60291/10000
S=solve(fPrime)
S = [ 99/100]
[ 203/100]

3)  est de signe ngatif, donc  est strictement dcroissante sur lintervalle




 :
maple(solve(3*x^2-453/50*x+60291/100000))
ans = RealRange(Open(99/100),Open(203/100))

On peut illustrer graphiquement ces proprits :

clf ; ezplot(f,[1 2]) ; grid on ;


title(f(x) sur [1, 2])
dessineRepere
Approximation de racines dquations 197

f(x) sur [1, 2]

0.3

0.2

0.1

0.1

0.2

0.3

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2


x

Pourtant, si on calcule les 10 premiers itrs de la mthode de Newton applique


cette fonction  , on obtient :
en choisissant  


X(1)=1 ;
for i=1 :10
X(i+1)=X(i)-double(subs(f,x,X(i)))/double(subs(fPrime,x,X(i)));
end
X
X = 1.0000 10.0958 7.2550 5.3716 4.1319 3.3295 2.8309
2.5521 2.4351 2.4116 2.4107

en choisissant   

X(1)=2 ;
for i=1 :10
X(i+1)=X(i)-double(subs(f,x,X(i)))/double(subs(fPrime,x,X(i)));
end
X
X = 2.0000 -1.0785 -0.2883 0.2018 0.4742 0.5868 0.6085
0.6093 0.6093 0.6093 0.6093
198 Mathmatiques avec Matlab

en choisissant  

X(1)=1.1 ;
for i=1 :10
X(i+1)=X(i)-double(subs(f,x,X(i)))/double(subs(fPrime,x,X(i)));
end
X
X = 1.1000 1.9591 0.6304 0.6086 0.6093 0.6093 0.6093
0.6093 0.6093 0.6093 0.6093

Dans les trois cas, on obtient des valeurs qui nappartiennent pas lintervalle 


dans lequel on cherche la solution.

Par contre, linitialisation   


 donne une suite qui semble converger vers la
solution cherche.

X(1)=1.15 ;
for i=1 :10
X(i+1)=X(i)-double(subs(f,x,X(i)))/double(subs(fPrime,x,X(i)));
end
X
X = 1.1500 1.7309 1.4776 1.5101 1.5100 1.5100 1.5100
1.5100 1.5100 1.5100 1.5100

On peut expliquer graphiquement ce qui se passe (on utilise une fonction newton-
Graph qui est prsente dans l exercice 6.5.5) :
Approximation de racines dquations 199

partant de  



la mthode de la tangente donne une valeur   proche de 2,
et une valeur 
nappartenant plus lintervalle 

initialisation 1.10

0.3

0.2

0.1

0.1

0.2

0.3

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2


x

alors que la suite des itrs converge vers la racine cherche en partant de la valeur
initiale  




initialisation 1.15

0.3

0.2

0.1

0.1

0.2

0.3

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2


x

Le rsultat suivant permet dobtenir un choix de  assurant la convergence de la


mthode.
200 Mathmatiques avec Matlab

6.3.4.3. Thorme

Si  vrie les hypothses 4




4 ,
si de plus   ne sannule pas et garde un signe constant sur , 
alors :
en choisissant   ,  tel que    et    soient de mme signe,
la suite des itrs de la mthode de Newton converge vers la racine cherche.
Mais cela suppose que   ne sannule pas sur , 
ce qui nest pas le cas de
lexemple prcdent.

6.4. Plan pour la recherche dune racine

A travers un exemple modle, on met en uvre un plan dtude pour la recherche


de solutions approches dune quation de la forme


    

et/ou de la forme
      
Ce plan est le suivant :
1) tude de  sur son domaine de dnition et trac de sa courbe reprsentative.
Cette tape permettra la localisation de la ou des racines, et un choix adquat dun
intervalle de travail   


2) pour la mthode du point xe :


a) vrication des hypothses .
, . , .  (voir 6.2.1),
b) choix de  

 et mise en uvre de lalgorithme de calcul approch.
3) pour la mthode de Newton :
a) vrication des hypothses 4
 4  (voir 6.3.1.1),
b) choix de  

 (en utilisant si possible le thorme 6.3.4.3), et mise en
uvre de lalgorithme de calcul approch.

6.4.1. Exemple

Soit rsoudre lquation




    
 




Cette quation peut aussi scrire, pour  




sous la forme




   

 


 
Approximation de racines dquations 201

1) On considre donc la fonction  dnie par




   


  

Elle est dnie, continue, drivable sur  
 On entre son expression sous Matlab,
on calcule et on factorise  :
syms x real
f=atan((x+1)/(x^2+2))-x/(x+1);
fPrime =simplify(diff(f))
fPrime= -(2*x^4+4*x^3+8*x^2+3)/(x+1)^2/(x^4+5*x^2+5+2*x)
[N,D]=numden(fPrime)
N = -2*x^4-4*x^3-8*x^2-3
D = (x+1)^2*(x^4+5*x^2+5+2*x)

Ainsi
  
   
   

    

La recherche des solutions de lquation     avec Matlab montre que celle-ci
nadmet pas de solution relle :
solve(fPrime) ;
double(ans)
ans =
0.0996 - 0.5989i
0.0996 + 0.5989i
-1.0996 - 1.6913i
-1.0996 + 1.6913i

On montre par rsolution dinquation que, pour tout   



on a    
maple(solve(-(2*x^4+4*x^3+8*x^2+3)/(x+1)^2/(x^4+5*x^2+5+2*x)0))
ans =RealRange(-inf,Open(-1)), RealRange(Open(-1),inf)

On complte ltude des variations de  par la recherche des limites aux bornes.
limit(f,x,-inf,right)
ans =-1
limit(f,x,-1,left)
ans =-inf
limit(f,x,-1,right)
ans = inf
limit(f,x,inf,left)
ans =-1
202 Mathmatiques avec Matlab

Ces calculs permettent dobtenir le tableau de variations :

  


   
  
   



La stricte monotonie et la continuit de la fonction  sur lintervalle 

 per- 
mettent dafrmer que lquation     admet une solution unique. On trace la
courbe reprsentative de 

ezplot(f,-1,10)
grid on
title(Graphe de f)
dessineRepere

Graphe de f

1.2

0.8

0.6

0.4

0.2

0.2

0.4

0.6

0.8

1 0 1 2 3 4 5 6 7 8 9 10
x

et on vrie par le calcul que la solution cherche appartient lintervalle


  

puisquon a  
  et      :

subs(f,x,1)
ans = 0.0880
subs(f,x,2)
ans = -0.2030
Approximation de racines dquations 203

2) Mthode du point xe.


a) Pour la rsolution de



    
 




par la mthode du point xe, on introduit la fonction  dnie par






  
  



Cette fonction est continue et drivable sur 

  On trace, sur une autre gure, sa


courbe reprsentative (la commande gure(n) permet douvrir une nouvelle gure,
numrote , sans avoir fermer la ou les gures en cours).

syms x real
phi=(x+1)*atan((x+1)/(x^2+2));
gure(2)
ezplot(phi,1,2) ; grid on ;hold on
set(gca,LineStyle,)
ezplot(x,1,2)
axis equal ; axis auto
legend(y=phi(x),y=x)
title(Graphe de phi)

Graphe de phi
2

y=phi(x)
1.9 y=x

1.8

1.7

1.6

1.5

1.4

1.3

1.2

1.1

1
1 1.2 1.4 1.6 1.8 2
x
204 Mathmatiques avec Matlab

On calcule sa drive 
et on trace aussi la courbe reprsentative de  sur lintervalle
de travail.
phiPrime = simplify(diff(phi)) ;
gure(3)
ezplot(phiPrime,1,2)
grid on
title(Graphe de phi )
Graphe de phi

0.45

0.4

0.35

0.3

0.25

0.2

0.15

0.1

0.05

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2


x

Graphiquement, on observe les proprits :

pour tout   


  


  


pour tout   


     

Pour vrier ces proprits par le calcul, on tudie les variations de 
donc le signe
de  :

phiSeconde =simplify(diff(phiPrime))
phiSeconde =
2*(3-12*x^3-4*x^4+2*x^5-10*x^2-28*x)/(x^4+5*x^2+5+2*x)^2
solve(phiSeconde)
ans =
[ -1.90625]
[ -.105843-1.37614*i]
[ -.105843+1.37614*i]
[ .102881]
[ 4.01506]
Approximation de racines dquations 205

Ainsi lquation     admet 5 solutions, dont 3 relles (Matlab ne peut fournir
ici que des valeurs approches). Il ny a pas de solution dans lintervalle 


ce qui
montre, par continuit, que  garde un signe constant dans cet intervalle. Par le calcul
de  

on dtermine ce signe :

subs(phiSeconde,1)
ans = -0.5799

Ainsi,  est ngative, donc  est dcroissante sur lintervalle 

 On calcule le
minimum et le maximum de  

M1=subs(phiPrime,x,1)
M1 = 0.4342
M2=subs(phiPrime,x,2)
M2 = 0.0636

On a donc, pour tout   

           



do :
pour tout   


    

pour tout   


  
est donc strictement croissante de 
   On calcule le minimum et le maxi-
mum de  sur 


minPhi=subs(phi,x,1)
minPhi = 1.1760
maxPhi=subs(phi,x,2)
maxPhi = 1.3909

On a bien prouv

 

  




  



Toutes les hypothses dapplication de la mthode du point xe sont vries.


b) On calcule le nombre de termes  ncessaire pour obtenir une valeur ap-
proche de la racine  
  prs, en utilisant la formule

 +

      

epsilon =1e-6 ;
N0=ceil((log(epsilon)-log(2-1))/double(log(M1)))
N0 = 17
206 Mathmatiques avec Matlab

Partant de  

on calcule successivement  


  Ces valeurs sont places
dans un tableau 8 

8 
 (attention au dcalage dindices).

X(1)=1 ;
for i=2 :N0+1, X(i)=double(subs(phi,x,X(i-1)));end
format long
X
X=
1.00000000000000 1.17600520709514 1.24379170581345 1.26557796182895
1.27210780086810 1.27402155079797 1.27457867309538 1.27474054108967
1.27478754376334 1.27480118996655 1.27480515165309 1.27480630177079
1.27480663566025 1.27480673259122 1.27480676073111 1.27480676890036
1.27480677127196 1.27480677196046

La solution ,
 prs, est donc


3) Mthode de Newton
a) Pour la mthode de Newton, les hypothses 4
 4  ont dj t
tablies au cours de ltude de  . La proprit 4  (drivabilit de   est elle aussi
vrie.
b) On place dans le tableau 8 la suite des cinq premiers itrs de la mthode
de Newton partir de linitialisation 8 
 
:

clear X ; X(1)=1 ;
for i=1 :5,X(i+1)=X(i)-double(subs(f,x,X(i))/subs(fPrime,x,X(i)));end
X
X=
1.00000000000000 1.26918443438080 1.27480320880089 1.27480677224065
1.27480677224209 1.27480677224209

On peut apprcier la vitesse de convergence en comparant la suite de valeurs obtenues,


avec la solution approche donne directement par la fonction solve de Matlab.

solve(f)
ans =1.2748067722420946580579944415928

On a un chiffre signicatif pour 8 


, deux pour 8  
quatre pour8  
huit pour
8 
et les quinze chiffres quon peut lire pour 8  sont galement signicatifs.
Approximation de racines dquations 207

6.5. Exercices

6.5.1. Mthode de dichotomie, de Newton et du point xe

On considre lquation    , avec

       
   ,  
1) Etudier les variations de  et montrer que cette quation admet une unique
solution ( dans  ,  .
2) Utilliser la mthode de dichotomie pour trouver une valeur approche de ( avec
la prcision
 .
3) Vrier que la mthode de Newton est applicable pour trouver une valeur ap-
proche de (. En tudiant le signe de 
indiquer un bon choix de   Calculer alors
les 10 premiers itrs de cette mthode
4) On met lquation     sous la forme
 
   
a) Montrer que les hypothses dapplication de la mthode du point xe ne
sont pas vries sur lintervalle  ,  .
b) Montrer quelles le sont sur lintervalle 
.
c) Combien de termes devrait-on calculer par la mthode du point xe pour
trouver une valeur approche de (
  prs ?

(solution p. 209)

6.5.2. Mthode de Newton pour une fonction afne

Appliquer la mthode de Newton une fonction afne dnie par     0 ,


  
en prenant une initialisation  quelconque.

(solution p. 212)

6.5.3. Valeur approche de

En considrant la fonction dnie par    


 
utiliser la mthode de
Newton pour construire une suite convergeant vers  En calculer les six premiers
termes avec Matlab.

(solution p. 212)
208 Mathmatiques avec Matlab

6.5.4. Programmation de la mthode du point xe


1) Ecrire une fonction

(  )% . % !%
1



qui place dans le tableau


(
 ( (
les n premiers itrs de la mthode du point xe applique la fonction de la variable
var, dnie par lexpression symbolique phi, en partant de linitialisation  (on aura
donc (
   
2) Ecrire une fonction

(  )% . % /1! !%


1





qui, en plus des traitements de la question prcdente, reprsente sur un graphique,


dans un repre orthonorm :
- la fonction  sur lintervalle 
 ;
- la droite dquation    ;
- la ligne polygonale  4  4  4  prsente au paragraphe 6.2.3.1.

(solution p. 213)

6.5.5. Programmation de la mthode de Newton


1) Ecrire une fonction

(  = )
1



qui place dans le tableau


(
 ( (
les n premiers itrs de la mthode de Newton applique la fonction de la variable
var, dnie par lexpression symbolique f, en partant de linitialisation   (

2) Ecrire une fonction

(  = )/1! 
1





qui, en plus des traitements de la question prcdente, reprsente sur un graphique :


- la fonction  sur lintervalle 
 ;
- les tangentes successives illustrant la mthode (voir paragraphe 6.3.4.2).

(solution p. 215)
Approximation de racines dquations 209

6.6. Solutions

Exercice 6.5.1
1) Remarquons tout dabord que la fonction  est indniment drivable. On la
dnit avec Matlab, et on calcule sa drive.
syms x
f = cos(x)-x*exp(x);
fPrime = diff(f)
fPrime = -sin(x)-exp(x)-x*exp(x)

Sur lintervalle 
 

    
  !  
 !  

donc    
On a     On calcule une valeur approche de   .
fDePisur2 = double(subs(f,x,pi/2))
fDePisur2 = -7.5563

 est continue et dcrot strictement de 1 


 
Lquation     admet donc une solution unique.
On construit la courbe reprsentative de 
clf
ezplot(f,[0 pi/2])
hold on ;grid on
dessineRepere
title(f(x)= cos(x)-x*exp(x))
f(x)= cos(x)x*exp(x)

8
0 0.5 1 1.5
x
210 Mathmatiques avec Matlab

2) Les hypothses de la mthode de dichotomie ont t vries prcdemment.


On applique lalgorithme de la mthode, en comptant le nombre ditrations pour
obtenir la prcision de
  
g = 0 ; d = pi/2 ;
n=0 ;
while (d-g 1e-6)
n=n+1 ;
m = (g+d)/2 ;
fdeM = cos(m) - m*exp(m) ;
if fdeM 0
g=m ;
else
d = m;
end
end
format long
[ g d]
ans = 0.51775671562829 0.51775746464235
n
n =21

Ainsi, (  




 
3) Daprs la premire question, les hypothses 4   4  sont vries sur
lintervalle 
   On calcule  :
fSec=diff(fPrime)
fSec = -cos(x)-2*exp(x)-x*exp(x)

On a     sur 
 
et on choisit linitialisation  telle que    soit lui
aussi ngatif, par exemple
  

On calcule alors 8 
  
..., 8 

   .
h = simplify(x-f/fPrime)
h = (x*sin(x)+x^2*exp(x)+cos(x))/(sin(x)+exp(x)+x*exp(x))
X(1)= pi/2 ;
for i = 1 :10,
X(i+1)=double(subs(h,x,X(i)));
end
X
X=
1.57079632679490 1.00549242610729 0.65572760463222 0.53184945218649
0.51792141093558 0.51775738621207 0.51775736368246 0.51775736368246
0.51775736368246 0.51775736368246 0.51775736368246
Approximation de racines dquations 211

Ds le sixime terme, on a obtenu 6 chiffres signicatifs, et ds le huitime, on a


quatorze chiffres signicatifs..
4) Pour la mthode du point xe, on utilise lquivalence
 
          


pour tout  
 .
a) On dnit donc     
et on calcule   :

phi = cos(x)./exp(x) ;
phiPrime = diff(phi)
phiPrime = -sin(x)/exp(x)-cos(x)/exp(x)

On calcule les valeurs de  et   pour

  


 

format short ; double(subs(phi, x, [0 0.45 0.6 pi/2]))


ans = 1.0000 0.5741 0.4529 0
double(subs(phiPrime, x, [0 0.45 0.6 pi/2]))
ans = -1.0000 -0.8515 -0.7628 -0.2079


Comme   

lhypothse .  nest pas vrie.


b) On calcule  

phiSeconde = diff(phiPrime)
phiSeconde = 2*sin(x)/exp(x)

Sur lintervalle 



 est croissante car

 
    

Les tableaux de valeurs prcdents montrent que  crot de

 
  



 
  
 
On a donc
 
  
    
  


et,  tant ngative  dcrot de 0,5741 0,4529. Les hypothses .

.  et . 
sont donc bien vries sur lintervalle 
 
212 Mathmatiques avec Matlab

c) On value le nombre  de termes calculer pour obtenir la prcision de

 
M =double(abs(subs(phiPrime, x, 0.45 )))
M = 0.8515
n = ceil((log(1e-6)-log(0.6-0.45))/log(M))
n = 75

Exercice 6.5.2

On vrie facilement que les hypothses 4   4  sont satisfaites. Partant dune
initialisation  quelconque, on calcule

     0   0 
Ainsi, ds la premire itration, on a obtenu la valeur exacte de la solution de lqua-
tion
 0  

Exercice 6.5.3

Sur lintervalle 
  

, la fonction  dnie par      


est continue
et deux fois drivable (fonction polynme). Sa drive est strictement positive, donc

 est strictement croissante sur cet intervalle. De plus  
 
et     sont de
signes contraires. Ainsi, toutes les hypothses sont vries pour appliquer la mthode
de Newton. Comme
   

on choisit linitialisation   telle que    


par exemple

  

La suite des itrs de Newton est dnie par



  
  
 
     


On calcule avec Matlab les six premiers termes de cette suite.


Approximation de racines dquations 213

X(1)=2 ;
for n=1 :5,
X(n+1)=(X(n)^2+2)/(2*X(n));
end
format long ;
X
X=
Columns 1 through 4
2.00000000000000 1.50000000000000 1.41666666666667 1.41421568627451
Columns 5 through 6
1.41421356237469 1.41421356237309

On compare avec la valeur de , afche au format long :

s=sqrt(2)
s = 1.41421356237310

Ds le sixime terme, on a obtenu 15 chiffres signicatifs.

Exercice 6.5.4
1) La suite des itrs de la mthode du point xe est dnie par

( 
(
 (
  % 

Pour calculer (


 
on remplace dans lexpression de  la variable var par (
 

function s=pointFixe(phi,var,x0,n)
s(1)=x0 ;
for i=2 :n
s(i)=double(subs(phi,var,s(i-1)));
end

On peut tester sur lexemple prsent au paragraphe 6.2.4.

pointFixe(9/10*exp(-x),x,0,6)
ans =
0 0.9000 0.3659 0.6242 0.4821 0.5557

2) Pour lillustration graphique, aprs avoir construit la courbe reprsentative


de

 et la droite   
on trace, pour % de
 

les segments joignant 


214 Mathmatiques avec Matlab





(
(
(



puis
4

et enn 4

 (voir para-
(
(
 (

graphe 6.2.3.1). Au point 

on place le texte (
.

function s=pointFixeGraph(phi,var,x0,n,a,b)
s=pointFixe(phi,var,x0,n);
clf ; hold on ;
ezplot(phi,[a b]) %reprsentation de phi
axis equal
h=(b-a)/40 ; % h dnit une marge gauche de a et droite de b
axis([a-h b+h a b])
plot([a b], [a b],-.) %reprsentation de y=x entre a et b
legend(strcat(y = ,char(phi)),strcat(y = ,char(var)))
for i=1 :n-1
plot([s(i) s(i)],[a s(i)], :)
plot([s(i) s(i)],[s(i) s(i+1)],)
plot([s(i) s(i+1)],[s(i+1) s(i+1)],)
text(s(i),a+h,strcat(s,num2str(i))) % place le texte si
end
plot([s(n) s(n)],[a s(n)], :) % dessine le segment [An Mn]
text(s(n),a+h,strcat(s,num2str(n))) % place le texte sn
title(Mthode du point xe)

Pour la fonction de lexemple 6.4.1, on obtient le graphe suivant

Mthode du point fixe


1.4

y =(x+1)*atan((x+1)/(x2+2))
y =x
1.35

1.3

1.25

1.2

1.15

1.1

1.05

s1 s2 s3 s4
1
1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.4
x
Approximation de racines dquations 215

grce aux instructions

syms x real
phi=(x+1)*atan((x+1)/(x^2+2));
s=pointFixeGraph(phi,x,1,4,1,1.4)
s = 1.0000 1.1760 1.2438 1.2656

Exercice 6.5.5
1) Appliquer la mthode de Newton la fonction  revient appliquer la mthode
du point xe la fonction

        
Do la fonction Matlab
function s=newton(f,var,x0,n)
phi = simplify(var - f/diff(f,var)) ;
s=pointFixe(phi,var,x0,n);

Exemple dutilisation (voir paragraphe 6.3.4.2) :

syms x real
f=x^3-4.53*x^2+6.0291*x-2.218039;
s=newton(f,x,1.15,6)
s = 1.1500 1.7309 1.4776 1.5101 1.5100 1.5100

2) Pour la fonction newtonGraphe, on doit en plus reprsenter graphiquement  ,


et construire pour chaque itr (
de la mthode de Newton :
- le segment "vertical" 4

 joignant le point dabscisse (
de laxe * au
point dabscisse (
de la courbe reprsentative de  ;
- le segment de tangente joignant ce dernier point
au point 4
 dabscisse
(
 de laxe * .

function s=newtonGraph(f,var,x0,n,a,b)
s=newton(f,var,x0,n);
clf ; hold on ;
ezplot(f,[a b])
plot([a b], [0 0],.-) % dessin axe des abscisses
for i=1 :n-1
y= double(subs(f,x,s(i))); % calcul de y = f(s
)
plot([s(i) s(i)],[0 y],) %dessin de [N
M
]
plot([s(i) s(i+1)],[y 0],) %dessin de [M
N
 ]
end
216 Mathmatiques avec Matlab

Sur lexemple prcdent :

syms x real
f=x^3-4.53*x^2+6.0291*x-2.218039;
s=newtonGraph(f,x,1.15,6,1,2);

Do le graphe

x^3453/100*x^2+60291/10000*x2497289903473307/1125899906842624

0.3

0.2

0.1

0.1

0.2

0.3

1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2


x
Chapitre 7

Interpolation polynomiale

7.1. Le polynme dinterpolation dune fonction

7.1.1. Dnitions

On suppose connues les valeurs dune fonction  en un nombre ni de points


distincts selon le tableau suivant :

    
     

Un tel tableau peut tre le rsultat de mesures effectues exprimentalement.

On se propose alors dapprocher  par une fonction simple de type polynomial



de degr infrieur ou gal 
et telle que

 
  
%  



On montrera que  existe et est unique. On lappelle le polynme dinterpolation de



 aux points 


 
La reprsentation graphique de cette fonction  est une courbe passant par les

points de coordonnes















217
218 Mathmatiques avec Matlab

Polynme dinterpolation P3

1 (x0 , f0)

1 (x3 , f3)

2 (x1 , f1)

4
(x2 , f2)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x

Lorsquon travaille sur un intervalle 



linterpolation polynomiale :
permet de donner une approximation numrique   de   pour  appar-

tenant 

et   

%  


 On dira quon a interpol,
sert construire des formules explicites utiles pour le calcul approch dint-
grales.

7.1.2. Thorme dexistence et dunicit de 

On a le rsultat :

Il existe un unique polynme  de degr infrieur ou gal  tel que


 
  
%  



Dmontrons ce rsultat dans le cas    Le cas gnral se fait dune manire


similaire. En crivant

       

et
 
  
%  

on obtient le systme linaire





      
      


      

Interpolation polynomiale 219

quon peut crire sous forme matricielle


  



  
 !

 
 "
  "
   " 


 
  


Le dterminant de la matrice de ce systme (appel dterminant de Vandermonde) se


calcule sous Matlab :

syms x0 x1 x2
A=[1 x0 x0^2 ; 1 x1 x1^2 ; 1 x2 x2^2] ;
factor (det(A))
ans= -(x2-x0)*(-x0+x1)*(x1-x2)

Ce dterminant est diffrent de zro puisque les points 


sont distincts. Do lexis-
tence et lunicit des 


7.1.2.1. Remarque

Dans le cas gnral, on montre que la rsolution du systme, permettant le cal-


cul des coefcients du polynme dinterpolation, ncessite un nombre doprations
en *
. On utilisera plutt dautres mthodes, moins coteuses en nombre dopra-
tions, ds que  devient grand. Par exemple, lutilisation des polynmes de Lagrange,
prsente ci-dessous, ncessite un nombre doprations en *   (voir exercice 7.3.5).

7.1.3. Polynme de Lagrange

7.1.3.1. Dnition

On appelle polynme de Lagrange dindice $  



 associ aux
 
points 


 le polynme dni par

>  
   
           
   
          


On retiendra que dans le polynme de Lagrange dindice $ :
le numrateur est le produit de tous les facteurs   

exception faite du

facteur   ,
le dnominateur est le produit de tous les facteurs    

pour %
 $
220 Mathmatiques avec Matlab

7.1.3.2. Exemple
Dans le cas  
trait prcdemment, les trois polynmes de Lagrange sont

 
    


$  

      
>

      
>   $ 


      

      
>   $   
      

On va montrer que les polynmes de Lagrange constituent une base pour lcriture du
polynme dinterpolation de  En effet on a le rsultat :

7.1.3.3. Thorme
Le polynme dinterpolation de  aux points 


 

est donn par     > 


Cette relation dcoule facilement du fait que

 



  
>   
pour $  





>     pour :  $

do pour tout $  




          


      

7.1.3.4. Exemple 1
Dans le cas de deux points

  
           

on a les deux polynmes de Lagrange

 
   
>  
  

>
     
et le polynme   est la fonction afne donne par

  
 
 
      
Interpolation polynomiale 221

7.1.3.5. Exemple 2
Soit  une fonction connue aux points

  
 
  

de valeurs respectives
 
  

  .
Calculons   pour en dduire une approximation polynomiale de  


On a



    > 



     
      

             
      

      
  




do  
 

 
  


7.1.4. Algorithme dAitken

Lalgorithme dAitken utilise une formule de rcurrence permettant de calculer le


polynme dinterpolation dune fonction connue en 
points, partir de deux
polynmes dinterpolation dtermins partir de  de ces points.

Etant donn le tableau de valeurs dinterpolation

   
   

on notera par commodit

      

Dans le cas dun seul point dinterpolation 


, on a
    

222 Mathmatiques avec Matlab

On vrie que, partir des polynmes dinterpolation


   

  

  

construits respectivement sur les  points




  


 

on obtient le polynme       construit sur 


points par

    
  
     
 

        

7.1.4.1. Exemple
A partir du tableau de valeurs


 



calculons  
 par lalgorithme dAitken.

On a

 
   
   
   

   
 

 


    
 
   




o    et    sont les polynmes dinterpolation sur 


  et 
 
respectivement. On ritre ensuite pour obtenir

 
   
 

  

  
 

 



  
 

  

On obtient de mme
   
  
Interpolation polynomiale 223

Do


  


    
  

On peut disposer les rsultats dans le tableau

  
 


    
   
 
        
       
  

Ces rsultats sobtiennent sous Matlab de la manire suivante
x0=0 ; x1=2 ; x2=4 ;
f0=3 ; f1=-1 ; f2=3 ;
Px0=f0 ; Px1=f1 ; Px2=f2 ;
x=2.5 ;
Px0x1=((x1-x)*Px0-(x0-x)*Px1)/(x1-x0)
Px0x1= -2
Px1x2=((x2-x)*Px1-(x1-x)*Px2)/(x2-x1)
Px1x2= 0
Px0x1x2=((x2-x)*Px0x1-(x0-x)*Px1x2)/(x2-x0)
Px0x1x2= -0.75

7.1.5. Gestion derreur

7.1.5.1. Rsultat prliminaire


On va estimer lerreur mathmatique

      

dans le cas o la fonction est suppose 


fois drivable sur lintervalle de travail

 et o sa drive dordre 
 est borne.

Posons, pour 


 et  xs

=       
        
  
 
        



Alors la drive dordre 


 de = est

=
 
    
  
        

224 Mathmatiques avec Matlab

dautre part on a

=   =   =     =   

et donc, par application du thorme de Rolle la fonction = dans les intervalles




 

 

 

il existe des points &



 , tels que

= &
  
On ritre le thorme de Rolle pour la fonction = , puisque

= &   = &   = &     = &   

pour avoir cette fois  points &



  tels que

= &   = &   = &     = &    

puis, de proche en proche, il existe un point &  


 tel que 
 
= &   
On en dduit que

    


           
&   

Do le thorme suivant :

7.1.5.2. Thorme

Soit   
 
 une fonction 
 fois drivable, telle que   
soit borne par une constante . Si  dsigne le polynme

dinterpolation de  sur la subdivision 


 de 
, alors on a

pour tout  


      


          

7.1.5.3. Exemple
En utilisant cette dernire ingalit, dans le cas o    
on peut donner
une majoration de lerreur commise en calculant une valeur approche de   
 
par une interpolation utilisant les valeurs de    et    :

   
     
    



 
  
  
   

Interpolation polynomiale 225

avec


 
 

   
 

  
 


On obtient

   
     
   
 

 
  


 


A titre de vrication, on calcule

  
  
 
   
 
 
  
 

         
 

 


puis
 
    
  
Lerreur observe, lie cette mthode dinterpolation est donc

  
    
    



7.2. Approche polynomiale de la drivation

7.2.1. Approche classique

On se donne une fonction      et un point   . On sait alors que, lorsque


 est drivable au point , on a

   
  !    
 !

Cela suggre que pour ! assez petit, on peut approcher   par le rapport

  !    
!

On peut aussi penser utiliser dautres quotients diffrentiels tels que

2 ! 
  !     !  
!

On pourra montrer que, si  est drivable en 

 2 !   

226 Mathmatiques avec Matlab

7.2.2. Approche polynomiale

Dans le cas dune fonction  connue en 


 points quidistants 


 
de 
, avec

  %!
%  




o ! est le pas, on peut approcher  


 par  


7.2.2.1. Exemple dans le cas de deux points


Partant du tableau :
   !
         
le polynme   est
  
 
 
     

do

 
  
    

 
!


  !    
!

       

On retrouve les rsultats de la premire approche.

7.2.2.2. Exemple dans le cas de trois points


Partant du tableau
  !     !
     !        !
et, aprs calcul de   , on trouve

          
  
    
 

         

  
 

      

 

    
Interpolation polynomiale 227

do
   
   
!

  
  


!
    
   

valeurs qui approchent respectivement   ,    et   .

On remarquera que, pour    


on retrouve le quotient diffrentiel 2  ! donn
la n du paragraphe 7.2.1.

7.2.3. Gestion derreur mathmatique

Par drivation de la formule


    


           
&  

vue au paragraphe 7.1.5.1, on dduit que pour une fonction  indniment drivable,
admettant une drive dordre 
 borne, et pour une subdivision de points qui-
distants

  %!

on a la majoration derreur
$
 
   
  



   




A titre illustratif, dans le cas de trois points quidistants, on a, au point 



                  !

o
 
 
  

7.2.4. Etude complte derreur

On va montrer, que le cumul de lerreur mathmatique et des erreurs darrondi


fait quon ne peut pas prendre le pas ! trop petit si on veut optimiser lerreur totale
commise lorsquon confond    avec   
228 Mathmatiques avec Matlab

7.2.4.1. Premire partie


Etant donn le tableau dinterpolation bas sur les trois points quidistants
  !    !
     !          !
on retrouve, grce au calcul symbolique sous Matlab, les approximations polyno-
miales des drives de  aux points dinterpolation.
On calcule dabord les trois polynmes de Lagrange.
syms x x0 h fMoins1 f0 f1
xMoins1=x0-h ;
x1=x0+h ;
LMoins1=(x-x0)*(x-x1)/((xMoins1-x0)*(xMoins1-x1))
LMoins1= 1/2*(x-x0)*(x-x0-h)/h^2
L0=(x-xMoins1)*(x-x1)/((x0-xMoins1)*(x0-x1))
L0= -(x-x0+h)*(x-x0-h)/h^2
L1=(x-xMoins1)*(x-x0)/((x1-xMoins1)*(x1-x0))
L1= 1/2*(x-x0+h)*(x-x0)/h^2

On calcule ensuite   


  et   
P=fMoins1*LMoins1+f0*L0+f1*L1;
Pprime=diff(P,x) ;
Pprime=simple(Pprime) ;
PprimeX0=simple(subs(Pprime,x,x0))
PprimeX0= 1/2/h*(-fMoins1+f1)

On retrouve ainsi     
  


!

7.2.4.2. Deuxime partie


On analyse lerreur mathmatique lie linterpolation et la drivation numrique.

On utilise la formule

     
            & 

Comme on ne connat pas explicitement &  , on dclare la variable symbolique fTier-


ceCx et sa drive fTierceCxprime (on admet lexistence de cette dernire).

syms fTierceCx fTierceCxprime


FmoinsP=(x-xMoins1)*(x-x0)*(x-x1)/6*fTierceCx
FmoinsP= 1/6*(x-x0+h)*(x-x0)*(x-x0-h)*fTierceCx
Interpolation polynomiale 229

Dans le calcul de    


on doit tenir compte de la drive de  & 

FmoinsPprime=diff(FmoinsP,x) +...
fTierceCxprime*(x-xMoins1)*(x-x0)*(x-x1);
FmoinsPprimeX0=simple(subs(FmoinsPprime,x,x0))
FmoinsPprimeX0= -1/6*h^2*fTierceCx

On retrouve ainsi lestimation de lerreur mathmatique

& ! 
          
 ! 

7.2.4.3. Troisime partie


Sachant que sur les donnes  

 , on commet une erreur de mesure (ou
darrondi) dau plus 
cherchons le pas ! optimum pour que lerreur globale commise
sur    en la confondant avec     soit minimale.

On rappelle que

  
   

!
La valeur calcule de     (due aux erreurs sur les donnes) est

  
   

!

Lerreur de mesure est estime par

      
      
  

! !

  

!
      

!


 
!


!


!


On en dduit lestimation de lerreur totale

                     



 !


!


230 Mathmatiques avec Matlab

Il suft de chercher les valeurs de ! relles positives pour lesquelles la fonction

!
 
 ! 
 !

est minimum.
syms epsi M
f=M*h^2/6+epsi/h ;
fPrime=diff(f,h)
fPrime = 1/3*M*h-epsi/h^2
S =solve(fPrime,h) ;
h0 = S(1) %seule la premire solution est relle
h0 = 1/M*3^(1/3)*(epsi*M^2)^(1/3)

Pour vrier quau point




  
!    

la fonction  prsente un minimum, on crit  ! sous forme de quotient 4#.

[N,D]=numden(fPrime)
N =M*h^3-3*epsi
D =3*h^2

Le dnominateur #  !  est strictement positif, et le numrateur 4 est positif si



!

soit
! ! 

Ltude du signe de la drive montre que  est dcroissante sur 


! 
et croissante
sur !

7.2.4.4. Quatrime partie
Illustrons les calculs prcdents numriquement sur la fonction

        

au voisinage de  


Lerreur darrondi est estime par



  

Interpolation polynomiale 231

On peut penser a priori que le pas ! optimum pour approcher    par

  
   
!

est proche de     
  

Le calcul prcdent montre qu il nen est rien, puisquon a ici    


et
au voisinage de

on peut assimiler 3. Do

h0=double(subs(h0,{M,epsi},{3,2^(-52)}))
h0 = 6.0555e-006

Le pas optimum est donc !  


  

Examinons de plus prs lerreur observe

      

lorsque ! prend les valeurs successives :







 

On calcule   

syms x
f= x^5/20 ;
x0 = 1 ;
f0 = double(subs(f,x,x0))
f0 = 0.0500
derExact = double(subs(diff(f),x,x0))
derExact = 0.2500

On calcule pour ! 
 




 (premire colonne du tableau
 1 les valeurs correspondantes de     (deuxime colonne) et enn ler-

reur observe       (en troisime colonne).

for n = 1 :14
h=10^(-n) ;
derApp(n,1) = h ;
fMoins1= double(subs(f,x,x0-h));
f1 = double(subs(f,x,x0+h));
derApp(n,2) = (f1-fMoins1)/(2*h) ;
end
derApp( :,3)=abs(derExact-derApp( :,2)) ;
232 Mathmatiques avec Matlab

format long
derApp
derApp =
0.10000000000000 0.25500500000000 0.00500500000000
0.01000000000000 0.25005000050000 0.00005000050000
0.00100000000000 0.25000050000005 0.00000050000005
0.00010000000000 0.25000000500000 0.00000000500000
0.00001000000000 0.25000000005125 0.00000000005125
0.00000100000000 0.24999999999331 0.00000000000669
0.00000010000000 0.24999999997249 0.00000000002751
0.00000001000000 0.24999999952147 0.00000000047853
0.00000000100000 0.25000000680730 0.00000000680730
0.00000000010000 0.24999998599062 0.00000001400938
0.00000000001000 0.25000002068509 0.00000002068509
0.00000000000100 0.25000834735778 0.00000834735778
0.00000000000010 0.24993895841874 0.00006104158126
0.00000000000001 0.24945323584546 0.00054676415454

On constate que, au-del de la sixime ligne de ce tableau (correspondant ! 


  ),
lerreur observe augmente. Pour ! 
 
lerreur est suprieure celle observe
pour
 !

7.3. Exercices

7.3.1. Calcul dun polynme dinterpolation

Soit  une fonction connue selon le tableau suivant


       
       

1) Donner les trois polynmes de Lagrange >, >


, > .
2) Donner le polynme dinterpolation  en expression symbolique polynomiale
et calculer une approximation de  
3) En supposant que    
donner lerreur absolue commise en confon-
dant   avec   et justier la prcision obtenue.

(solution p. 237)

7.3.2. Polynme de Lagrange et programmation


1) On suppose que les points 


  sont donns dans un tableau
8  8 

8  

8 


Interpolation polynomiale 233

et que les valeurs 




  sont donnes dans un second tableau

?  ? 

?  

? 


Ecrire la fonction
  % 1)>1 
8
? 
qui calcule la valeur du polynme dinterpolation au point , pour 8 et ? donns. On
pourra utiliser une fonction auxiliaire

>$  >1 $

8 

qui calcule > , pour chaque polynme de Lagrange >  


2) Utiliser cette fonction % 1)>1 pour retrouver le polynme  de
lexemple 7.1.3.4.
3) Utilser cette fonction % 1)>1 pour calculer   
o  est le
polynme dinterpolation associ aux valeurs donnes dans lexercice 7.3.1


  

     

(solution p. 237)

7.3.3. Effet de Runge

On considre la fonction  dnie sur  


 par 

   


Pour  entier donn, on note   le polynme dinterpolation de Lagrange associ
aux valeurs
 



    
 
 

 
et



     
  

   
Pour comparer  et 
on reprsente ces deux fonctions sur un mme graphique. On
effectuera cette comparaison successivement pour

  
 

  

(on pourra utiliser la fonction % 1)>1 construite lexercice 7.3.2).

(solution p. 239)
234 Mathmatiques avec Matlab

7.3.4. Mthode dAitken et programmation

Ecrire la fonction rcursive

  % $ 
8
? 

qui calcule, par la mthode dAitken, la valeur du polynme dinterpolation au point


, pour

8  8 

8  

8 


et
?  ? 

?  

? 


donns (on reprend les notations de lexercice 7.3.2).

(solution p. 241)

7.3.5. Complexit de calcul de polynme dinterpolation

On sintresse au nombre doprations lmentaires (additions, soustractions, mul-


tiplications, divisions) ncessaires au calcul de


   
>


   
pour 







 donns.
1) Donner le nombre doprations effectues pour calculer chaque polynme de
Lagrange

>  
               
 

              


  


2) En dduire le nombre total doprations pour calculer  

(On pourra analyser les fonctions >1 et % 1)>1 de lexercice


7.3.2).

(solution p. 242)
Interpolation polynomiale 235

7.3.6. Formule barycentrique de Lagrange

Le but de cet exercice est dobtenir une expression permettant dvaluer le poly-
nme dinterpolation en effectuant moins de calculs quavec les polynmes de La-
grange :

>  
                


               


 


1) Obtention de la formule barycentrique de Lagrange (les relations ci-dessous


peuvent sobtenir par des raisonnements et calculs simples ; on pourra aussi les vrier
avec Matlab pour une valeur raisonnable de 
par exemple   
a) Montrer que

>  


(considrer le polynme identiquement gal
et son polynme dinterpolation as-

soci aux points 


 ) 
 
b) Pour 


 quelconques, on note

   
>




le polynme dinterpolation associ. On dnit
$
2              




et, pour tout $  

$
    
 

Vrier que, pour    

2
>  
    
c) Dduire des deux questions prcdentes, que, pour   


 

2 

    
et enn
 

   
   

    
(formule barycentrique de Lagrange).
236 Mathmatiques avec Matlab

2) a) Ecrire une fonction Matlab


  coeff 8 
qui calcule   


  en fonction de 8  


 
b) Ecrire une fonction Matlab
   1 1 
8
?


qui calcule   en utilisant le plus judicieusement possible la formule barycentrique


de Lagrange(on note ?  


 ).
3) Dterminer le nombre doprations lmentaires correspondant au calcul de co-
eff 8 , puis au calcul de 1 1
8
?
 On notera que le calcul de  est
faire une seule fois (pour 8 donn), et que seul le calcul de   est refaire pour
chaque nouvelle valeur de 

(solution p. 242)

7.3.7. Complexit de calcul par la mthode dAitken


1) Donner le nombre doprations lmentaires ncessaires pour calculer  
va-
leur du polynme dinterpolation au point , pour
8  8 

8  

8 

?  ? 

?  

? 

donns, par la version rcursive de lalgorithme dAitken (voir exercice 7.3.4).
2) Ecrire une version itrative de cet algorithme
  % $  
8
? 
construisant un tableau triangulaire deux dimensions  qui sera une gnralisation
de celui construit dans lexemple 7.1.4.1 :
- dans la premire colonne, on aura, pour % 




 %

   
  ? %

- dans la deuxime colonne, on aura, pour % 





 %
   
 


- dans la :
 colonne, on aura, pour %  :



 %
:    
  
 
3) Donner le nombre doprations ncessaires pour obtenir ce tableau  

(solution p. 246)
Interpolation polynomiale 237

7.4. Solutions

Exercice 7.3.1
1) Pour calculer le polynme  
on dclare les tableaux de valeurs symboliques
8 et .
puis on calcule les polynmes de Lagrange >  
> 
>
 (Attention
au dcalage des indices).
X=sym([0 pi/6 pi/4]) ;
F=sym([0 1/2 sqrt(2)/2]) ;
syms x
L1=(x-X(2))*(x-X(3))/((X(1)-X(2))*(X(1)-X(3)))
L1= 24*(x-1/6*pi)*(x-1/4*pi)/pi^2
L2=(x-X(1))*(x-X(3))/((X(2)-X(1))*(X(2)-X(3)))
L2= -72*x*(x-1/4*pi)/pi^2
L3=(x-X(1))*(x-X(2))/((X(3)-X(1))*(X(3)-X(2)))
L3= 48*x*(x-1/6*pi)/pi^2

2) On peut alors calculer   


puis   

P2=F(1)*L1+F(2)*L2+F(3)*L3
P2=
-36*x*(x-1/4*pi)/pi^2+24*2^(1/2)*x*(x-1/6*pi)/pi^2
P2DepiSur5=subs(P2,sym(pi/5))
P2DepiSur5 = 9/25+4/25*2^(1/2)
P2DepiSur5App=double(P2DepiSur5)
P2DepiSur5App= 0.5863

3) On calcule galement      et lerreur absolue commise en rem-


plaant   par   

sin(pi/5)
ans= 0.5878
err= abs( P2DepiSur5App-sin(pi/5))
err = 0.0015

Le fait que lerreur obtenue est petite sexplique par le fait que le graphe de la fonction
sinus sur lintervalle 
 est proche dune parabole.

Exercice 7.3.2
1) On dnit une fonction Lagrange qui calcule de manire itrative
%
  8 %

 


>   %
 8 % 
8 $ 

 


238 Mathmatiques avec Matlab

La valeur de  est donne par le nombre dlments de 8


diminu de 1.
function Lkx=Lagrange(k,x,X)
n=length(X)-1 ;
Lkx=1 ;
for i=1 :k-1
Lkx=Lkx*(x-X(i))/(X(k)-X(i));
end
for i=k+1 :n+1
Lkx=Lkx*(x-X(i))/(X(k)-X(i));
end

On utilise ensuite la relation




   ? $ > 
 
function Px=interpolLagrange(x,X,Y)
n=length(X)-1 ;
Px=0 ;
for k=1 :n+1
Px=Px+Y(k)*Lagrange(k,x,X);
end
2) On applique la fonction prcdente aux tableaux de valeurs symboliques
8  
 
?  
 

syms x0 x1 f0 f1 x ;
X=[x0 x1] ; Y=[f0 f1] ;
syms x
Px=interpolLagrange(x,X,Y)
Px = f0*(x-x1)/(x0-x1)+f1*(x-x0)/(x1-x0)
On retrouve lexpression

  
 
 
     

de lexemple 7.1.3.4.
3) On dnit les tableaux 8 et ? , et on calcule    

X=[0 pi/6 pi/4] ;


Y=sin(X) ;
PdePiSur5= interpolLagrange(pi/5,X,Y)
PdePiSur5 = 0.5863
Interpolation polynomiale 239

Exercice 7.3.3

On dnit la fonction  et on construit sa reprsentation graphique sur lintervalle



   


syms x real
f=1/(1+x^2) ;
a=-5 ;b=5 ;
ezplot(f,a,b)
hold on ;grid on

Pour   
on dnit les tableaux 8  

  et

.    
  
   

n=5
X=[a :(b-a)/n :b]
X = -5 -3 -1 1 3 5
F=1./(1+X.^2)
F = 0.0385 0.1000 0.5000 0.5000 0.1000 0.0385

On dnit ensuite le polynme dinterpolation 


et on le reprsente graphiquement

Pn=interpolLagrange(x,X,F);
set(gca,LineStyle,- -)
ezplot(Pn,a,b)
legend (y=f(x),y=Pn(x))
axis auto
title(n=5)
dessineRepere
240 Mathmatiques avec Matlab

n=5
1.2

y=f(x)
y=Pn(x)
1

0.8

0.6

0.4

0.2

0.2
5 4 3 2 1 0 1 2 3 4 5
x

On effectue le mme traitement pour  




n=10

2
y=f(x)
y=Pn(x)

1.5

0.5

5 4 3 2 1 0 1 2 3 4 5
x
Interpolation polynomiale 241

On constate que la courbe reprsentative de   est plus proche de celle de 


sauf aux
extrmits. Ce phnomne est encore accentu pour    :
n=20

y=f(x)
2
y=Pn(x)

1.5

0.5

0.5

1.5

5 4 3 2 1 0 1 2 3 4 5
x

on lappelle effet de Runge.

Exercice 7.3.4

On utilise les relations :


pour 
:
    


8 
   



 8 
   
 

8 
  8 

pour    :
    ? 


Do :
function y = aitkenRec(x,X,Y)
n=length(X)-1 ; % Le tableau est [X(1), ...,X(n+1)]
if n==0
y=Y(1) ;
else
Q=aitkenRec(x,X(2 :n+1),Y(2 :n+1)) ;
R=aitkenRec(x,X(1 :n),Y(1 :n)) ;
y=((X(n+1)-x)*R-(X(1)-x)*Q)/(X(n+1)-X(1));
end
242 Mathmatiques avec Matlab

On peut tester lutilisation de cette fonction sur lexemple 7.1.4.1.

X=[0 2 4] ;
Y=[3 -1 3] ;
aitkenRec(2.5,X,Y)
ans = -0.7500

Exercice 7.3.5

On reprend les notations de lexercice 7.3.2.


1) Pour calculer >  
on doit rpter  fois linstruction

>  >   8 %8 $  8 %

soit   oprations lmentaires.


2) Pour calculer  
on doit rpter 
fois linstruction

    ? $ >1 $

8 

En tenant compte de la premire question, cela fait  oprations lmentaires


rpter 
fois. Soit au total


      

Remarque
On a vri que le nombre doprations ncessaires pour calculer   est en
* 
  (voir remarque 7.1.2.1).

Exercice 7.3.6
1) a) Le polynme constant gal 1 peut tre considr comme le poly-

nme dinterpolation associ aux valeurs 


 et 



   



 
En appliquant la formule de Lagrange, on a donc




> 

Interpolation polynomiale 243

Vrication avec Matlab dans le cas   : on utilise les fonctions Lagrange et


interpolLagrange de lexercice 7.3.2 (solution p. 237).

syms x0 x1 x2 x3 x
X=[x0 x1 x2 x3] ;
n=3 ;
for i =1 :n+1,
Lk(i)=Lagrange(i,x,X);
end
simplify(sum(Lk))
ans = 1

On calcule aussi le polynme dinterpolation associ aux valeurs




   




Y=[1 1 1 1 ] ;
Px=interpolLagrange(x,X,Y);
simplify(Px)
ans = 1

b) Il suft de remarquer que


$
    


est le dnominateur de >  


et que, pour    


 
le numrateur de
>  peut scrire
2
    
On effectue la vrication avec Matlab : on calcule 2 en utilisant la fonction prod.

Qx=prod(x-X)
Qx = (x-x0)*(x-x1)*(x-x2)*(x-x3)

On calcule de mme $  en utilisant un tableau intermdiaire   dans lequel ne


gure pas 8 $ 
for k=1 :n+1
Tab=[X(1 :k-1) X(k+1 :n+1)] ;
A(k)=prod(X(k)-Tab);
end
A(1)
ans =(x0-x1)*(x0-x2)*(x0-x3)
244 Mathmatiques avec Matlab

On calcule  
2 2


      



en utilisant les oprations globales sur les tableaux (./, .*)
T=Qx./((x-X).*A) ;
T(1)
ans =(x-x1)*(x-x2)*(x-x3)/(x0-x1)/(x0-x2)/(x0-x3)

On vrie que les lments de  sont gaux ceux de > 


T-Lk
ans =[ 0, 0, 0, 0]

c) Des deux questions prcdentes, on dduit


  2 


 >    2
 
      
   

do

2  


    
Et enn

    > 



 2


   
 

      


    
Vrions la premire galit avec Matlab, en comparant

,  

    
avec 2.
S=1/sum(1./((x-X).*A));
S=simplify(S)
S = (-x+x3)*(-x+x2)*(x-x1)*(x-x0)
simplify(S-Qx)
ans =0
Interpolation polynomiale 245

2) a) La fonction  coeff 8  place dans le tableau  les coefcients





 
function A=coeff(X)
n=length(X)-1 ;
for k=1 :n+1
A(k)=coeffk(X,k,n);
end
Elle utilise une fonction auxiliaire $ coeffk8
$
 qui calcule un lment
$
$   8 $   8 % 


function Ak=coeffk(X,k,n)
Ak=1 ;
for i=1 :k-1
Ak=Ak*(X(k)-X(i)) ;
end
for i=k+1 :n+1
Ak=Ak*(X(k)-X(i)) ;
end
b) On calcule en mme temps
 ? $ 

4

  8 $$
et




#
  8 $$

ce qui permet de ne calculer quune fois



5)
  8 $$ 
Le rsultat nal est videmment 4#
function Pnx=lagrangeBar(x,X,Y,A)
n=length(X)-1 ;
N=0 ; D=0 ;
for k=1 :n+1
quot=1/(A(k)*(x-X(k)));
N=N+Y(k)*quot ;
D=D+quot ;
end
Pnx=N/D ;
246 Mathmatiques avec Matlab

3) Pour calculer chacun des coefcients $ 


on doit rpter  fois linstruction

$  $ 8 $  8 %

soit  oprations lmentaires. Le nombre doprations pour obtenir lensemble


du tableau  est donc

    
Pour calculer 1 1
8
?

on rpte 
fois le calcul de 5) (3
oprations), la mise jour de 4 (2 oprations) et celle de # (1 opration). Le nombre
total doprations est donc


 
   

Le principal avantage de cette formule barycentrique est que le calcul de  est faire
une seule fois (pour 8 donn), et que chaque nouveau calcul de   ne ncessite que
*  oprations.

Exercice 7.3.7
1) On calcule ce nombre  doprations par rcurrence sur  en reprenant la
version rcursive de lalgorithme dAitken, dont la solution est donne p 7.4.
- Si   , on doit effectuer linstruction

  ? 

qui ne ncessite aucune opration arithmtique lmentaire.
- pour  
on doit effectuer la suite dinstructions

2  % $ 3 &
8   

?   

3  % $ 3 &
8 
 
? 
 
  8 
    3  8 
    28 
  8 


do
    
On a alors
  
  
 

On pourra montrer par rcurrence que

   

Ce nombre crot trs vite avec 
2) On construit le tableau  en utilisant les relations

 %

   
  ? %

Interpolation polynomiale 247

puis
 %
: 

  
  




8 %   
  

 
8 % 8 % :


 8 %  :8 
%  8% :

 



 



8 %    % 

: 
  8 %  :
    %
: 


8 %  8 %  :

function T= aitkenIte(x,X,Y)
n=length(X)-1 ;
for i=1 :n+1
T(i,1)=Y(i) ;
end
for j=2 :n+1
for i=j :n+1
num=(X(i)-x)*T(i-1,j-1)-(X(i-j+1)-x)*T(i,j-1);
T(i,j)=num/(X(i)-X(i-j+1));
end
end
On teste avec les donnes de lexemple 7.1.4.1, et on retrouve le tableau triangulaire
infrieur, complt par des 
X=[0 2 4] ;
Y=[3 -1 3] ;
T=aitkenIte(5,X,Y)
T=
300
-1 -7 0
358

3) La premire colonne du tableau sobtient sans effectuer doprations arithm-


tiques. Tous les autres termes du tableau se calculent laide de  oprations. Le
tableau entier sobtient donc colonne aprs colonne par un nombre doprations gal




 
     

Le nombre doprations est en *  , comme pour la mthode de Lagrange.


Cet algorithme itratif est surtout intressant si on ajoute un point dinterpolation sup-
plmentaire  
    Il ny a pas lieu de recalculer le tableau 
mais seulement
dy ajouter une 

 ligne, soit 
 nouvelles oprations.
248
Chapitre 8

Intgration numrique

8.1. Description de la mthode

On donne une fonction numrique  dnie et intgrable sur 


 suppose connue
(grce aux mesures) en 
 points selon le tableau :

    
                  

&
Pour approcher le nombre exact      , lide est la suivante :

on remplace   par son polynme dinterpolation  

&
on calcule      ,

  
on estime lerreur   .

Une telle mthode est appele souvent mthode de quadrature. On dcrira celles
qui font appel linterpolation polynomiale de degr ,
et  On obtient respective-
ment les formules simples des rectangles, des trapzes et de Simpson.

249
250 Mathmatiques avec Matlab

Mthode simple des trapzes

y=f(x)

y=P1(x)

a b

En pratique, on subdivise lintervalle 


 en plusieurs petits intervalles :

 % 
!
 %!
% 





de longueur !   , auxquels on applique la formule simple puis par somma-
tion, on dduit les formules dites composites.

Mthode des trapzes composite

a a+h a+2h b

Le choix de la mthode dpend gnralement du type de fonctions quon doit


intgrer. On peut ventuellement combiner les trois mthodes (rectangles, trapzes,
Simpson) sur des intervalles bien choisis.
Intgration numrique 251

8.2. Mthode des rectangles

8.2.1. Formules simples


Supposons que  est connue en un point  
. Le polynme dinterpolation
de  est la constante      Le nombre  est donc approch par

& &
            
 
Mthode simple des rectangles

y=f(x)

f(alpha)

a alpha b

Dans le cas particulier o le point  est le milieu de 




 
 

on obtient


      


Cest la formule simple des rectangles point-milieu.

8.2.2. Formules composites

On gnralise les formules prcdentes 


 points quidistants

  
   !


  %!

  

o
! 
  

252 Mathmatiques avec Matlab

En appliquant le mme principe dinterpolation de degr  sur chaque intervalle




 

on approche   par     


, o


 


 

et on obtient la formule composite des rectangles :


 
 & 
 
 
     


 


qui devient dans le cas des rectangles point-milieu

 
 
 & 
 
 
     




 

8.3. Mthode des trapzes

8.3.1. Formule simple

On utilise linterpolation deux points. Si on suppose connue  aux deux points 


et , on a vu que
  
  
         
Par intgration, on obtient

 
&
   
      


8.3.2. Formule composite

En gnralisant le mme principe aux 


 points quidistants prcdents, on
obtient
! 
 
&
   



   
  
 


'


(


  

   


 
 



On utilise usuellement la dernire formule plus conomique en nombre doprations
arithmtiques.
Intgration numrique 253

8.4. Mthode de Simpson

8.4.1. Formule simple

On suppose connue  aux trois points quidistants de 



 
  
    !
  !

le pas est !      Alors

      
    
!


     

 

!

      
 

!

et aprs intgration, on obtient

 
&
   
     
    
 

Cest la formule simple dite de Simpson.


Mthode simple de Simpson

y=f(x)

y=P2(x)

a b
254 Mathmatiques avec Matlab

8.4.2. Formule composite

On ritre la formule prcdente en partageant lintervalle 


 en

( 

intervalles 


 
centrs en 

de longueur

! 
     
( 

pour %  



( 
; on obtient, dabord sur  


 ,

!
     
  
   
 



et ensuite, la formule composite de Simpson

 &
"    

'  (




!
       %!     %
! 



8.5. Gestion derreur

On se bornera ltude de lerreur mathmatique commise dans la mthode des


trapzes et celle de Simpson.

8.5.1. Erreur dans la mthode des trapzes

En formule simple on a vu que la quantit

 
     
approche


    


En posant    !, il vient

!        !    ! 

Intgration numrique 255

En supposant ensuite que  admet des drives successives continues jusqu lordre
2, on montre, grce un dveloppement de Taylor de ! lordre 2 quon a

     !

 
  

En formule composite, on dduit que

  !   



 
  

8.5.2. Erreur dans la mthode de Simpson

Utilisant la mthode prcdente on trouve lestimation de lerreur suivante, en


composite, pour des fonctions  admettant des drives successives continues jusqu
lordre 4
 " 
 
   
    

  

Lorsquon connait une majoration de    , le pas choisi ! qui permet davoir
au plus une erreur  vrie ncssairement


 
 



do

  
!   



ou bien )


!  
  



Le pas ! est en * 
  

Si on veut viter dutiliser une majoration de   


on effectue les approxi-
 
mations " et " de  de pas respectifs ! et ! . La deuxime est peu coteuse,
puisquelle utilise certaines valeurs dj calcules. On ritrera les calculs, en rempla-
ant ! par !
et en effectuant le test darrt


"  "   
256 Mathmatiques avec Matlab

8.6. Exercices

8.6.1. Utilisations des mthodes des trapzes et de Simpson


1) Crer le chier f1.m correspondant la fonction
     !
2) Donner son graphe sur lintervalle 

 et dire quelle est la mthode dintgra-
tion numrique adapte pour le calcul approch de


    

3) Calculer les valeurs approches  et  de  par la mthode des trapzes et de


Simpson lorsquon utilise la subdivision 






4) Comparer avec la valeur donne par la fonction int de Matlab.

(solution p. 257)

8.6.2. Programmation
1) Ecrire une fonction
    1 6 ( )&




qui permet de calculer une valeur approche de




 )&


en utilisant la formule composite des trapzes, avec le pas
!     
On pourra crire deux versions :
a) lune utilisant un traitement itratif naturel ;
b) lautre utilisant les oprations globales sur les tableaux
8    ! !
?   )&8 
2) Ecrire de mme une fonction
(  ISimpson )&




(solution p. 259)
Intgration numrique 257

8.6.3. Calculs approchs dintgrales et gestion derreur

Soit la fonction
      ! 
 
1) Donner le graphe de cette fonction et une majoration de   et de   
sur lintervalle 

2) Combien dintervalles doit-on prendre pour obtenir, par la mthode composite
des trapzes, une valeur approche
 
prs de



   


3) Mme question avec la mthode de Simpson.


4) Calculer  et  ( pour les subdivisions respectives obtenues.
5) Vrier le calcul de  en utilisant les fonctions prdnies de Matlab trapz et
quad.
6) Comparer les rsultats prcdents avec la valeur exacte donne par Matlab.

(solution p. 261)

8.7. Solutions

Exercice 8.6.1

1) On dnit le chier texte f1.m

% fonction calculant y=exp(-x^2)


function y=f1(x)
y=exp(-x.^2) ;

2) On utilise la commande fplot pour obtenir le graphe de la fonction ainsi dnie.

fplot(f1,[0 1])
grid on
title(fonction f(x)=exp(-x^2))
258 Mathmatiques avec Matlab

2
fonction f(x)=exp(x )
1

0.9

0.8

0.7

0.6

0.5

0.4

0.3
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Lallure de la courbe suggre lutilisation de la mthode des trapzes ou de Simpson.


3) On utilise les formules composites des trapzes et de Simpson avec la subdivi-
sion 





 Ici, le pas est

!     

It=((f1(0)+f1(1))/8)+((f1(1/4) +...
f1(2/4)+f1(3/4))/4)
I =0.7430
Is=((f1(0)+f1(1))/12)+((2*f1(2/4) + ...
4*f1(1/4)+4*f1(3/4))/12)
Is = 0.7469

4) Sous Matlab on a

syms x
Iexact =int(f1(x),0,1)
Iexact =1/2*erf(1)*pi^(1/2)
double(Iexact)
ans = 0.7468

La fonction   na pas de primitive explicite. Matlab utilise la fonction :



  $   !    

On constate que Is est plus proche de Iexact que It.


Intgration numrique 259

Exercice 8.6.2
1) a) On utilise les formules



  )&  )& 
,   )& %!





  !,
Lorsquon dclare
 & %)     1 6 ( )&




le paramtre  )& reprsente le nom du chier contenant la fonction mathmatique


 )& On utilise alors feval )&
 pour calculer  )& Do le programme it-
ratif :
function It =ITrapezesA(fonc,a,b,n)
h = (b-a)/n ;
S=(feval(fonc,a)+feval(fonc,b))/2;
for i=1 :n-1
S=S+feval(fonc,a+i*h) ;
end
It=S*h ;

On le teste, sur la fonction f1 de lexercice 8.6.1 (cest le nom de cette fonction, sous
forme de chane de caractres, qui doit tre pass en paramtre).
ITrapezesA(f1,0,1,4)
ans =0.7430

b) Pour crer le tableau


8    ! !

dont la dernire valeur  ! est exactement 


et pour viter le cas o larrondi de
 ! est strictement suprieur 
on dclare

8    !   ! 

On a
function It =ITrapezesB(fonc,a,b,n)
h = (b-a)/n ;
X =a :h :b+h/2 ;
Y= feval(fonc,X) ;
It= (h/2)*(Y(1)+Y(n+1))+h*sum(Y(2 :n)) ;

Ici ( ?    calcule




 )& %!


260 Mathmatiques avec Matlab

On teste sur la fonction 

ITrapezesB(f1,0,1,4)
ans =0.7430

Lutilisation des oprations globales sur les tableaux de valeurs conduit une syntaxe
moins naturelle, mais permet de minimiser les temps de calcul, lorsque le nombre 
dintervalles devient grand :

tic ;It=ITrapezesA(f1,0,1,15000);toc
elapsedtime = 0.9237
tic ;It=ITrapezesB(f1,0,1,15000);toc
elapsedtime = 0.0031

2) On dnit les tableaux


8   

8   !  !

!
8   !  !  !

en tenant compte comme prcdemment des erreurs ventuelles darrondi. On cal-


culera sum(Y0), sum(Y1) et sum(Y2) reprsentant les trois sommes respectives de la
formule de Simpson :
' (

 

!
        %!     %
! 



Do
function Is =ISimpson(fonc,a,b,n)
h = (b-a)/n ;
s=n/2 ;
X0=[a b] ;
X1= a+2*h :2*h :b-h ;
X2=a+h :2*h :b ;
Y0=feval(fonc,X0) ;
Y1=feval(fonc,X1) ;
Y2=feval(fonc,X2) ;
Is=h/3*(sum(Y0)+2*sum(Y1)+4*sum(Y2));

Le test sur 
donne
ISimpson(f1,0,1,4)
ans =0.7469
Intgration numrique 261

Exercice 8.6.3
1) On dclare la fonction et on trace son graphe

function y=f2(x)
y=exp(-x).*cos(x);

fplot(f2,[0 2*pi])
grid on ; dessineRepere
1.2

0.8

0.6

0.4

0.2

0.2
0 1 2 3 4 5 6

On calcule les drives seconde et quatrime de 

syms x real
f2seconde=diff(diff(f2(x)))
f2seconde = 2*exp(-x)*sin(x)
f2quatrieme=diff(diff(f2seconde))
f2quatrieme = -4*exp(-x)*cos(x)

On en dduit que ces drives sont majores respectivement par et  sur lintervalle

 .
2) Pour trouver les subdivisions demandes on utilise les estimations derreur

  !   



 
  

 
  "   


 

 
  
Il vient, pour la mthode des trapzes

a=0 ;b=2*pi ;epsilon=1e-3 ;


nT=ceil(((b-a)^3/(6*epsilon))^(1/2))
nT = 204
262 Mathmatiques avec Matlab

3) De mme, pour celle de Simpson

nS=ceil(((b-a)^5*4/(180*epsilon))^(1/4))
nS = 22

Il faut donc prendre 204 intervalles (et 205 points) pour la mthode composite des
trapzes, alors quil suft dutiliser 
 points, et (   

intervalles
pour obtenir la mme prcision de
 
par la mthode de Simpson.
4)
It=ITrapezesB(f2,0,2*pi,204)
It = 0.4991
Is = ISimpson(f2,0,2*pi,22)
Is = 0.4990

5) La fonction prdnie de Matlab, trapz(X,Y), applique la mthode composite


des trapzes. On lui passe en paramtres

8  


 

et
?    
  

  
On obtient ici
n=204 ;
X1=0 :2*pi/n :2*pi+pi/n ;
X=X1 ;
Y=f2(X) ;
ItMatlab=trapz(X,Y)
ItMatlab = 0.4991

quad 


( calcule, en utilisant la mthode de Simpson, une valeur approche
( prs de


 


quad(f2,0,2*pi,1e-3,1)
ans = 0.4991

6) La fonction prdnie int de Matlab donne, lorsque cela est possible, la valeur
exacte de lintgrale.
Iexact=int(f2(x),0,2*pi)
Iexact = -1/2*exp(-2*pi)+1/2
double(Iexact)
ans = 0.4991
Bibliographie

[BAR 02] A. BARRAUD, "Outils danalyse numrique pour lautomatique", Hermes, Paris
2002.
[BRE 88] C. B RZINSKI, "Algorithmique numrique", Ellipses, Paris, 1988.
[CAL 77] B. C ALVO , J. D OYEN , A. C ALVO , F. B OSCHET, "Cours danalyse III, dveloppe-
ments limits, courbes, quations diffrentielles", Collection U, Armand Colin, Paris, 1977.
[DAU 97] M. DAUMAS , J-M. M ULLER, "Qualit des calculs sur ordinateur", Informatique,
Masson, Paris, 1997.
[DEM 79] B. D EMIDOVITCH , I. M ARON, "Mathmatiques", Mir, Moscou, 1979.
[LAR 96] C. L ARCHER , M. P RIENTE , J.-C. ROY, "Lessentiel du cours, 300 exercices com-
ments et rsolus", Techniplus, 1996.
[LEL 72] J. L ELONG -F ERRAND , J.M. A RNAUDIES, "Cours de Mathmatiques, tome 2 : ana-
lyse", Dunod, Paris, 1972.
[MON 90] J.M. M ONIER, "Analyse, tome I, 800 exercices rsolus et 18 sujets dtude, 1er
cycle universitaire", Dunod, Paris, 1990.
[SAI 89] J. H. S AIAC, "Linformatique applique au calcul scientique", Dunod, Paris, 1989
[THE] R. T HODOR, "Initiation lanalyse numrique", CNAM, cours A, Masson,3ime di-
tion, 1992.
[WIL 65] J.H. W ILKINSON, "The algebraic eigenvalue problem", monographs on numerical
analysis, Oxford science publications, 1965.

263
264
Index

A continue droite (fonction) 46


continue gauche (fonction) 46
absorption (erreur d) 154
continue par morceaux (fonction) 94
accroissements nis (thorme des ) 52
convergente (suite) 20
acos 60
croissante (fonction) 40
Aitken (algorithme d) 221
croissante (suite) 24
approximation afne (dune fonction) 50
approximations successives (mthode des) D
186
arccos 60 Darboux (sommes de) 91
arcsin 58 dec2base 127
arctan 60 dec2bin 127
arrondi 132 dec2hex 127
asin 58 dcomposition en lments simples 107
asymptote 74 deconv 106
atan 61 dcroissante (fonction) 40
axis 40 dcroissante (suite) 24
axis auto 55 drive (dune fonction) 49
drives successives 51
B dessineRepere (fonction utilisateur) 39
dveloppement limit 72
base (de numration) 125 diag 164
base2dec 127 dichotomie (mthode de) 184
bijective 41 diff 50, 52
bin2dec 127 digits 132
borne (fonction) 37 divergente (suite) 20
borne (suite) 18 division euclidienne (de polynmes) 105

C E
cancellation (erreur de) 156 eps 141
ceil 185 erreur absolue 146
changement de variable 101 erreur daffectation 148
continue (fonction) 46 erreur relative 146

265
266 Mathmatiques avec Matlab

erreurs doprations 146 majore (fonction) 37


extremum 38 majore (suite) 17
ezplot 65 mantisse 130
maximum 38
F minimum 37
minore (fonction) 37
feval 259
minore (suite) 17
gure 203
monotone (suite) 24
oor 82
fonctions trigonomtriques inverses 57
N
format hex 135
fplot 57, 257 Newton (mthode de) 192
fraction rationnelle 107 numden 110

H P
hex2dec 127 paire (fonction) 39
hexadcimale (base) 126 priodique (fonction) 39
Horner (schma de) 142 point xe (mthode de) 186
ple (dune fraction rationnelle) 107
I poly2sym 105
polynme de Lagrange 219
impaire (fonction) 39
primitive (dune fonction) 97
indtermination (recherche de limite) 23
injective 41
Q
int 100, 262
intgrable (fonction) 93 quad 257, 262
intgrale de Riemann 91
intgration numrique 249 R
intgration par parties 103
realmax 141
interpolation polynomiale 217
realmin 141
irrductible (fraction rationnelle) 107
rciproque (fonction) 41
rectangles (mthode des) 251
L
repre (dessiner avec Matlab) 40
Landau (notations de) 68 residue 109, 111
legend 59 Rolle (thoreme de) 52
Leibnitz (formule de) 51
limit 23, 43 S
limite (dune fonction) 42
set 65
limite droite (fonction) 44
Simpson (mthode des) 253
limite gauche (fonction) 43
strictement croissante (suite) 24
limite dune suite 19
strictement dcroissante (suite) 24
limite innie 22, 23
subdivision 91
LineStyle 65
suite numrique 17
LineWidth 40
suite rcurrente 25
suites de rfrence 20, 21
M
surjective 41
Mac-Laurin (formule de) 71 sym2poly 105
Index 267

symsum 95 trapzes (mthode des) 252


trapz 257, 262
T troncature 132
tangente (mthode de la) 192
V
taylor 72
Taylor-Lagrange (formule de) 69 valeurs intermdiaires (theorme des) 48
Taylor-Young (formule de) 71 virgule ottante normalise 131
terme gnral (dune suite) 17 vpa 132

Vous aimerez peut-être aussi