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 . . . . . . . . . .


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

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

17
17
18
19
19
19
22
22
22
23
23
24
25
25
25
28
28
28
29
29

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

37

2.1. Rappels gnraux sur les fonctions . . . . . . . . . . . . . . . . . . . . .


2.1.1. Majoration dune fonction et extrema . . . . . . . . . . . . . . . .

37
37

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Mathmatiques avec Matlab

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

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

38
39
39
40
41
42
42
44
44
46
46
47
47
48
48
49
50
51
51
52
53
55
57
57
58
60
60
61
67
67
68
68
69
69
72
73
76
76
76
77
77
78
78

Table des matires

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


2.9. Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78
79

Chapitre 3. Intgration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

3.1. Intgrale de Riemann . . . . . . . . . . . . . . . . .


3.1.1. Dnitions . . . . . . . . . . . . . . . . . . . .
3.1.2. Exemple . . . . . . . . . . . . . . . . . . . . .
3.1.3. Proprits gnrales . . . . . . . . . . . . . . .
3.2. Primitive dune fonction . . . . . . . . . . . . . . . .
3.2.1. Cas dune fonction continue . . . . . . . . . .
3.2.2. Cas dune fonction intgrable quelconque . .
3.2.3. Notation . . . . . . . . . . . . . . . . . . . . . .
3.3. Calcul intgral . . . . . . . . . . . . . . . . . . . . .
3.3.1. Calcul intgral avec Matlab . . . . . . . . . . .
3.3.2. Changement de variable . . . . . . . . . . . . .
3.3.3. Intgration par parties . . . . . . . . . . . . . .
3.4. Dcomposition en lments simples . . . . . . . . .
3.4.1. Les fonctions polynmes . . . . . . . . . . . .
3.4.2. Fractions rationnelles . . . . . . . . . . . . . .
3.4.3. Exemples . . . . . . . . . . . . . . . . . . . . .
3.5. Intgration de fractions rationnelles . . . . . . . . .
3.6. Exercices . . . . . . . . . . . . . . . . . . . . . . . .
3.6.1. Calculs de primitives usuelles . . . . . . . . .
3.6.2. Linarisations dexpressions trigonomtriques
3.6.3. Changement de variable (1) . . . . . . . . . .
3.6.4. Changement de variable (2) . . . . . . . . . .
3.6.5. Dcomposition en lments simples . . . . .
3.7. Solutions . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

91
91
95
96
97
97
98
100
100
100
101
103
104
104
107
108
112
114
114
114
115
115
115
116

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


Chapitre 4. Arithmtique de lordinateur

. . . . . . . . . . . . . . . . . . . 125

4.1. Reprsentation des entiers . . . . . . . . . . . . .


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

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

125
125
126
127
127
127
129
129
130
130
130

Mathmatiques avec Matlab

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

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

131
131
132
133
134
136
136
137
138
140
140
140
141
141
141

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


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

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

146
146
146
147
148
148
149
150
150
151
151
152
154
155
156
156
156
157
158
161
161
162
163
163
164
166

Table des matires

5.9. Exercices . . . . . . . . . . . . . . . . . . . .
5.9.1. Erreur doprations . . . . . . . . . . .
5.9.2. Erreurs dabsorption et de cancellation
5.9.3. Non associativit de laddition machine
5.9.4. Choix de formules de calcul . . . . . .
5.9.5. Choix ditrations de calculs . . . . . .
5.9.6. Sujet dtude . . . . . . . . . . . . . . .
5.10.Solutions . . . . . . . . . . . . . . . . . . . .
Chapitre 6. Approximation de racines dquations

. . . .
. . . .
. . . .
. . .
. . . .
. . . .
. . . .
. . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

167
167
167
167
168
168
169
170

. . . . . . . . . . . . . . 183

6.1. Mthode de la dichotomie . . . . . . . . . . . . . . . . . . . .


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

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

