Можно использовать fixdt функция в Simulink® задавать тип данных с фиксированной точкой. fixdt функция создает Simulink.NumericType объект.
Именами типов данных Simulink должен быть допустимый MATLAB® идентификаторы меньше чем с 128 символами. Имя типа данных предоставляет информацию о контейнерном типе, кодировании номера и масштабировании.
Следующая таблица обеспечивает ключ для различных символов, которые, кажется, в продуктах Simulink указывают на тип данных и масштабирование значения фиксированной точки.
Символ | Описание | Пример |
|---|---|---|
| Контейнерный тип | ||
| Тип данных с фиксированной точкой без знака |
|
| Тип данных с фиксированной точкой со знаком |
|
| Масштабируемое двойное переопределение типа данных с фиксированной точкой без знака ( |
|
| Масштабируемое двойное переопределение типа данных с фиксированной точкой со знаком ( |
|
| Кодирование номера | ||
| 10^ |
|
| Отрицательный |
|
| Десятичная точка |
|
| Масштабирование кодирования | ||
| Наклон |
|
| Смещение |
|
| Фиксированная экспонента (2^) Отрицательная фиксированная экспонента описывает дробную длину |
|
| Наклонный поправочный коэффициент |
|
C, c, D, или d | Сжатое кодирование для Смещения Примечание Если вы передаете этот вектор символов | Никакой доступный пример. Для назад совместимости только. Идентифицировать и заменять вызовы |
T или t | Сжатое кодирование для Наклона Примечание Если вы передаете этот вектор символов | Никакой доступный пример. Для назад совместимости только. Идентифицировать и заменять вызовы |
Чтобы присвоить тип данных с фиксированной точкой номеру или переменной в MATLAB, используйте fi (Fixed-Point Designer) конструктор. Получившееся значение фиксированной точки называется 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Используйте блок From Workspace, чтобы считать данные фиксированной точки из рабочего пространства MATLAB в модель Simulink. Для этого данные должны быть в формате структуры с fi объект в values поле . В формате массивов блок From Workspace только принимает действительные, данные с двойной точностью.
Можно записать фиксированной точке выход от модели до рабочего пространства MATLAB через блок To Workspace или в массиве или в формате структуры. Данные фиксированной точки, записанные блоком To Workspace в рабочую область в формате структуры, могут быть считаны назад в модель Simulink в формате структуры блоком From Workspace.
Масштабируемый удваивается, гибрид между числами и фиксированной точки с плавающей точкой. Fixed-Point Designer™ хранит их, как удваивается с масштабированием, знаком и сохраненной информацией о размере слова. Например, контейнер устройства хранения данных для типа данных с фиксированной точкой sfix16_En14 int16. Контейнер устройства хранения данных масштабируемого эквивалента удваивает тип данных, flts16_En14 double с плавающей точкой. Fixed-Point Designer применяет масштабирующуюся информацию к сохраненному с плавающей точкой дважды, чтобы получить реальное значение. Хранение значения в двойном почти всегда устраняет проблемы точности и переполнение.
fi (Fixed-Point Designer) | fimath (Fixed-Point Designer) | fixdt | Simulink.NumericType