0% ont trouvé ce document utile (0 vote)
2 vues14 pages

Chap1 Test

Ce document traite de l'analyse des erreurs en mathématiques appliquées, en se concentrant sur les sources d'erreurs, leur classification, et les concepts d'erreur absolue et relative. Il aborde également la représentation des nombres en machine et les défis liés à l'arithmétique flottante, notamment l'accumulation des erreurs d'arrondi. Enfin, des exemples illustrent les effets des erreurs sur les calculs numériques et les méthodes pour les minimiser.

Transféré par

bantangomohamed.79
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues14 pages

Chap1 Test

Ce document traite de l'analyse des erreurs en mathématiques appliquées, en se concentrant sur les sources d'erreurs, leur classification, et les concepts d'erreur absolue et relative. Il aborde également la représentation des nombres en machine et les défis liés à l'arithmétique flottante, notamment l'accumulation des erreurs d'arrondi. Enfin, des exemples illustrent les effets des erreurs sur les calculs numériques et les méthodes pour les minimiser.

Transféré par

bantangomohamed.79
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

MAT-2910: CHAPITRE 1

ANALYSE D’ERREURS
hm@[Link]

TABLE DES MATIÈRES

1 Sources d’erreurs 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Types d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Erreur absolue, erreur relative . . . . . . . . . . . . . . . . . . . . . 5

2 Représentation des nombres en machine 6

3 L’arithmétique flottante 9
3.1 accumulation des erreurs d’arrondi . . . . . . . . . . . . . . . . . . 10
3.2 Erreurs d’arrondi sur une somme . . . . . . . . . . . . . . . . . . . 10
3.3 Règle de Horner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 Phénomènes de compensation (cancellation) . . . . . . . . . . . . 12
3.5 Instabilité numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Erreurs de troncature 15
4.1 Développement de Taylor d’une fonction à une variable . . . . . 15
4.2 Développement de Taylor d’une fonction à deux variables . . . . 15

Mat-2910 page 1 de 15
1 SOURCES D’ERREURS
1.1 INTRODUCTION
• On ne peut pas résoudre analytiquement tous les problémes mathéma-
tiques issus des sciences de l’ingénieur.
On peut citer par exemple :
– Calcul d’une primitive de certaines fonctions.
Exemple 1.1 : Z π

ln(cos x)2 d x
0

– Calcul d’une solution explicite de certaines équations non linéaires


Exemple 1.2 :
x = ex
– Résoudre certaines équations différentielles ordinaires
Exemple 1.3 :
y 0 (x) = sin( y(x))
– Résoudre certaines équations aux dérivées partielles
• Dans un tel cas, on remplace la résoulution mathématique du problème
par son approximation numérique en utilisant les techniques d’analyse numé-
rique.
• L’analyse numérique permet d’obtenir au moyen d’un algorithme la solu-
tion approchée d’un problème mathématique posé et ceci avec une précision
désirée et après un nombre fini d’opérations élémentaires.
• La stratégie générale consiste à transformer un probléme compliqué en
un probléme plus simple. Par exemple
– Nonlinéaire −→ linéaire (Linéarisation)
– Continu −→ discret (Discrétisation)
• Le résultat final et son degré de précision vont dépendre :
– des algorithmes utilisés
– de leur mise en œuvre sur ordinateur

Mat-2910 page 2 de 15
1.2 TYPES D’ERREURS
Les erreurs introduites dans la résolution d’un modèle mathématique pro-
viennent de différentes sources :
1. Les erreurs de modélisation : pour être traité numériquement, un pro-
blème mathématique est toujours simplifié par rapport à la réalité. (Ex-
périmentation, simplification, · · · )
Exemple 1.4 : Assimiler par exemple la terre de forme sphérique. Or le
rayon de la terre est r ≈ 6357 km à l’équateur et r ≈ 6378 km aux pôles.
Exemple 1.5 : Problème du pendule

α g
θ 00 (t) = − θ 0 (t) −
sin θ (t)
m l
Pour les petites oscillations on peut écrire sin(θ (t)) ≈ θ (t). On obtient
alors l’équation différentielle linéaire
α g
θ 00 (t) = − θ 0 (t) − θ (t)
m l

2. Erreurs sur les données : Les données expérimentales sont entachées


