В этом примере показано, как преобразовать проект MATLAB ® Coder™ в сценарии MATLAB, если проект включает автоматическое преобразование с фиксированной точкой. Вы можете использовать -tocode вариант coder для создания пары сценариев для преобразования с фиксированной точкой и создания кода с фиксированной точкой. Сценарии можно использовать для повторения рабочего процесса проекта в рабочем процессе командной строки. Перед преобразованием проекта в сценарии необходимо выполнить этап тестирования процесса преобразования с фиксированной точкой.
Выполнить сценарий, генерирующий код С с фиксированной точкой
Выполнить сценарий, генерирующий код MATLAB с фиксированной точкой
В этом примере используются следующие файлы:
Файл проекта ex_2ndOrder_filter.prj
Файл точки входа ex_2ndOrder_filter.m
Файл испытательного стенда ex_2ndOrder_filter_test.m
Созданный файл MATLAB с фиксированной точкой ex_2ndOrder_filter_fixpt.m
Чтобы получить эти файлы, выполните пример «Предложить типы данных с фиксированной точкой на основе диапазонов моделирования», включая следующие шаги:
Выполните этап Test процесса преобразования с фиксированной точкой.
Настройте проект для создания статической библиотеки C/C + +.
Изменение папки, содержащей файл проекта ex_2ndOrder_filter.prj.
Используйте -tocode вариант coder для преобразования проекта в сценарии. Используйте -script для указания имени файла для сценариев.
coder -tocode ex_2ndOrder_filter -script ex_2ndOrder_filter_script.m
coder создает два сценария в текущей папке:
ex_2ndOrder_filter_script.m содержит команды MATLAB для:
Создайте объект конфигурации кода, имеющий те же параметры, что и проект.
Запустить codegen для преобразования функции MATLAB с фиксированной точкой ex_2ndOrder_filter_fixpt к функции C с фиксированной точкой.
fixedPointConverter создает сценарий в текущей папке. ex_2ndOrder_filter_script_fixpt.m содержит команды MATLAB для:
Создайте объект конфигурации преобразования с плавающей запятой в фиксированную, имеющий те же параметры преобразования с фиксированной запятой, что и проект.
Запустить codegen для преобразования функции MATLAB ex_2ndOrder_filter к функции MATLAB с фиксированной точкой ex_2ndOrder_filter_fixpt.
Суффикс в имени файла сценария - это созданный суффикс имени файла с фиксированной точкой, заданный файлом проекта. В этом примере суффикс является значением по умолчанию _fixpt.
coder перезаписывает существующие файлы, имена которых совпадают с именами созданных сценариев. Если опустить -script опция, coder записывает сценарии в окно команд.
Для запуска сценария, который генерирует код С с фиксированной точкой из кода MATLAB с фиксированной точкой, должна быть доступна функция MATLAB с фиксированной точкой, указанная в сценарии.
Убедитесь, что функция MATLAB с фиксированной точкой ex_2ndOrder_filter_fixpt.m находится в пути поиска.
addpath c:\coder\ex_2ndOrder_filter\codegen\ex_2ndOrder_filter\fixptЗапустите сценарий:
ex_2ndOrder_filter_script
Генератор кода создает статическую библиотеку C с именем ex_2ndOrder_filter_fixpt в папке codegen\lib\ex_2ndOrder_filter_fixpt. Переменные cfg и ARGS отображаются в базовом рабочем пространстве.
Если функция MATLAB с фиксированной точкой отсутствует или требуется ее регенерация, используйте сценарий, который создает функцию MATLAB с фиксированной точкой из функции MATLAB с плавающей точкой.
Убедитесь, что текущая папка содержит функцию точки входа ex_2ndOrder_filter.m и файл тестового стенда ex_2ndOrder_filter_test.m.
Запустите сценарий.
ex_2ndOrder_filter_script_fixpt
Генератор кода создает ex_2ndOrder_filter_fixpt.m в папке codegen\ex_2ndOrder_filter\fixpt. Переменные cfg и ARGS отображаются в базовом рабочем пространстве.
codegen | coder | coder.FixPtConfig