exponenta event banner

Преобразование кода MATLAB в код с фиксированной точкой C

В этом примере показано, как создать код С с фиксированной запятой из кода MATLAB ® с плавающей запятой с использованием программного рабочего процесса.

Настройка объекта конфигурации с фиксированной точкой

Создайте объект конфигурации с фиксированной точкой и настройте имя тестового файла. Например:

fixptcfg = coder.config('fixpt');
fixptcfg.TestBenchName = 'fun_with_matlab_test';

Конфигурирование объекта конфигурации с фиксированной точкой для проекта типа

Программа преобразования с фиксированной точкой может предлагать типы на основе диапазонов моделирования, производных диапазонов или того и другого.

  • Для предложения типа, использующего только диапазоны моделирования, активизируйте сбор и отчетность данных диапазона моделирования. По умолчанию анализ производного диапазона отключен.

    fixptcfg.ComputeSimulationRanges = true;
    

  • Для проекта типа с использованием только производных диапазонов:

    1. Укажите проектный диапазон для входных параметров. Например:

      fixptcfg.addDesignRangeSpecification('dti', 'u_in', -1.0, 1.0);
      
    2. Включить анализ производного диапазона. Деактивизация сбора и представления данных диапазона моделирования.

      fixptcfg.ComputeDerivedRanges = true;
      fixptcfg.ComputeSimulationRanges = false;
      

Включить числовое тестирование

Выберите для запуска тестового файла для проверки сгенерированного кода MATLAB с фиксированной точкой.

fixptcfg.TestNumerics = true;

Включить печать

Вход и выход журнала для печати сравнения. Выберите для печати пользовательскую функцию или инспектор данных моделирования. Например, для печати с помощью инспектора расчетных данных:

fixptcfg.LogIOForComparisonPlotting = true;
fixptcfg.PlotWithSimulationDataInspector = true;

Настройка дополнительных свойств объекта конфигурации с фиксированной точкой

При необходимости настройте дополнительные свойства объекта конфигурации с фиксированной точкой. Например, определите длину слова с фиксированной точкой по умолчанию:

fixptcfg.DefaultWordLength = 16;

Настройка объекта конфигурации генерации кода C

Создайте объект конфигурации кода для создания статической библиотеки C, динамической библиотеки или исполняемого файла. Включите отчет о создании кода. Например:

cfg = coder.config('lib');
cfg.GenerateReport = true;

Создание кода C с фиксированной точкой

Используйте codegen для преобразования функции MATLAB с плавающей запятой в код C с фиксированной запятой. Например:

codegen -float2fixed fixptcfg -config cfg fun_with_matlab

Просмотр отчета по предложениям по типам

Щелкните по ссылке на отчет по предложениям типа для функции точки входа.

Просмотр графиков сравнения

Если выбрано регистрировать входные и выходные данные для графиков сравнения, процесс преобразования создает графики сравнения.

  • Если для этих графиков выбрано использование инспектора расчетных данных, откроется инспектор расчетных данных. Используйте инспектор данных моделирования для просмотра и сравнения информации о выполнении с плавающей и фиксированной точками.

  • Если для этих графиков выбрана пользовательская функция печати, процесс преобразования использует пользовательскую функцию для создания графиков.

Просмотр сгенерированного кода MATLAB с фиксированной точкой и кода C с фиксированной точкой

Щелкните ссылку Просмотр отчета, которая следует за отчетом по предложениям типа. Для просмотра кода MATLAB с фиксированной точкой выберите функцию на панели «Источник MATLAB». Чтобы просмотреть код C с фиксированной точкой, выберите файл на панели «Сгенерированный код».

См. также

Связанные примеры

Подробнее