Термин data type относится к тому, как компьютеры представляют информацию в памяти. Тип данных определяет сумму устройства хранения данных, выделенного данным, методу кодирования значения данных как шаблон двоичных цифр и операции, доступные для управления данными.
Можно задать тип объекта данных или в Property Inspector или в Model Explorer. В поле Type выберите тип из выпадающего списка или введите выражение, которое оценивает к типу данных. Для получения дополнительной информации смотрите Set Data Properties.
В качестве альтернативы используйте Ассистент Типа данных, чтобы задать данные Mode и выбрать тип данных на основе того режима:
В Model Explorer, на панели Data, нажимают кнопку Show data type assistant.
Выберите Mode из выпадающего списка. Список доступных режимов зависит от осциллографа объекта данных.
Осциллограф | Режимы |
---|---|
Local | Inherit (доступный только в графиках, которые используют MATLAB® в качестве языка действия), Built in , Fixed point , Enumerated , Bus object Выражение |
Constant | Built in , Fixed point Выражение |
Parameter | Inherit встроенный , Fixed point , Enumerated , Bus object Выражение |
Input | Inherit встроенный , Fixed point , Enumerated , Bus object Выражение |
Output | Inherit встроенный , Fixed point , Enumerated , Bus object Выражение |
Data Store Memory | Inherit |
Укажите дополнительную информацию на основе режима. Ассистент Типа данных заполняет поле Type на основе вашей спецификации.
Режим | Типы данных |
---|---|
Inherit | Вы не можете задать тип данных. Вы наследовали тип данных на основе осциллографа, который вы выбираете для объекта данных:
Для получения дополнительной информации смотрите, Наследовали Типы данных от Объектов Simulink. |
Built in | Задайте тип данных из выпадающего списка поддерживаемых типов данных:
|
Fixed point | Укажите эту информацию о данных фиксированной точки:
Для получения информации смотрите Fixed-Point Data Properties. |
Enumerated | Задайте имя класса для перечислимого типа данных. Для получения дополнительной информации смотрите, Задают Перечислимые Типы данных. |
Bus object | Задайте имя |
Expression | Задайте выражение, которое оценивает к типу данных. Используйте одно из этих выражений:
Для получения дополнительной информации смотрите Specify Data Properties при помощи Выражений MATLAB. |
Чтобы сохранить настройки типа данных, нажмите Apply.
Ассистент Типа данных доступен только через Model Explorer.
Когда вы выбираете Inherit: Same as Simulink
от Type выпадающий список, объекты данных осциллографа Input
вывод
, Parameter
, и Data Store Memory
наследуйте их типы данных от объектов Simulink.
Осциллограф | Описание |
---|---|
Input | Наследовал тип от входного сигнала Simulink, соединенного с соответствующим входным портом в графике. |
Output | Наследовал тип от выходного сигнала Simulink, соединенного с соответствующим выходным портом в графике. Постарайтесь не наследовать типы данных от выходных сигналов. Значения, которые назад - распространяют от блоков Simulink, могут быть непредсказуемыми. |
Parameter | Наследовал тип от соответствующей переменной базового рабочего пространства MATLAB или параметра Simulink в подсистеме маскированной. |
Data Store Memory | Наследовал тип от соответствующего хранилища данных Simulink. |
Чтобы определить типы данных, которые наследовали объекты:
Создайте модель Simulink.
Откройте Model Explorer.
В панели Contents исследуйте столбец CompiledType.
Можно использовать type
оператор, чтобы вывести типы данных из других объектов данных Stateflow:
type(data_obj)
sf_bus_demo
, выражение type(inbus)
возвращает тип данных входной структуры inbus
. Поскольку inbus
выводит его тип из Simulink.Bus
объект COUNTERBUS
, тип данных локальной структуры counterbus_struct
также выводит его тип данных из COUNTERBUS
.После того, как вы создадите свою модель, столбец CompiledType Model Explorer показывает тип, используемый в скомпилированном приложении симуляции.
Можно задать тип данных Stateflow при помощи псевдонима типа данных Simulink. Для получения дополнительной информации смотрите Simulink.AliasType
(Simulink).
Например, предположите, что вы хотите задать псевдоним типа данных MyFloat
это соответствует встроенному типу данных single
В командной строке MATLAB введите:
MyFloat = Simulink.AliasType;
MyFloat.BaseType = 'single';
Чтобы использовать этот псевдоним, чтобы задать тип объекта данных, выберите объект в Property Inspector или Model Explorer. В поле Type введите имя псевдонима MyFloat
.
После того, как вы создадите свою модель, столбец CompiledType Model Explorer показывает тип, используемый в скомпилированном приложении симуляции.
По умолчанию свойство диаграммы Use Strong Data Typing with Simulink I/O позволяет графикам C взаимодействовать через интерфейс непосредственно с сигналами из моделей Simulink. График принимает только входные сигналы, тип данных которых совпадает с типом соответствующего объекта данных Stateflow. В противном случае ошибка несоответствия типов происходит. Например, путем выбора Use Strong Data Typing with Simulink I/O, можно отметить несоответствия между данными фиксированной точки ввода или вывода в графиках и их дубликатами в моделях Simulink. Для получения дополнительной информации смотрите Specify Properties для диаграмм Stateflow.
Если вы очищаете свойство диаграммы Use Strong Data Typing with Simulink I/O, график преобразует входные сигналы типа double
к типу соответствующих входных данных возражают в графике. График преобразует объекты выходных данных ввести double
прежде, чем экспортировать их как выходные сигналы к моделям Simulink.
Примечание
Свойство диаграммы Use Strong Data Typing with Simulink I/O обеспечивается для обратной совместимости. Снятие этого флажка может привести к непредсказуемым результатам и не рекомендуется.
fixdt
(Simulink) | Simulink.AliasType
(Simulink) | Simulink.NumericType
(Simulink)