Этот пример показывает, как сгенерировать код С фиксированной точки из кода 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;
Регистрируйте вводы и выводы для графического вывода сравнения. Выберите, чтобы построить использование пользовательской функции или Инспектора Данных моделирования. Например, чтобы построить Инспектора Данных моделирования использования:
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
Щелкните по ссылке к отчету предложения по типу для функции точки входа.
Если вы выбрали, чтобы регистрировать вводы и выводы для графиков сравнения, процесс преобразования генерирует графики сравнения.
Если вы выбрали, чтобы использовать Инспектора Данных моделирования для этих графиков, Инспектор Данных моделирования открывается. Используйте Инспектора Данных моделирования, чтобы просмотреть и сравнить информацию о выполнении и фиксированной точки с плавающей точкой.
Если вы выбрали, чтобы использовать пользовательскую функцию построения графика для этих графиков, процесс преобразования использует пользовательскую функцию, чтобы сгенерировать графики.
Щелкните по ссылке View Report, которая следует отчету предложения по типу. Чтобы просмотреть фиксированную точку код MATLAB, выберите функцию в панели MATLAB Source. Чтобы просмотреть код С фиксированной точки, выберите файл в панели Generated Code.