d’erreurs.
3. Les erreurs d’arrondi : qui proviennent de la représentation des nombres
dans un calculateur.
4. Les erreurs d’approximation et de discrétisation :
– calcule d’une intégrale à l’aide d’une somme finie,
– une dérivée à l’aide de différences finies
– la somme d’une série infinie à l’aide d’un nombre fini de ses termes
5. Les erreurs humaines : programmation.
Soit x un nombre réel et soit x̃ une approximation de x. Pensez à x = π
par exemple. Soit f (x) un résultat désiré (évaluation d’une fonction en un
point) et soit f˜(x̃) la valeur calculée. Alors on peut écrire

Erreur totale = f (x) − f˜(x̃)

= ( f (x) − f (x̃)) + ( f (x̃) − f˜(x̃))


| {z } | {z }
Erreur due aux données Erreur de calcul

Erreur de calcul = Erreurs d’arrondi + Erreurs de troncature

Mat-2910 page 3 de 15
Erreur d’arrondi = Arithmétique exacte − Arithmétique flottante

Erreur de troncature = Résultat exact − Résultat produit par un algorithme

Mat-2910 page 4 de 15
1.3 ERREUR ABSOLUE , ERREUR RELATIVE
• En général dans tout calcul numérique, on remplace un nombre exact x
par un nombre approché x̃ légèrement différent.
• Si x̃ < x, on dit que x̃ est une valeur approchée de x par défaut. Si x̃ > x,
on dit que x̃ est une valeur approchée de x par excès. Dans les deux cas on
note x̃ ≈ x.

Définition 1.1 On appelle erreur absolue d’un nombre approché x̃ la valeur ab-
solue Ea bs (x) de la différence entre le nombre axact x et le nombre approché
donné :
Eabs (x) :=| x − x̃ |
L’erreur relative E r el (x) d’un nombre approché x̃ est le rapport de l’erreur absolue
Ea bs (x) de ce nombre et de la valeur absolue du nombre exact

Eabs (x)
E r el (x) :=
|x|

Le pourcentage d’erreur est l’erreur relative multipliée par 100.

L’erreur relative fournit une information plus pertinente sur la grandeur


réelle de l’erreur.

Exemple 1.6

x = π = 3.141592 · · · , x ∗ = 3.1419
Erreur absolue = 3.073464102070211 × 10−4
Erreur relative = 9.783140085199355 × 10−5

Exemple 1.7
y = 106 , y ∗ = 999996
Erreur absolue = 4.0 × 100
Erreur relative = 4.0 × 10−6

Exemple 1.8
z = 0.000012, z ∗ = 0.000009
Erreur absolue = 3.0 × 10−6
Erreur relative = 25.0 × 10−2

Mat-2910 page 5 de 15
2 REPRÉSENTATION DES NOMBRES EN MACHINE
Dans un ordinateur un nombre réel est représenté par un nombre fini de
caractères, fixé à l’avance, qui dépend de l’architecture de la machine. Ainsi
tous les nombres entiers ou réels ne peuvent pas être représentés.
On distingue :
– Les nombres entiers dont la représentation et la manipulation sont celles
de l’arithmétique usuel.
– Les nombres flottants qui représentent les nombres rées. Ils sont repré-
sentés de façon approximative dans la mémoire de la machine.

Définition 2.1 Soit x un nombre réel. Son développement dans une base b ∈ N
donnée est !
X∞
x =± ai b−i b e
i=1

Sa représentation en virgule flottante à t chiffres dans une base donnée b ∈


N, b ≥ 2 est donnée par le nombre

t
X
x̃ := (−1) b s e
ai b−i = (−1)s mb e
i=1

On note fl(x) = x̃

t
X
Mantisse : m = ai b−i = a1 b−1 + a2 b−2 + · · · + a t b−t
i=1
Exposant : e ∈ Z, L < e < U, L < 0, U > 0
Signe : s ∈ {0, 1}
ai ∈ N, 0 < a1 < b, 0 ≤ ai < b, i = 2, · · · ( normalisation)
t = nombre de chiffres utilisés pour représenter la mantisse

Le nombre de nombres flottants normalisés est donné par

2(b − 1)b t−1 (U − L + 1) + 1

Exemple 2.1 x = 2.4 = 2 + 0.4 = 0.2 · 101 + 0.04 · 101

2.4 = 101 (2 · 10−1 + 4 · 10−2 ) = 0.24 · 101 , (b = 10, e = 1, t = 2, m = 0.24)

Il existe deux façons d’obtenir l’approximation fl(x) à partir du développe-


ment de x dans la base b :

Mat-2910 page 6 de 15
– Par troncature : on garde les t premiers chiffres du développement.
– Par arrondi : On ajoute 2b au (t + 1)-ème chiffre du développement et on
tronque.

