Добавьте и реализуйте методы распространения

Когда использовать методы распространения

Методы распространения выходные define технические требования. Используйте их, когда выходные технические требования не смогут быть выведены непосредственно из входных параметров во время компиляции модели Simulink®.

Рассмотрите использование методов распространения в своей Системе object™ когда:

  • Системный объект требует доступа ко всем функциям MATLAB®, которые не поддерживают генерацию кода, что означает, что вы не можете сгенерировать код для симуляции. Необходимо использовать методы распространения в этом случае и интерпретированный режим выполнения для симуляции. Режимы генерации кода не будут поддерживаться.

  • Вы хотите использовать сигналы переменного размера.

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

При запуске программное обеспечение Simulink пытается оценить порты ввода и вывода блоков модели для распространения атрибута сигнала. В случае блоков MATLAB System, если программное обеспечение не может выполнить эту оценку, оно отображает сообщение, предлагающее вам добавить методы распространения в Системный объект.

Реализуйте методы распространения

Simulink оценивает использование методов распространения, чтобы оценить порты ввода и вывода блока MATLAB System для запуска.

Каждый метод имеет реализацию по умолчанию, перечисленную в столбце Default Implementation Should Suffice if. Если ваш Системный объект не использует реализацию по умолчанию, необходимо реализовать версию метода распространения для Системного объекта.

ОписаниеМетод распространенияРеализация по умолчанию Должна быть Достаточной если Пример

Получает размерности выходных портов. Связанным методом является getOutputSize.

getOutputSizeImpl

  • Только один вход

  • Только один выход

  • Входной размер, который совпадает с выходным размером

Получает типы данных выходных портов. Связанным методом является getOutputDataType.

getOutputDataTypeImpl

  • Только один вход

  • Только один выход

  • Выходные данные всегда вводят то же самое как тип входных данных

Указывает, являются ли выходные порты комплексными или нет. Связанным методом является isOutputComplex.

isOutputComplexImpl

  • Только один вход

  • Только один выход

  • Выводите сложность всегда то же самое как th входная сложность

Являются ли выходные порты фиксированным размером. Связанным методом является isOutputFixedSize.

isOutputFixedSizeImpl

  • Только один вход

  • Только один выход

  • Выведите и введите, фиксированный размер

Получает размер, тип данных и сложность свойства дискретного состояния. Связанным методом является getDiscreteStateSpecification.

getDiscreteStateSpecificationImpl

Никакой DiscreteState свойства

Нет данных

Похожие темы