Этот пример показывает, как преобразовать проект MATLAB® Coder™ в скрипты MATLAB, когда проект включает автоматизированное преобразование фиксированной точки. Можно использовать опцию -tocode команды coder, чтобы создать пару скриптов для преобразования фиксированной точки и генерации фиксированной точки. Можно использовать скрипты, чтобы повторить рабочий процесс проекта в рабочем процессе командной строки. Прежде чем вы преобразуете проект в скрипты, необходимо завершить шаг Test процесса преобразования фиксированной точки.
Запустите скрипт, который генерирует код С фиксированной точки
Запустите скрипт, который генерирует фиксированную точку код 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