184
184
184
185
186
186
187
187
187
190
191
192
192
194
195
196
200
200
207
207
207
207
208
208
209

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


7.1. Le polynme dinterpolation dune fonction
7.1.1. Dnitions . . . . . . . . . . . . . . . .
7.1.2. Thorme dexistence et dunicit de 
7.1.3. Polynme de Lagrange . . . . . . . . .
7.1.4. Algorithme dAitken . . . . . . . . . .
7.1.5. Gestion derreur . . . . . . . . . . . . .

. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .

217
217
218
219
221
223

10

Mathmatiques avec Matlab

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


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

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

225
225
226
227
227
232
232
232
233
234
234
235
236
237

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


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

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

249
251
251
251
252
252
252
253
253
254
254
254
255
256
256
256
257
257

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

Avant-propos

Le but de cette collection "Applications Mathmatiques avec Matlab" est de comprendre 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 formel.
Lutilisation dun logiciel de calcul permet de se concentrer davantage sur la comprhension 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 outils 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, Khaled 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

1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1

10

12

14

16

18

20

1.2. Limite dune suite


1.2.1. Approche intuitive

 

, il existe quatre possibilits


Lorsque  devient de plus en plus grand (
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 


On a, sous Matlab,




par :

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)

2
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1

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 


Or




Il suft de prendre  et   

  



on ait

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  
des limites nies  et  .
Alors on a :

et  

convergentes respectivement vers

    

   (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

il existe  tel que pour 

23

, 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  
si  
si  
si  
si  
si  
si  
si  
 










 alors      

  alors      

 alors      

  alors      

 alors      

 alors      

 alors      

  alors
 (si   

 et   
 et    , 

et   

et    , 
 et   
 et   

et   
 et    , 
  
(si   et

Par contre, toute recherche de limite qui se prsente sous lune des formes suivantes est une indtermination :

  








Lindtermination est lever en appronfondissant les calculs sur lexpression donne.


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  

elle est dcroissante si

est dite croissante 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

 et on dnit la suite  
On donne une fonction   
rcurrence :

 
     
pour 


par la relation de

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  
tion),



 , (en utilisant la dni-

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 croissante 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

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 

 
1.5.2.4. Sens de variation

   , do





 

  , on tudie celui de lexpression


         

Pour tudier le signe de 



Pour cela, montrons que







 

 



     

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 
 



,


     




 

27

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 rfrence (voir 1.2.2.3). Cette majoration montre que la suite   converge vers 1.

Suites relles

4) On utilise le calcul symbolique de Matlab pour calculer


rsoudre linquation





  

31

 

puis pour

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 graphiquement


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


Suite An+1 = 0.6*An + 5000

1.25

x 10

1.2

1.15

1.1

1.05

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

6) Comme  

33

 
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
1
0.95
0.9
0.85
0.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 
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 




5) On compare   

do 





 

 
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.

 
la majoration

Suites relles

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 

   




35

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

5
x

