Создайте данные с фиксированной точкой в MATLAB

Следующие примеры показывают, как создать данные с фиксированной точкой с помощью Fixed-Point Designer™ fi объект.

Пример 1. Создайте номер с фиксированной точкой с свойствами по умолчанию

Вызывающие fi число создает число с фиксированной точкой с сигнальностью по умолчанию и длинами слов и дробей по умолчанию.

 fi(pi)
ans =
 
    3.1416

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

Пример 2. Создайте номер с фиксированной точкой с заданной сигнальностью, размером слова и длиной дроби

Можно задать сигнальность (1 для подписи, 0 для неподписанной) и длину слова и дроби.

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

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

 The fi и numerictype Объекты

Пример 3. Создайте целочисленные значения с фиксированной точкой

Чтобы создать целочисленные значения с фиксированной точкой, задайте длину дроби 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

Пример 4. Создайте массив случайных значений с фиксированной точкой

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

Пример 5. Создайте массив нулей

При написании кода вы иногда хотите протестировать различные типы данных для своих переменных. Отделение типов данных ваших переменных от алгоритма делает проверку намного проще. Путем создания таблицы определений типов данных можно программно переключать функцию между типами данных с плавающей и фиксированной точками. В следующем примере показано, как использовать этот метод и создать массив нулей.

 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