Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Création de données à virgule fixe dans MATLAB

Les exemples suivants montrent comment créer des données à virgule fixe à l’aide de l’objet Fixed-Point Designer™ fi.

Exemple 1. Création d’un nombre à virgule fixe avec les propriétés par défaut

L’appel de fi sur un nombre produit un nombre à virgule fixe avec un signe par défaut ainsi qu’une longueur de mot et de fraction par défaut.

 fi(pi)
ans =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

Exemple 2. Création d’un nombre à virgule fixe avec un signe, une longueur de mot et une longueur de fraction spécifiques

Vous pouvez spécifier le signe (1 pour signé, 0 pour non signé) ainsi que les longueurs de mot et de fraction.

fi(pi,1,15,12)
ans =
 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 15
        FractionLength: 12

 Les objets fi et numerictype

Exemple 3. Création de valeurs entières à virgule fixe

Pour créer des valeurs entières à virgule fixe, spécifiez une longueur de portion fractionnaire de 0.

fi(1:25,0,8,0)
ans =
 
  Columns 1 through 13
     1   2   3   4   5   6   7   8   9  10  11  12  13
  Columns 14 through 25
    14  15  16  17  18  19  20  21  22  23  24  25

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 8
        FractionLength: 0

Exemple 4. Création d’un tableau de valeurs aléatoires à virgule fixe

fi(rand(4),0,12,8)
ans =
 
    0.1484    0.8125    0.1953    0.3516
    0.2578    0.2422    0.2500    0.8320
    0.8398    0.9297    0.6172    0.5859
    0.2539    0.3516    0.4727    0.5508

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 12
        FractionLength: 8

Exemple 5. Création d’un tableau de zéros

Lorsque vous écrivez du code, vous voulez parfois tester différents types de données pour vos variables. Le fait de séparer les types de données de vos variables de votre algorithme rend le test beaucoup plus simple. En créant un tableau de définitions des types de données, vous pouvez de manière programmatique basculer votre fonction entre un type de données à virgule flottante et un type de données à virgule fixe. L’exemple suivant montre comment utiliser cette technique et créer un tableau de zéros.

 T.z = fi([],1,16,0);

z = zeros(2,3,'like',T.z)
z = 

     0     0     0
     0     0     0

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 0

Remarque

Pour un exemple complet illustrant l’implémentation de cette technique, voir Implement FIR Filter Algorithm for Floating-Point and Fixed-Point Types Using cast and zeros.