10

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
ventuellement   
on dira quelle est paire si

  





 
 (avec

   

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 
est dite impaire si

  

 
 (avec ventuellement   

   



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

2.1.4. Exemple
La fonction cosinus, dnie sur    est paire et priodique, de priode
Matlab :



Sous

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

0
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


limage dau moins un lment de . On crira

  
   

 

est

 

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

2.2.1.4. Exemple

43

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




 

on a




si 
si 

 


 

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 numriques.
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
ventuellement).
certains points particuliers (ou en



2.2.3. Exemple
Considrons la fonction
.
tuelle) pour 



    


 et examinons sa limite (ven-

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
x

0.035

0.04

0.045

0.05

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 
donn. La fonction  est dite continue au point  si et seulement si

  un point

      

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 
 
Alors on a les rsultats :

  continues en 

et un rel quelconque .

  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

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 applications telles que la cinmatique, les systmes dynamiques, etc...

Fonctions numriques dune variable relle

49

  ( intervalle ouvert) est drivable en un point    si


     


dni sur    
admet une limite nie lorsque    
Une fonction   
le rapport

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
lintervalle ferm 
 si







  

est dite drivable sur

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 voisinage 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 


et on a
point o    


  


 

est drivable en tout

   

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  




 

 





On peut montrer par rcurrence la formule dite de Leibnitz :

 



   



par

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 
un extremum en  alors     

  et admet

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
1

0.5

0.5

En crivant
sous forme

! et sachant quun point de lintervalle ouvert 


 scrit
&

  ' 

    '!

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
lquation
   


mais on peut aussi rsoudre

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 numriquement,  
, 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

2
x

2.4.8. Retour lexemple modle


Etudions la drivabilit et la continuit de la fonction drive en
de la fonction :


 






    


 

  



si  
sinon.

 
. On dclare les deux expressions

La fonction  est indniment drivable sur 


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

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


bissectrice dquation   

 

par symtrie par rapport la premire

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

1
arcsin(x)
sin(x)
1.5
1.5

0.5

0
x

0.5

1.5

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 

 


 sobtient par

La drive en    


 

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

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)
4

6
6

0
x

2.5.5. Exemple modle


On donne la fonction suivante :


 


On note, pour 

 



    


!

62

Mathmatiques avec Matlab

, on a

1) Vrier que pour tout 

!

 

 




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 orthonormal.
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

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




  


  

63

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 dabscisse  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 ezplot 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.5

1.5

2.5
x

3.5

4.5

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.5

1.5

2.5
x

3.5

4.5

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

Sur cet intervalle, on a  

    
do
      (

67

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
 

vrient




 

et

  

  
  





 

  


De mme, pour
 

on a

  et

 

 

  



  

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
On notera :

 

 
 

est born au voisinage de 

 * 



  

2.6.3. Exemples
On a







 

Fonctions numriques dune variable relle

et pour tout 

69

)




)

 

  




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 prcision 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
drivable.

 

  indniment

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


arctan



et une estimation de lerreur commise en remplaant  par 

de

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 dnominateur, 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 lingalit du paragraphe 2.7.1.1 pour avoir une majoration de lerreur lorsquon confond
la valeur de     arctan


 avec





On a

  
arctan
 



 

 



    ! 




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
Le terme 

 






pour

 

 

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 lindtermination. 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
 

 


en effectuant le changement de variable

au voisinage de

 ,

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

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


 ( ) par

  
   .


On considre la fonction  dnie sur 

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   
entire de  dnie de la manire suivante :
+ 

 +  o +  dsigne la partie

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)


de la fonction dnie par
     
    




 


 

On propose de calculer la limite pour 


 

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
) la courbe reprsentative de la
1) Dterminer lasymptote oblique (pour 
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 rciproque, 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 lexpression 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 daccroissement 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)

2
1.5
1
0.5
0
0.5
1
1.5
2

0
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)

2
1.5
1
0.5
0
0.5
1
1.5
2

0
x

Exercice 2.8.3

 +  est dnie par oor(x), qui

Sous Matlab, la fonction mathmatique 


ne permet pas deffectuer de calcul symbolique :

Fonctions numriques dune variable relle

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

0
x

83

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

0
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

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))


, on a

Pour  appartenant 

  


et
 

  

 


,

donc, pour  appartenant lintervalle 

 

Par priodicit, pour $

 , et pour   
 

  

On remarquera que
$

 

$

 

$ 

 

$

 

$

 
on a

$ 

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)

85

86

Mathmatiques avec Matlab


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

0
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

10

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 indtermination) :
syms x real
num = sin(tan(x))+sin(x)-2*x;
Tnum4=taylor(num,5)
Tnum4 = 0
A lordre 5 on a

et donc la limite est

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


. 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

0.5

0
x

0.5

1.5

Le graphe au voisinage de zro montre bien que la fonction est assez plate et se comporte 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 intervalle 
. 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

