Параметризуйте функцию MATLAB так, чтобы она работала в MATLAB или в сгенерированном коде. Когда функция запускается в MATLAB, она вызывает функцию MATLAB myabsval. Сгенерированный код, однако, вызывает библиотечную функцию C myabsval.
Запишите функции MATLAB myabsval.
Сгенерируйте статическую библиотеку C для myabsval, использование -args опция, чтобы задать размер, введите, и сложность входного параметра.
codegen функция создает файл библиотеки
myabsval.lib и заголовочный файл
myabsval.h в папке
\codegen\lib\myabsval. (Расширение файла библиотеки может измениться в зависимости от вашей платформы.) Это генерирует функции
myabsval_initialize и
myabsval_terminate в той же папке.
Запишите функцию MATLAB, чтобы вызвать сгенерированное использование библиотечной функции C coder.ceval.
Сгенерируйте MEX-функцию callmyabsval_mex. Обеспечьте сгенерированный файл библиотеки в командной строке.
Вместо того, чтобы обеспечивать библиотеку в командной строке, можно использовать coder.updateBuildInfo задавать библиотеку в функции. Используйте эту опцию, чтобы предварительно сконфигурировать сборку. Добавьте эту линию на else блок:
Запустите MEX-функцию callmyabsval_mex который вызывает библиотечную функцию myabsval.
Вызовите функцию MATLAB callmyabsval.
callmyabsval функция предоставляет желаемое поведение для выполнения в MATLAB и в генерации кода.