Main Content

double

Tableaux en double précision

Description

double est le type (classe) de données numériques par défaut dans MATLAB®, ce qui produit un niveau de précision suffisant pour la plupart des tâches de calcul. Les variables numériques sont automatiquement stockées sous forme de valeurs en virgule flottante en double précision de 64 bits (8 octets). Par exemple :

x = 10;
whos x
  Name      Size            Bytes  Class     Attributes

  x         1x1                 8  double  

MATLAB construit le type de données double en fonction du Standard 754 IEEE® pour la double précision. La plage d’un nombre négatif de type double est comprise entre -1,79769 x 10308 et -2,22507 x 10-308. La plage pour les nombres entiers positifs est comprise entre 2,22507 x 10-308 et 1,79769 x 10308.

Pour plus d’informations sur les valeurs à virgule flottante en simple et double précision, consultez Floating-Point Numbers.

Création

Vous créez un tableau en double précision automatiquement lorsque vous attribuez un scalaire ou un tableau numérique à une variable, telle que A = [1 2 3; 4 5 6]. La variable A est de type double. Pour plus d’informations sur la création et la combinaison de tableaux, consultez Creating, Concatenating, and Expanding Matrices. En outre, les opérations impliquant des variables double précision et des fonctions aux entrées double précision renvoient généralement des valeurs double précision, telles que + ou sin.

Si vous avez différents types de données, tels que single ou int8, alors vous pouvez convertir ce tableau en double précision à l’aide de la fonction double, qui stocke ensuite le tableau à un niveau de précision supérieur pour des calculs plus approfondis.

Description

exemple

Y = double(X) convertit les valeurs de X en double précision.

Arguments en entrée

développer tout

Tableau en entrée, spécifié sous forme de scalaire, de vecteur, de matrice ou de tableau multidimensionnel.

Types de données : single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string

Exemples

réduire tout

Par défaut, les nombres dans MATLAB appartiennent au type de données double. Vous pouvez utiliser la fonction class pour vérifier le type d’une variable.

x = 100;
xtype = class(x)
xtype = 
'double'

Utilisez la fonction double pour convertir les variables n’étant pas à double précision vers le type double.

y = true
y = logical
   1

ydouble = double(y);
ynewtype = class(ydouble)
ynewtype = 
'double'

Comparez les plages des valeurs numériques double précision aux plages simple précision.

Utilisez les fonctions realmin et realmax pour afficher le nombre minimum et maximum de valeurs positives pouvant être représentées en double précision.

doublemin = realmin('double')
doublemin = 2.2251e-308
doublemax = realmax('double')
doublemax = 1.7977e+308

Affichez le nombre minimum et maximum de valeurs positives pouvant être représentées en simple précision. La plage de valeurs est plus petite par rapport à la double précision, mais requiert moins de mémoire.

singlemin = realmin('single')
singlemin = single
    1.1755e-38
singlemax = realmax('single')
singlemax = single
    3.4028e+38

La fonction eps renvoie une mesure de la proximité des nombres double précision par rapport aux nombres simple précision. Affichez la distance séparant le nombre 1,0 du nombre double précision supérieur suivant.

doubleeps = eps('double')
doubleeps = 2.2204e-16

Affichez maintenant la distance séparant le nombre 1,0 du nombre simple précision supérieur suivant. Les valeurs double précision sont plus proches les unes des autres, puisque vous pouvez en représenter davantage.

singleeps = eps('single')
singleeps = single
    1.1921e-07

Conseils

  • Lorsque vous créez une classe, surchargez double lorsque cela s’avère pertinent pour convertir un objet de cette classe en valeur double précision.

  • La conversion d’un tableau char en type numérique produira un tableau des valeurs de code Unicode® correspondantes. Le texte dans les chaînes de caractère n’est pas converti de cette manière. La conversion d’une chaîne de caractères ne représentant pas de valeur numérique unique en double produira un résultat NaN. Pour plus d’informations, consultez Unicode and ASCII Values.

Capacités étendues

Génération de code GPU
Générez du code CUDA® pour les GPU NVIDIA® avec GPU Coder™.

Historique des versions

Introduit avant R2006a