кодер. Класс FixptConfig

Пакет: кодер

С плавающей точкой к объекту настройки преобразования фиксированной точки

Описание

Объект coder.FixptConfig содержит параметры конфигурации, которых функция MATLAB® Coder™ codegen требует, чтобы преобразовать код MATLAB с плавающей точкой в фиксированную точку код MATLAB во время генерации кода. Используйте опцию -float2fixed, чтобы передать этот объект функции codegen.

Конструкция

fixptcfg = coder.config('fixpt') создает объект coder.FixptConfig для с плавающей точкой к преобразованию фиксированной точки.

Свойства

ComputeDerivedRanges

Включите выведенный анализ области значений.

Значения: true|false (значение по умолчанию)

ComputeSimulationRanges

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

Значения: истинное (значение по умолчанию) |false

DefaultFractionLength

Длина части фиксированной точки по умолчанию.

Значения: 4 (значения по умолчанию) | положительное целое число

DefaultSignedness

Значение по умолчанию, со знаком из переменных в сгенерированном коде.

Значения: 'Автоматическое' (значение по умолчанию) | 'Со знаком' | 'Без знака'

DefaultWordLength

Размер слова фиксированной точки по умолчанию.

Значения: 14 (значений по умолчанию) | положительное целое число

DetectFixptOverflows

Включите обнаружение масштабируемого использования переполнения, удваивается.

Значения: верный | ложь (значение по умолчанию)

fimath

Свойства fimath использовать для преобразования.

Значения: fimath ('RoundingMethod', 'Пол', 'OverflowAction', 'Переносится', 'ProductMode', 'FullPrecision', 'SumMode', 'FullPrecision') (значение по умолчанию) | строка

FixPtFileNameSuffix

Суффикс для имен файлов фиксированной точки.

Значения: '_fixpt' | строка

LaunchNumericTypesReport

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

Значения: истинное (значение по умолчанию) | ложь

LogIOForComparisonPlotting

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

Значения: истинное (значение по умолчанию) | ложь

OptimizeWholeNumber

Оптимизируйте размеры слова переменных, журналы min моделирования которых / макс. журналы указывают, что они всегда - целые числа.

Значения: истинное (значение по умолчанию) | ложь

Функция plot

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

LogIOForComparisonPlotting должен собираться в истину включить графическое изображение сравнения. Эта опция более приоритетна по сравнению с PlotWithSimulationDataInspector.

Функция plot должна принять три входных параметра:

  • Структура, которая содержит имя переменной и функции, которая использует его.

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

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

Значения: '' (значение по умолчанию) | строка

PlotWithSimulationDataInspector

Используйте Моделирование Data Inspector для графиков сравнения.

LogIOForComparisonPlotting должен собираться в истину включить графическое изображение сравнения. Опция PlotFunction более приоритетна по сравнению с PlotWithSimulationDataInspector.

Значения: верный | ложь (значение по умолчанию)

ProposeFractionLengthsForDefaultWordLength

Предложите фиксированные точки на основе DefaultWordLength.

Значения: истинное (значение по умолчанию) | ложь

ProposeTargetContainerTypes

По умолчанию (FALSE), предложите, чтобы типы данных с минимальным размером слова должны были представлять значение. Когда установлено в истину, предложите тип данных с самым маленьким размером слова, который может представлять область значений и подходит для генерации кода C (8,16,32, 64 …). Например, для переменной с областью значений [0.. 7], предложите размер слова 8, а не 3.

Значения: верный | ложь (значение по умолчанию)

ProposeWordLengthsForDefaultFractionLength

Предложите фиксированные точки на основе DefaultFractionLength.

Значения: ложное (значение по умолчанию) | верный

ProposeTypesUsing

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

Значения: 'BothSimulationAndDerivedRanges' (значение по умолчанию) | 'SimulationRanges' |'DerivedRanges'

SafetyMargin

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

Значения: 0 (значений по умолчанию) | дважды

StaticAnalysisQuickMode

Выполните более быстрый статический анализ.