Exemple 2.2
x = 123, y = 45.6, z = 45.67
Pour une arithmétique flottante qui utilise t = 3, b = 10 on a :

fl(x) = 0.123 · 103 , fl( y) = 0.456 · 102 , fl(z) = 0.457 · 102

Dans le standard IEEE 754 utilisé par Matlab, on a b = 2 et :


– en simple précision : t = 24, L = −125, U = 128
– en double précision : t = 53, L = −1021, U = 1024
Dans le standard IEEE 754 utilisé par Matlab, on a b = 2. De plus en
simple précision on a t = 24, L = −125, U = 128 et en double précision on a
t = 53, L = −1021, U = 1024.

Théorème 2.1 Dans une arithmétique à t chiffres avec troncature on a :

| x − fl(x) |
≤ b1−t
|x|

Dans une arithmétique à t chiffres avec arrondi on a :

| x − fl(x) | 1
≤ b1−t
|x| 2

On note
εm := b1−t ( epsilon machine)
Dans Matlab εm = eps .

>> eps

>> ans =

2.2204e-016

Mat-2910 page 7 de 15
3 L’ARITHMÉTIQUE FLOTTANTE
Le système numérique discret des machines est source d’erreurs. Il faut
donc prendre des précaustions pour qu’une accumulation d’erreurs aussi petite
soit-elle ne vienne pas fausser le résultat final.

Exemple 3.1
>> x = 2.0E+29;

>> y = 1.0E-9;

>> z1 = (y+(x-x))/y

z1 =
1

>> z2 = ((y+x)-x)/y

z2 =
0

On désigne par ◦ l’une des opérations suivantes : +, −, ×, ÷ et on définit

x ý y = fl(fl (x) ◦ fl ( y))

Deux expressions algèbriquement équivalentes peuvent fournir des résul-


tats différents sur une machine et que l’ordre des opérations peut changer les
résultats.

x ⊕ ( y ⊕ z) 6= (x ⊕ y) ⊕ z
6= (x ⊕ y) ⊕ (x ⊕ z)

Exemple 3.2 t = 4, b = 10 avec troncature.

x = 0.1234 × 101 , y = 0.3429 × 100 , z = 0.1289 × 10−1

On a
x ⊕ ( y ⊕ z) = 0.1489 × 101 , (x ⊕ y) ⊕ z = 0.1588 × 101


x ⊗ (y z) 6= (x ⊗ y) z
6= x ⊗ ( y z)

Mat-2910 page 8 de 15
3.1 ACCUMULATION DES ERREURS D ’ ARRONDI
Soit à calculer
104
X 1 1 1
A= = + ··· +
k=1
10 10 10
1
Le nombre réel 10
= 0.1 en base 10, mais dans la base 2 il s’écrit

(0.1)10 = (0.00011001100110011 · · · )2

>> s=0;
>> for k=1:10000
s=s+0.1;
end

>> format long


>> s

s =

1.000000000000159e+003

Et la valeur exacte est A = 103 .

3.2 ERREURS D’ARRONDI SUR UNE SOMME


Dans une sommation de réels, l’erreur peut être minimisée lorsqu’on somme
en premier les termes ayant la plus petite valeur absolue.

Exemple 3.3

Somme = a0 + a1 + · · · + an , avec a0 = 1, a1 = a2 = · · · = an = 10−16

Pour n = 1016 on a exactement Somme = 2 mais numériquement on a

(((a0 ⊕ a1 ) ⊕ a2 ) ⊕ · · · ) ⊕ an ) =1
a0 + (a1 ⊕ (a2 ⊕ · · · (an−1 ⊕ an ))) = 2
On doit donc sommer par ordre croissant une série à termes positifs.

Exemple 3.4
n
X 1
S =1+
k=1
k + k2

Mat-2910 page 9 de 15
On a
1
S =2−
n+1
et donc pour n assez grand S ≈ 2.
On pose
1
S1 = 1 + 21 + · · · + n+n 2
1 1
S2 = n2 +n + · · · + 2 + 1

