В этом примере показано, как создать код С с фиксированной запятой из кода MATLAB ® с плавающей запятой с использованием программного рабочего процесса.
Конфигурирование объекта конфигурации с фиксированной точкой для проекта типа
Настройка дополнительных свойств объекта конфигурации с фиксированной точкой
Просмотр сгенерированного кода MATLAB с фиксированной точкой и кода C с фиксированной точкой
Создайте объект конфигурации с фиксированной точкой и настройте имя тестового файла. Например:
fixptcfg = coder.config('fixpt'); fixptcfg.TestBenchName = 'fun_with_matlab_test';
Программа преобразования с фиксированной точкой может предлагать типы на основе диапазонов моделирования, производных диапазонов или того и другого.
Для предложения типа, использующего только диапазоны моделирования, активизируйте сбор и отчетность данных диапазона моделирования. По умолчанию анализ производного диапазона отключен.
fixptcfg.ComputeSimulationRanges = true;
Для проекта типа с использованием только производных диапазонов:
Укажите проектный диапазон для входных параметров. Например:
fixptcfg.addDesignRangeSpecification('dti', 'u_in', -1.0, 1.0);
Включить анализ производного диапазона. Деактивизация сбора и представления данных диапазона моделирования.
fixptcfg.ComputeDerivedRanges = true; fixptcfg.ComputeSimulationRanges = false;
Выберите для запуска тестового файла для проверки сгенерированного кода MATLAB с фиксированной точкой.
fixptcfg.TestNumerics = true;
Вход и выход журнала для печати сравнения. Выберите для печати пользовательскую функцию или инспектор данных моделирования. Например, для печати с помощью инспектора расчетных данных:
fixptcfg.LogIOForComparisonPlotting = true; fixptcfg.PlotWithSimulationDataInspector = true;
При необходимости настройте дополнительные свойства объекта конфигурации с фиксированной точкой. Например, определите длину слова с фиксированной точкой по умолчанию:
fixptcfg.DefaultWordLength = 16;
Создайте объект конфигурации кода для создания статической библиотеки C, динамической библиотеки или исполняемого файла. Включите отчет о создании кода. Например:
cfg = coder.config('lib');
cfg.GenerateReport = true;Используйте codegen для преобразования функции MATLAB с плавающей запятой в код C с фиксированной запятой. Например:
codegen -float2fixed fixptcfg -config cfg fun_with_matlab
Щелкните по ссылке на отчет по предложениям типа для функции точки входа.
Если выбрано регистрировать входные и выходные данные для графиков сравнения, процесс преобразования создает графики сравнения.
Если для этих графиков выбрано использование инспектора расчетных данных, откроется инспектор расчетных данных. Используйте инспектор данных моделирования для просмотра и сравнения информации о выполнении с плавающей и фиксированной точками.
Если для этих графиков выбрана пользовательская функция печати, процесс преобразования использует пользовательскую функцию для создания графиков.
Щелкните ссылку Просмотр отчета, которая следует за отчетом по предложениям типа. Для просмотра кода MATLAB с фиксированной точкой выберите функцию на панели «Источник MATLAB». Чтобы просмотреть код C с фиксированной точкой, выберите файл на панели «Сгенерированный код».