1.2

1.3

1.4

1.5
x

1.6

1.7

1.8

1.9

1.7

1.8

1.9

Somme de Darboux sn

3.5

2.5

1.5

1
1

1.1

1.2

1.3

1.4

1.5
x

1.6

Intgration

93

Aire A
4

3.5

2.5

1.5

0.5

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

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
continue sur 
 :

est seulement

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 discontinuits 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


morceaux.

est continue par

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
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0

0.5

1.5
x

3.1.1.4. Dnition
Si    on pose par dnition

 

et si   



 



 

 

2.5

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 ,

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)

pour 

 

 :

96

Mathmatiques avec Matlab


Suites Sn et sn
4
sn
Sn
3.5

2.5

1.5

10

15

20

25

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 


-

 -   


 

 

30

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 continue, 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.5

1.5
x

Calculons

.



 

2.5

Intgration

Pour  


, on a

.

Pour






 

99




 , 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

0.5

1.5
t

est continue en
car

2.5

 
 




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 lintervalle 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

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 

 

    

101

102

Mathmatiques avec Matlab

o 
0 

, et
former les fonctions

est continment drivable sur 


0 . En effet, on peut


 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

 est une primitive de    Do :


      .    ( 

On a vu prcdemment que .


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 calcul 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
son degr).
auteurs xent



 

 
na pas de degr (certains

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 coefcients 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 numriques 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 polynomiale nulle. On dira que cette fraction rationnelle est irrductible sil ny a pas
de racine commune aux deux polynmes  et  . Une racine dordre  du polynme   est appele un ple dordre  de la fraction . .
Lorsque  

. 




 , la division euclidienne permet dcrire :

 2

3
 

2

3
 

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
. 






 

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
et
). On a donc
ples donns dans   (dans lordre



 


  




 

3.4.3.2. Cas gnral


Considrons la fraction rationnelle
. 





 








 

Elle admet le ple simple rel


le ple triple rel
et deux ples doubles complexes 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 coefcients :

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
celui de .  :

4  

pour lidentier

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 inconnues :


[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 :



 

avec


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 dnominateur 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   
3) Calculer  " En dduire  et "

que   "

(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

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

 
 

  

117

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

Le calcul de la primitive de




 
sous forme canonique :




  
     


ncessite lcriture du polynme  

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 






 &(







121

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 travaillant 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 opration 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

On a par exemple :

etc...




       

 .  



 ( 

On obtient successivement la suite 


base  de la manire suivante :


  
 

des chiffres dun entier  dans la

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  


appartenant 


la suite de terme gnral

 
   

est :
croissante car




 








  

    dentiers


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




   


  












  





Cest la reprsentation usuelle des nombres rels positifs en base 


appele reprsentation 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   





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 normalise (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 virgule 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
chiffres.

dont la mantisse possde

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 troncature 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 normalise 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 reprsentation 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
le rsultat est ensuite arrondi chiffres.

chiffres pour les mantisses ;

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
  


 

on a

do 

 

  




 



 
et 




avec  

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



chiffres puis le

    


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

   

 

seffectue exactement

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

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  
 
1) Cas 5 5  

et on peut retrouver les deux cas prcdents :


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

139

140

Mathmatiques avec Matlab

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


2) Cas 5

5

  

  

6    

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
 & %) 

qui convertit en valeur dcimale


fractionnaire

  1&%

 &(

la chane de caractres

( (

(

reprsentant la partie

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 reprsentable 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


pour %

 


  


   8 %

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 reprsentation 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 derreurs 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
On appelle erreur absolue commise sur  la quantit

" 




une approximation de .

  

et erreur relative commise sur  le quotient




   ,


 

On exprimera souvent lerreur relative en pourcentage, pour la rendre plus signicative.


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
que

&

est proche de

&

  

on confond dans lestimation derreur, & avec , de sorte

       
    

Gestion derreurs

De mme :

147

       
    

       
    

Or

                                


Donc une majoration de lerreur relative   est

  

 

Ce dernier rsultat reste valable pour  et  non nuls, de signes quelconques (en raisonnant 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 galement que la fonction  est continument drivable sur   On veut estimer lerreur
 

  commise sur  .
Le thorme des accroissements nis permet dafrmer quil existe un nombre & compris 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


 
Ici on a   
prcdent donne

 


 




 
 

   Le rsultat

     


 


 et



et on peut prendre

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
  

  


   

   

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 lmentaires pour lobtention de la valeur cherche. Il est clair que les erreurs daffectation 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 oprande,
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
calcule le produit   
avec


 chiffres, on

  



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 calcul 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

on a
  

On dit quil y a absorption de


produit lorsque

par

   






On peut vrier aussi que cette erreur se

  

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 laddition 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 commencer par additionner les petits nombres pour viter lerreur dabsorption.
5.5. Erreurs de cancellation
Une erreur de cancellation se produit gnralement lorsquon soustrait deux quantits 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 


on calcule les erreurs relatives commises sur ces nombres.

 et

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 produisent 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 effectuerons 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 normalise, 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 + 


double de Matlab.

donne avec toute la prcision du format

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 arithmtique :
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 approche , 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 quivalente





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

do
   


 
 

163

La rsolution de cette quation avec Matlab donne, en afchant les valeurs numriques 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 rsultats 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
chiffres signicatifs :

,

obtenu en tronquant le premier coefcient de




, 

 
  


Lerreur relative commise sur ce coefcient est

 

 



cinq

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 commise 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
linaire, pour tout 

 

et

 




montrer que la suite   vrie la relation







(R)

4) Une tude classique des suites de ce type consiste alors chercher les nombres
 par

  tels que la suite dnie pour 

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


vrie la relation (R).

 $  1  $  1  $
 1


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 

Montrer par rcurrence que, pour tout 

;  1  ;
 1

;  1   ;
 1


   .

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 engendrer 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 phnomne 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 calcule  et  :



On pose :

   



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

3) On dnit 
de 
pour 


175

  !

et on place dans un tableau les valeurs successives

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   


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


 

lerreur

176

Mathmatiques avec Matlab

on dduit aussi


Si on utilise cette formule pour calculer 


ngligeant les erreurs daffectation







en fonction de 






on aura, toujours en

Si on calcule ainsi de proche en proche 


partir dune valeur estime de
aura





on

  
 
   


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

Mais partir dune estimation autre de



et pour  


 .





177

ne changera pas les valeurs obtenues 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

4) On remplace  par 1
cherche 1 tel que
1



 

par 1

 

1 

1




1

 1




par 1

  

 

par 1

179

et on

On obtient lquation
1
1



1

tant suppos diffrent de 0, on peut simplier par 1


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


et, en exprimant 
(R) est vrie.




 $  1  $  1  $
 1




partir de cette relation, on montre que la relation

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

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


 

   
 

 


  

 




  



181

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
pour terme gnral




par

; 
;
;

; 


; 


;
;
;


la suite a maintenant

;   ;
  
;  

;
  

;  
 ;
  


; ;  

;
  

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 classiques 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 logartihme, ...) 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
x

183

0.6

0.7

0.8

0.9

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 dapproximation.

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 solution 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 importante. 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 principe 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 vrie 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 polygonale  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)

0.8

N0

y=x
M1

0.7
0.6

N2

0.5
M2

0.4

N1

0.3
0.2
M0

0.1
0

x0
0

0.1

x1

x2
0.2

0.3

0.4

0.5
x

0.6

0.7

0.8

0.9

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

M2
N0

2.8

M1
2.6
2.4
2.2
M0
2

x0
2.2

x2

x1
2.4

2.6

2.8

3
x

3.2

3.4

3.6

3.8

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

4 
4 
4 

est continue sur 


,
est strictement monotone sur 


    

 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
1.2
0.4

0.6

0.8

1.2

1.4

1.6

1.8

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


, 
il vient
tout , 

  & 

 









 



 &

et en supposant que pour





On montre alors par rcurrence sur  :

  & 

 

 

 &

Par exemple, si on choisit linitialisation  telle que

  &  





Approximation de racines dquations

il vient

  &  




195

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 fonction 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
x

1.6

1.7

1.8

1.9

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 newtonGraph 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
x

1.6

1.7

1.8

1.9

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
x

1.6

1.7

1.8

1.9

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


lexemple prcdent.

 ne sannule pas sur , 


ce qui nest pas le cas de

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),

 (en utilisant si possible le thorme 6.3.4.3), et mise en
b) choix de 
uvre de lalgorithme de calcul approch.