Mat-2910 page 10 de 15
3.3 RÈGLE DE HORNER
On s’intersse au [problème de l’évaluation d’un polynôme

P(x) = a0 + a1 x + · · · an x n

Pour évaluer ce polynôme au point x on utilise l’algorithe de Horner sui-


vant : on réecrit P(x) sous la forme

P(x) = a0 + x(a1 + x(a2 + · · · = x(an−1 + x an )))


et on pose pk = ak + ak+1 x + · · · + an x n−k . Alors on a

P(x) = p0


= an

pn
pk−1 = ak−1 + x pk , 1 ≤ k ≤ n

3.4 PHÉNOMÈNES DE COMPENSATION (CANCELLATION)


Ces phénomènes se produisent lorsqu’on veut soustraire des nombres très
voisins.

Exemple 3.5 On veut calculer les valeurs des fonctions

1 − cos x 2 sin(x/2)2
f1 (x) = , f2 (x) =
x2 x2
pour des valeurs de x ≈ 0.
Algébriquement on a

f1 (x) = f2 (x), ∀x ∈ R

mais avec Matlab on a par exemple :

f1 (10−8 ) = 0, et f2 (10−8 ) = 0.5


p p 1
A(x) = x +1− x, B(x) = p p
x +1+ x
On a A(x) = B(x), ∀x ∈ R.
Numériquement on a :

A(108 ) = 5.0000 × 10−5 , B(108 ) = 5.0000 × 10−5


A(1010 ) = 4.9999 × 10−6 , B(1010 ) = 4.9999 × 10−6
A(1016 ) = 0, B(1016 ) = 5.0000 × 10−9

Mat-2910 page 11 de 15
Exemple 3.6 Résolution de ax 2 + bx + c = 0
On a p
−b + b2 − 4ac
x1 =
2a
p
−b − b2 − 4ac
x2 =
2a
Pour éviter le phénomène de cancellation on peut utiliser l’une des méthodes
suivantes :
• prendre comme x 1 la plus grande des racines et calculer x 2 par la
formule x 2 = c/ax 1
• onpeut écrire les formules çi-dessus un peu différemment, en remar-
quqnt que
p p y −z
y− z=p p
y+ z

Exemple 3.7 Calcul approché de e−10


10
X 10k
e−10 ≈ (−1)k
k=0
k!
Le terme général uk est tel que

| uk | 10
= ≥ 1, k ≤ 10
| uk−1 | k
n
1
X 10k
• Règle : e −10
= e10
avec e 10

k=0
k!

3.5 INSTABILITÉ NUMÉRIQUE


Ce phénomème se produit par exemple dans certains algorithmes itératifs.

Exemple 3.8 Calcul récurrent


1
xn
Z
In = n = 1, 2, · · ·
0
10 + x
On a
1
In = − 10I n−1
n

Mat-2910 page 12 de 15
ceci permet de calculer I n par ˚’ecurrence avec
¨ 11
I0 = log 10
I n = 1n − 10I n−1

L’erreur sur I n croit exponentiellement.


• L’idée içi est de renverser la récurrence en posant

1 1
I n−1 = ( − In)
10 n

Mat-2910 page 13 de 15
4 ERREURS DE TRONCATURE

4.1 DÉVELOPPEMENT DE TAYLOR D’UNE FONCTION À UNE VARIABLE


Théorème 4.1 Soit h 6= 0.
Si f ∈ C n+1 ([x, x + h]) ou f ∈ C n+1 ([x + h, x]) si h < 0 alors :
h2 hn
f (x + h) = f (x) + hf 0 (x) + f 00 (x) + · · · + f (n) (x) + R n (x)
2! n!
avec
x+h
(x + h − y)n
Z
R n (x) = f (n+1 ( y)d y
x
n!

hn+1
= f (n+1 (c x )
(n + 1)!

= O(hn+1 )

= o(hn )
où c x ∈]x, x + h[ si h > 0 ou ]x + h, x[ si h < 0.
O = " de l’ordre de ".
o = " négligeable comparé à ".

Exemple 4.1 Série de Taylorde de f (x) = e x au voisinage de x = 0 :

h2 h3
eh = 1 + h + + eα
2 6
où α ∈]0, h[ si (h > 0).
2
1 + h + h2 est donc une approximation d’ordre 3 de e x .

4.2 DÉVELOPPEMENT DE TAYLOR D’UNE FONCTION À DEUX VARIABLES


Théorème 4.2 Soient h 6= 0, k 6= 0 des nombres réels. Si toutes les dérivées
partielles f x , f y , f x x , f x y , f y y , · · · , de f jusquà l’ordre n sont continues dans un
domaine contenant le point (x, y) alors :
f (x + h, y + k) = f (x, y) + hf x (x, y)

h2 k2
+ f x x (x, y) + hk f x y (x, y) + + f y y (x, y) + · · ·
2 2

Mat-2910 page 14 de 15

Vous aimerez peut-être aussi