Vous êtes sur la page 1sur 2

Département de Statistique Université de Batna 2

2◦ Année Statistique et Analyse des Données. Année universitaire: 2023/2024

Tp N◦ 01 Analyse Numérique I

Généralités sur Matlab :

Dans Matlab la droite réelle est représentée par l’ensemble F(2, 53,-1021,1024). Ceci veut dire que les nombres
réels sont codés en double précision avec 53 chiffres significatifs. Ces 53 chiffres significatifs en base 2 corre-
spondent aux 15 chiffres significatifs montrés par Matlab en base 10 avec le ”format long”. L’erreur relative
commise par Matlab ou l’epsilon machine est donc 21−53 = 2−52 . On peut retrouver cette erreur relative en
tapant dans le work-space

 eps
ans =
2.2204e − 016
Le plus grand et le plus petit réel positifs en Matlab peuvent être obtenus en tapant
 realmax
ans =
1.7977e + 308
 real min
ans =
2.2251e − 308
Par défaut Matlab affiche les nombres réels avec 4 chiffres après la virgule, il existe d’autres
formats d’affichage par exemple la commande format long permet d’afficher les réels avec 15
chiffres après la virgule.
 format long
 1/7
ans =
0.142857142857143
si on veut revenir au format par défaut on utilise format short
 format short
 1/7
ans =
0.1429
Erreur d’affectation :

Le script suivant somme n fois le réel x :


function s = some(x, n)
format long e
s = 0;
f or i = 1 : n;
s = s + x;
end
En prenant x = 0.1 calculons la somme de 1000 fois le nombre 0.1. On a
 some(0.1, 1000)
ans =
9.999999999999859e + 001
On remarque que le résultat n’est pas exacte puisqu’il devrait être égal à 100. Pour expliquer
cela calculons la conversion de x en base 2 à l’aide du script suivant :
function s = f racDec2bin(f rac, n)
% calcule les n premier chiffres de la conversion
% du réel frac en base 2
Z = f rac;
f or i = 1 : n,
v = 2 ∗ Z;
X = f loor(v);
Z=v-X ;
if X == 1, s(i) =0 10 ; else s(i) =0 00 ;

end
2
La conversion de x en base 2 donne 0.0001100110011.... . On remarque que l’écriture de
x en base 2 contient une infinité de chiffres après la virgule. Lors de la conversion en binaire
Matlab ne peut donc pas stocker une infinité de chiffres, il ne peut donc prendre qu’un nombre
fini de chiffres qui correspondent à une valeur approchée x∗ de x.

Vous aimerez peut-être aussi