6.4.1. Exemple
Soit rsoudre lquation

 

  
 




 



sous la forme





 




Cette quation peut aussi scrire, pour  

Approximation de racines dquations

201

1) On considre donc la fonction  dnie par

   



  



 On entre son expression sous Matlab,

Elle est dnie, continue, drivable sur 


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 

 permettent 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
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1

10

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)
y=x

1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1

1.2

1.4

1.6
x

1.8

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
x

1.6

1.7

1.8

1.9

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 maximum 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 approche 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 approche 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   
Newton pour construire une suite convergeant vers
termes avec Matlab.
(solution p. 212)




utiliser la mthode de
En calculer les six premiers

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
dnit avec Matlab, et on calcule sa drive.

est indniment drivable. On la

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)

1
0
1
2
3
4
5
6
7
8
0

0.5

1
x

1.5

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 lquation




0  

Exercice 6.5.3

est continue
Sur lintervalle 
  

, la fonction  dnie par     


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

(


et enn




(

(


graphe 6.2.3.1). Au point 



on place le texte (
.

(voir para-

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
1

s2
1.05

1.1

1.15

s3 s4
1.2
x

1.25

1.3

1.35

1.4

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
x

1.6

1.7

1.8

1.9

Chapitre 7

Interpolation polynomiale

7.1. Le polynme dinterpolation dune fonction


7.1.1. Dnitions
On suppose connues les valeurs dune fonction
distincts selon le tableau suivant :


  







en un nombre ni de points




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



points de coordonnes







217



est une courbe passant par les




218

Mathmatiques avec Matlab


Polynme dinterpolation P3
4

2
(x0 , f0)

(x3 , f3)

(x1 , f1)

4
(x2 , f2)
0

0.1

0.2

0.3

0.4

0.5
x

0.6

0.7

0.8

0.9

Lorsquon travaille sur un intervalle 



linterpolation polynomiale :
permet de donner une approximation numrique   de   pour  appartenant 

et   

%  


 On dira quon a interpol,
sert construire des formules explicites utiles pour le calcul approch dintgrales.

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 lexistence et lunicit des 

7.1.2.1. Remarque
Dans le cas gnral, on montre que la rsolution du systme, permettant le calcul des coefcients du polynme dinterpolation, ncessite un nombre doprations
en *
. On utilisera plutt dautres mthodes, moins coteuses en nombre doprations, 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 
facteur   ,

 

exception faite du

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


respectivement. On ritre ensuite pour obtenir



  


  


  
 


   










On obtient de mme
   


 





 et 
 

  


Interpolation polynomiale

Do


   
 





223




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

avec


 




 


 


 

 

225

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   


est drivable au point , on a


  et un point   . On sait alors que, lorsque

  


 

!
!

   

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

do
  
 



  





 

227



 
!
  






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 quidistants

  %!

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 polynomiales 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 fTierceCx 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

Dans le calcul de  

 
on doit tenir compte de la drive de 

229

& 

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 

sur !


7.2.4.4. Quatrime partie


Illustrons les calculs prcdents numriquement sur la fonction




     

au voisinage de  

Lerreur darrondi est estime par





et croissante

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 


au voisinage de

on peut assimiler 3. Do

  
et

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 lerreur 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.01000000000000
0.00100000000000
0.00010000000000
0.00001000000000
0.00000100000000
0.00000010000000
0.00000001000000
0.00000000100000
0.00000000010000
0.00000000001000
0.00000000000100
0.00000000000010
0.00000000000001

0.25500500000000
0.25005000050000
0.25000050000005
0.25000000500000
0.25000000005125
0.24999999999331
0.24999999997249
0.24999999952147
0.25000000680730
0.24999998599062
0.25000002068509
0.25000834735778
0.24993895841874
0.24945323584546

0.00500500000000
0.00005000050000
0.00000050000005
0.00000000500000
0.00000000005125
0.00000000000669
0.00000000002751
0.00000000047853
0.00000000680730
0.00000001400938
0.00000002068509
0.00000834735778
0.00006104158126
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 confondant   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

et que les valeurs 





233

 sont donnes dans un second tableau

 ? 

?  

? 


Ecrire la fonction


 %


8
? 

1)>1

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
lexemple 7.1.3.4.

%

1)>1

pour retrouver le polynme



de

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, multiplications, 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 %
7.3.2).

(solution p. 242)

1)>1