Значения: верный | ложь (значение по умолчанию)

StaticAnalysisTimeoutMinutes

Прервите анализ, если тайм-аут достигнут.

Значения: '' (значение по умолчанию) | положительное целое число

TestBenchName

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

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

Значения: '' (значение по умолчанию) | представляет в виде строки | массив ячеек строк

TestNumerics

Включите тестирование численных данных.

Значения: верный | ложь (значение по умолчанию)

Методы

addApproximationЗамените функцию с плавающей точкой на интерполяционную таблицу во время преобразования фиксированной точки
addDesignRangeSpecificationДобавьте спецификацию области значений дизайна к параметру
addFunctionReplacementЗамените функцию с плавающей точкой на функцию фиксированной точки во время преобразования фиксированной точки
clearDesignRangeSpecificationsОчистите все спецификации области значений дизайна
getDesignRangeSpecificationПолучите спецификации области значений дизайна для параметра
hasDesignRangeSpecificationОпределите, имеет ли параметр область значений дизайна
removeDesignRangeSpecificationУдалите спецификацию диапазона дизайна из параметра

Примеры

свернуть все

Создайте объект coder.FixptConfig, fixptcfg, с настройками по умолчанию.

fixptcfg = coder.config('fixpt');

Определите имя испытательного стенда. В этом примере именем функции испытательного стенда является dti_test.

fixptcfg.TestBenchName = 'dti_test';

Создайте объект настройки генерации кода сгенерировать автономную статическую библиотеку C.

cfg = coder.config('lib');

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

codegen -float2fixed fixptcfg -config cfg dti

Создайте объект coder.FixptConfig, fixptcfg, с настройками по умолчанию.

fixptcfg = coder.config('fixpt');

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

fixptcfg.TestBenchName = 'dti_test';

Выберите, чтобы предложить типы данных на основе выведенных областей значений.

fixptcfg.ProposeTypesUsing = 'DerivedRanges';
fixptcfg.ComputeDerivedRanges = true;

Добавьте области значений дизайна. В этом примере функция dti имеет один скаляр дважды входной параметр, u_in. Установите минимальное значение дизайна для u_in к -1 и максимума дизайна к 1.

fixptcfg.addDesignRangeSpecification('dti', 'u_in', -1.0, 1.0);

Преобразуйте функцию MATLAB с плавающей точкой, dti, к фиксированной точке код MATLAB.

codegen -float2fixed fixptcfg  dti

Когда вы выбираете, чтобы обнаружить потенциальное переполнение, codegen генерирует масштабированную двойную версию сгенерированной MEX-функции фиксированной точки. Масштабируемый удваивается, хранят их данные в с двойной точностью с плавающей точкой, таким образом, они выполняют арифметику в полном спектре. Они также сохраняют свои настройки фиксированной точки, таким образом, они могут сообщить, когда вычисление выходит из области значений фиксированной точки.

Этот пример требует MATLAB CODER и Фиксированной точки лицензии Designer™.

Создайте объект coder.FixptConfig, fixptcfg, с настройками по умолчанию.

fixptcfg = coder.config('fixpt');

Определите имя испытательного стенда. В этом примере именем функции испытательного стенда является dti_test.

fixptcfg.TestBenchName = 'dti_test';

Включите тестирование численных данных с обнаружением переполнения.

fixptcfg.TestNumerics = true;
fixptcfg.DetectFixptOverflows = true;

Создайте объект настройки генерации кода сгенерировать автономную статическую библиотеку C.

cfg = coder.config('lib');

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

codegen -float2fixed fixptcfg -config cfg dti

Альтернативы

Можно преобразовать код MATLAB с плавающей точкой в фиксированную точку с помощью приложения MATLAB CODER. Откройте приложение с помощью одного из этих методов:

  • На вкладке Apps, в разделе Code Generation, нажимают MATLAB Coder.

  • Используйте команду coder.

Смотрите преобразовывают КОД MATLAB в код С фиксированной точки.

Была ли эта тема полезной?