Вы можете использовать fixdt в Simulink ® для указания типа данных с фиксированной точкой. fixdt функция создает Simulink.NumericType объект.
Имена типов данных Simulink должны быть допустимыми идентификаторами MATLAB ® с длиной менее 128 символов. Имя типа данных содержит информацию о типе контейнера, кодировке номеров и масштабировании.
В следующей таблице представлен ключ для различных символов, которые появляются в продуктах Simulink для указания типа данных и масштабирования значения с фиксированной точкой.
Символ | Описание | Пример |
|---|---|---|
| Тип контейнера | ||
| Неподписанный тип данных с фиксированной точкой |
|
| Подписанный тип данных с фиксированной точкой |
|
| Масштабированное двойное переопределение неподписанного типа данных с фиксированной точкой ( |
|
| Масштабированное двойное переопределение подписанного типа данных с фиксированной точкой ( |
|
| Кодировка номера | ||
| 10^ |
|
| Отрицательный |
|
| Десятичная точка |
|
| Масштабирование кодировки | ||
| Наклон |
|
| Уклон |
|
| Фиксированная степень (2 ^) Отрицательная фиксированная экспонента описывает длину дроби |
|
| Коэффициент регулировки уклона |
|
C, c, D или d | Сжатое кодирование для смещения Примечание Если передать этот вектор символов в | Пример недоступен. Только для обратной совместимости. Идентификация и замена вызовов для |
Т или т | Сжатая кодировка для уклона Примечание Если передать этот вектор символов в | Пример недоступен. Только для обратной совместимости. Идентификация и замена вызовов для |
Для назначения типа данных с фиксированной точкой номеру или переменной в MATLAB используйте fi Конструктор (Конструктор фиксированных точек). Результирующее значение с фиксированной точкой называется fi объект. Например, создается следующее: fi объекты a и b с атрибутами, показанными на экране, которые можно указать при построении переменных. Обратите внимание, что при FractionLength свойство не указано, оно автоматически устанавливается на «наилучшую точность» для заданной длины слова, сохраняя наиболее значащие биты значения. Когда WordLength не указано свойство, по умолчанию оно имеет значение 16 бит.
a = fi(pi)
a =
3.1416015625
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 13b = fi(0.1)
b =
0.0999984741210938
DataTypeMode: Fixed-point: binary point scaling
Signedness: Signed
WordLength: 16
FractionLength: 18Блок «Из рабочего пространства» используется для считывания данных с фиксированной точкой из рабочего пространства MATLAB в модель Simulink. Для этого данные должны быть в структурном формате с fi объект в values поле. В формате массива блок «Из рабочей области» принимает только реальные данные с двойной точностью.
Вывод с фиксированной точкой из модели можно записать в рабочую область MATLAB через блок «В рабочую область» в формате массива или структуры. Данные фиксированной точки, написанные К блоку Рабочего пространства к рабочему пространству в формате структуры, могут быть прочитаны назад в модель Simulink в формате структуры От блока Рабочего пространства.
Масштабированные двойники - это гибрид между числами с плавающей и фиксированной точками. Designer™ Fixed-Point сохраняет их как двойные с сохранением информации о масштабировании, знаке и длине слова. Например, контейнер хранения для типа данных с фиксированной точкой sfix16_En14 является int16. Контейнер хранения эквивалентного масштабированного типа данных удваивается, flts16_En14 является плавающей точкой double. Fixed-Point Designer применяет информацию масштабирования к сохраненной двойке с плавающей запятой для получения реального значения. Сохранение значения в двойном формате почти всегда устраняет проблемы переполнения и точности.
fixdt | Simulink.NumericType | fi (Конструктор фиксированных точек) | fimath (Конструктор фиксированных точек)