de lexercice

Interpolation polynomiale

235

7.3.6. Formule barycentrique de Lagrange


Le but de cet exercice est dobtenir une expression permettant dvaluer le polynme dinterpolation en effectuant moins de calculs quavec les polynmes de Lagrange :
> 

               


              




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 associ 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 coeff 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  
valeur 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 remplaant   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

0
x

On effectue le mme traitement pour  




n=10
2

y=f(x)
y=Pn(x)

1.5

0.5

0
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)
y=Pn(x)

1.5

0.5

0.5

1.5

0
x

on lappelle effet de Runge.


Exercice 7.3.4
On utilise les relations :
pour 

:
    

8 


pour    :
Do :

  


 8 
   
 8 



8 


  

 ? 


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
>

soit 

 >   8 %8 $  8 %

 oprations lmentaires.

2) Pour calculer  


on doit rpter 
fois linstruction


   ? $ >1

$

8 

En tenant compte de la premire question, cela fait 


rpter 
fois. Soit au total


     

oprations lmentaires

Remarque
On a vri que le nombre doprations ncessaires pour calculer
  (voir remarque 7.1.2.1).

* 

 est en

Exercice 7.3.6
1)
a) Le polynme constant gal 1 peut tre considr comme le polynme 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
>  peut scrire

>  



