Уровень S-функции 2 MATLAB® не поддерживает пользовательские типы данных определения в S-функции. Однако порты ввода и вывода могут наследовать свои типы данных от Simulink.NumericType
или Simulink.AliasType
объект. Например, S-функция в следующей модели наследовала свой тип входных данных от блока Constant:
Поле Output data type блока Constant содержит значение MyDouble
, который является Simulink.AliasType
заданный в рабочем пространстве MATLAB со следующей строкой кода:
MyDouble = Simulink.AliasType('double');
Порты ввода и вывода Уровня 2 S-функция MATLAB msfcn_inheritdt.m
наследуйте их типы данных. Когда механизм Simulink® выполняет распространение типа данных, он присваивает тип данных MyDouble
к этим портам.
Можно задать тип данных с фиксированной точкой в Уровне 2 S-функция MATLAB, с помощью одного из следующих трех методов:
RegisterDataTypeFxpBinaryPoint
указывает тип данных с фиксированной точкой с бинарным масштабированием только для точки
RegisterDataTypeFxpFSlopeFixExpBias
указывает тип данных с фиксированной точкой с [Наклонное Смещение] масштабирование заданного в терминах дробного наклона, зафиксированной экспоненты и смещения
RegisterDataTypeFxpSlopeBias
указывает тип данных с [Наклонное Смещение] масштабирование
Примечание
Если зарегистрированный тип данных не является одним из Simulink встроенные типы данных, у вас должна быть лицензия Fixed-Point Designer™.
Если вы имеете Fixed-Point Designer, смотрите модели в качестве примера и S-функции, которым предоставляют программное обеспечение для примеров с помощью макросов для определения типов данных с фиксированной точкой.
Level-2 MATLAB S-Function | MATLAB Function | S-Function | S-Function Builder