Реализовать свою S-функцию можно одним из пяти способов:
Level-2 S-функция MATLAB обеспечивает доступ к более обширному набору S-функций API и поддерживает генерацию кода. В большинстве случаев используйте Level-2 MATLAB® S-функция, когда вы хотите реализовать свою S-функцию в MATLAB.
Рукописная функция C MEX S обеспечивает максимальную гибкость программирования. Можно реализовать алгоритм как S-функцию C MEX или написать S-функцию оболочки, чтобы вызвать существующий код C, C++ или Фортран. Запись новой S-функции требует знания S-функции API и, если вы хотите сгенерировать inlined код для S-функции, Target Language Compiler (TLC).
S-Function Builder является графическим пользовательским интерфейсом для программирования подмножества функциональности S-функции. Если вы новичок в записи S-функций C MEX, можно использовать S-Function Builder, чтобы сгенерировать новые S-функции или включить существующий код C or C++, не взаимодействуя с S-function API. S-Function Builder может также сгенерировать файлы TLC для вставки вашей S-функции во время генерации кода с Simulink® Coder™ продукт.
Legacy Code Tool является набором команд MATLAB, который помогает вам создать S-функцию для включения устаревшего кода C or C++. Как и S-Function Builder, Legacy Code Tool может сгенерировать файл TLC, чтобы встроить вашу S-функцию во время генерации кода. Legacy Code Tool предоставляет доступ к меньшему числу методов в S-function API, чем S-Function Builder или рукописная S-функция C MEX.
В следующих разделах описываются использования, функции и различия этих реализаций S-функций. Последний раздел сравнивает использование рукописной функции C MEX S-function, S-Function Builder и Legacy Code Tool, чтобы включить существующую функцию C в вашу модель Simulink.