et que, pour

 

 


 
le numrateur de

 

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
gure pas 8 $ 

$ 

en utilisant un tableau intermdiaire

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)

 

dans lequel ne

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

    



do
2

 

Et enn


 


2








  



  



   


   
Vrions la premire galit avec Matlab, en comparant
,

avec 2.



 > 

 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

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

et
#

? $ 



 8 $$



 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 ;

245

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

 % $ 3 &
8   

?   

 % $ 3 &
8 
 
? 
 
  8 
    3  8 
    28 
  8 

2
3

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 arithmtiques. 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 supplmentaire  
    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 respectivement 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)

En pratique, on subdivise lintervalle 


 en plusieurs petits intervalles :

 %


!
 %!




de longueur !   , auxquels on applique la formule simple puis par sommation, on dduit les formules dites composites.

Mthode des trapzes composite

a+h

a+2h

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)

alpha

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

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)

253

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 remplaant ! 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 dintgration 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.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

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 subdivision 





 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 itratif :
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 calculera 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

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

quad 



( prs de

   
  

  
n=204 ;
X1=0 :2*pi/n :2*pi+pi/n ;
X=X1 ;
Y=f2(X) ;
ItMatlab=trapz(X,Y)
ItMatlab = 0.4991

( calcule, en utilisant

la mthode de Simpson, une valeur approche

 

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, dveloppements 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 comments et rsolus", Techniplus, 1996.
[LEL 72] J. L ELONG -F ERRAND , J.M. A RNAUDIES, "Cours de Mathmatiques, tome 2 : analyse", 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 dition, 1992.
[WIL 65] J.H. W ILKINSON, "The algebraic eigenvalue problem", monographs on numerical
analysis, Oxford science publications, 1965.

263

264

Index

continue droite (fonction) 46


continue gauche (fonction) 46
continue par morceaux (fonction) 94
convergente (suite) 20
croissante (fonction) 40
croissante (suite) 24

absorption (erreur d) 154


accroissements nis (thorme des ) 52
acos 60
Aitken (algorithme d) 221
approximation afne (dune fonction) 50
approximations successives (mthode des)
186
arccos 60
arcsin 58
arctan 60
arrondi 132
asin 58
asymptote 74
atan 61
axis 40
axis auto 55

base (de numration) 125


base2dec 127
bijective 41
bin2dec 127
borne (fonction) 37
borne (suite) 18

Darboux (sommes de) 91


dec2base 127
dec2bin 127
dec2hex 127
dcomposition en lments simples 107
deconv 106
dcroissante (fonction) 40
dcroissante (suite) 24
drive (dune fonction) 49
drives successives 51
dessineRepere (fonction utilisateur) 39
dveloppement limit 72
diag 164
dichotomie (mthode de) 184
diff 50, 52
digits 132
divergente (suite) 20
division euclidienne (de polynmes) 105

cancellation (erreur de) 156


ceil 185
changement de variable 101
continue (fonction) 46

eps 141
erreur absolue 146
erreur daffectation 148
erreur relative 146

265

266

Mathmatiques avec Matlab

erreurs doprations 146


extremum 38
ezplot 65
F
feval 259
gure 203
oor 82
fonctions trigonomtriques inverses 57
format hex 135
fplot 57, 257
fraction rationnelle 107

majore (fonction) 37
majore (suite) 17
mantisse 130
maximum 38
minimum 37
minore (fonction) 37
minore (suite) 17
monotone (suite) 24
N
Newton (mthode de) 192
numden 110

hex2dec 127
hexadcimale (base) 126
Horner (schma de) 142

paire (fonction) 39
priodique (fonction) 39
point xe (mthode de) 186
ple (dune fraction rationnelle) 107
poly2sym 105
polynme de Lagrange 219
primitive (dune fonction) 97

I
impaire (fonction) 39
indtermination (recherche de limite) 23
injective 41
int 100, 262
intgrable (fonction) 93
intgrale de Riemann 91
intgration numrique 249
intgration par parties 103
interpolation polynomiale 217
irrductible (fraction rationnelle) 107
L
Landau (notations de) 68
legend 59
Leibnitz (formule de) 51
limit 23, 43
limite (dune fonction) 42
limite droite (fonction) 44
limite gauche (fonction) 43
limite dune suite 19
limite innie 22, 23
LineStyle 65
LineWidth 40
M
Mac-Laurin (formule de) 71

Q
quad 257, 262
R
realmax 141
realmin 141
rciproque (fonction) 41
rectangles (mthode des) 251
repre (dessiner avec Matlab) 40
residue 109, 111
Rolle (thoreme de) 52
S
set 65
Simpson (mthode des) 253
strictement croissante (suite) 24
strictement dcroissante (suite) 24
subdivision 91
suite numrique 17
suite rcurrente 25
suites de rfrence 20, 21
surjective 41
sym2poly 105

Index
symsum 95
T
tangente (mthode de la) 192
taylor 72
Taylor-Lagrange (formule de) 69
Taylor-Young (formule de) 71
terme gnral (dune suite) 17

267

trapzes (mthode des) 252


trapz 257, 262
troncature 132
V
valeurs intermdiaires (theorme des) 48
virgule ottante normalise 131
vpa 132