Этот пример показывает, как сгенерировать код С фиксированной точки из кода MATLAB® с плавающей точкой с помощью программируемого рабочего процесса.
Сконфигурируйте объект настройки фиксированной точки для предложения по типу
Сконфигурируйте дополнительные свойства объектов настройки фиксированной точки
Просмотрите сгенерированную фиксированную точку код С фиксированной точки и MATLAB
Создайте настройку фиксированной точки, возражают и конфигурируют имя тестового файла. Например:
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;
Регистрируйте вводы и выводы для графического изображения сравнения. Выберите, чтобы построить график использования пользовательской функции или Моделирования Data Inspector. Например, чтобы построить график Моделирования использования Data Inspector:
fixptcfg.LogIOForComparisonPlotting = true; fixptcfg.PlotWithSimulationDataInspector = true;
Сконфигурируйте дополнительные свойства объектов настройки фиксированной точки по мере необходимости. Например, задайте размер слова фиксированной точки по умолчанию:
fixptcfg.DefaultWordLength = 16;
Создайте объект настройки кода для генерации статической библиотеки C, динамической библиотеки или исполняемого файла. Включите отчет генерации кода. Например:
cfg = coder.config('lib');
cfg.GenerateReport = true;
Используйте функцию codegen
, чтобы преобразовать функцию MATLAB с плавающей точкой в код С фиксированной точки. Например:
codegen -float2fixed fixptcfg -config cfg fun_with_matlab
Щелкните по ссылке к отчету предложения по типу для функции точки входа.
Если вы выбрали, чтобы регистрировать вводы и выводы для графиков сравнения, процесс преобразования генерирует графики сравнения.
Если вы выбрали, чтобы использовать Моделирование Data Inspector для этих графиков, Моделирование, Data Inspector открывается. Используйте Моделирование Data Inspector, чтобы просмотреть и сравнить информацию о выполнении и фиксированной точки с плавающей точкой.
Если вы выбрали, чтобы использовать пользовательскую функцию построения графика для этих графиков, процесс преобразования использует пользовательскую функцию, чтобы сгенерировать графики.
Щелкните по ссылке Отчета Представления, которая следует отчету предложения по типу. Чтобы просмотреть фиксированную точку код MATLAB, выберите функцию в Исходной панели MATLAB. Чтобы просмотреть код С фиксированной точки, выберите файл в панели Сгенерированного кода.