Задайте опции для оптимизации типа данных
fxpOptimizationOptions
объект позволяет вам задать опции и ограничения, чтобы использовать во время процесса оптимизации типа данных.
создает opt
= fxpOptimizationOptions()fxpOptimizationOptions
объект со значениями по умолчанию.
создает opt
= fxpOptimizationOptions(Name,Value
) fxpOptimizationOptions
объект со значениями свойств, заданными одним или несколькими Name,Value
парные аргументы. Name
должен появиться в одинарных кавычках (''
). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN
.
MaxIterations
— Максимальное количество итераций, чтобы выполнитьМаксимальное количество итераций, чтобы выполнить в виде скалярного целого числа. Процесс оптимизации выполняет итерации через различные решения, пока он не находит идеальное решение, достигает максимального количества итераций или достигает другого критерий остановки.
Пример: opt.MaxIterations = 75;
Типы данных: double
MaxTime
— Максимальное количество времени для оптимизации, чтобы запуститься (в секундах)Максимальное количество времени для оптимизации, чтобы запуститься, заданный в секундах как скалярный номер. Запуски оптимизации, пока это не достигает заданного времени, идеальное решение или другой критерий остановки.
Пример: opt.MaxTime = 1000;
Типы данных: double
Patience
— Максимальное количество итераций, где никакое новое лучшее решение не найденоМаксимальное количество итераций, где никакое новое лучшее решение не найдено в виде скалярного целого числа. Оптимизация продолжается, пока алгоритм продолжает находить новые лучшие решения.
Пример: opt.Patience = 15;
Типы данных: double
Verbosity
— Уровень информации, отображенной в командной строке во время оптимизации'High'
(значение по умолчанию) | 'Moderate'
| 'Silent'
Уровень информации, отображенной в командной строке во время процесса оптимизации в виде любого 'High'
, 'Moderate'
, или 'Silent'
.
'Silent'
- Ничто не отображено в командной строке, пока процесс оптимизации не закончен
'Moderate'
- Информация отображена на каждом существенном шаге процесса оптимизации, включая то, когда процесс находится в предварительной обработке, моделировании и фазах оптимизации.
'High'
- Информация отображена в командной строке в каждой итерации процесса оптимизации, включая то, было ли новое лучшее решение найдено, и стоимость решения.
Пример: opt.Verbosity = 'Moderate';
Типы данных: char |
string
AllowableWordLengths
— Размеры слова, которые могут использоваться в вашей оптимизированной системе в соответствии с проектом
(значение по умолчанию) | скалярное целое число | вектор из целых чиселЗадайте размеры слова, которые могут использоваться в вашей оптимизированной системе в соответствии с проектом. Используйте это свойство предназначаться для поиска окружения процесса оптимизации. Конечный результат оптимизации использует размеры слова в пересечении AllowableWordLengths
и размеры слова, совместимые с аппаратными ограничениями, заданными в панели Hardware Implementation вашей модели.
Пример: opt.AllowableWordLengths = [8:11,16,32];
Типы данных: double
ObjectiveFunction
— Целевая функция, чтобы использовать во время поиска оптимизации'BitWidthSum'
(значение по умолчанию) | 'OperatorCount'
Целевая функция, чтобы использовать во время оптимизации ищет в виде одного из этих значений:
'BitWidthSum'
— Минимизируйте общую битную сумму ширины.
'OperatorCount'
— Минимизируйте оцененное количество операторов в сгенерированном коде C.
Эта опция может привести к более низкому размеру памяти программ для кода С, сгенерированного от Simulink® модели. 'OperatorCount'
целевая функция не подходит для целей ASIC или FPGA.
Примечание
Использовать 'OperatorCount'
как целевая функция во время оптимизации, модель должна быть готова к генерации кода. Для получения дополнительной информации об определении готовности генерации кода, см. Модель Проверки и Настройку для Генерации кода (Embedded Coder).
Типы данных: char
UseParallel
— Запустить ли итерации параллельноfalse
(значение по умолчанию) | true
Запустить ли итерации оптимизации параллельно в виде логического. Выполнение итераций параллельно требует лицензии Parallel Computing Toolbox™. Если у вас нет лицензии Parallel Computing Toolbox, или если вы задаете false
, итерации запущены в сериале.
Типы данных: логический
AdvancedOptions
— Дополнительные опции для оптимизацииДополнительные расширенные настройки для оптимизации. AdvancedOptions
объект, содержащий дополнительные свойства, которые могут влиять на оптимизацию.
Свойство | Описание |
---|---|
PerformNeighborhoodSearch |
|
EnforceLooseCoupling | Некоторые блоки имеют параметр, который обеспечивает входные параметры, чтобы совместно использовать тип данных или обеспечивает выход, чтобы совместно использовать совпадающий тип данных как вход.
|
UseDerivedRangeAnalysis |
В зависимости от настройки модели выведенный анализ области значений может занять больше времени, чем симуляция модели. |
SimulationScenarios | Задайте сценарии дополнительной симуляции, чтобы рассмотреть во время оптимизации с помощью Simulink.SimulationInput объект. Для примера смотрите, Оптимизируют Типы данных Используя Несколько Сценариев Симуляции. |
SafetyMargin | Введите запас прочности в виде значения положительной скалярной величины, указывающего на увеличение процента границ собранной области значений. Запас прочности применяется к объединению всех собранных областей значений, включая области значений симуляции, вывел области значений и области значений проекта. |
DataTypeOverride | Замените типы данных, заданные в модели при симуляции во время фазы набора области значений оптимизации.
|
HandleUnsupported | Некоторые блоки не поддерживаются для преобразования фиксированной точки. Для получения дополнительной информации смотрите Блоки, Которые Не Поддерживают Типы данных с фиксированной точкой.
|
PerformSlopeBiasCancellation |
|
InstrumentationContext | [model '/Subsystem'] – Ограничьте инструментирование для минимума, максимума и логгирования переполнения для шага набора области значений оптимизации к подсистеме. Подсистема должна находиться под моделью верхнего уровня и содержать систему в соответствии с проектом. |
addSpecification | Задайте известные типы данных в системе |
addTolerance | Задайте числовой допуск к оптимизированной системе |
showSpecifications | Покажите технические требования для системы |
showTolerances | Покажите допуски, заданные для системы |
Указатель. Чтобы узнать, как классы Handle влияют на операции копирования, см. раздел "Копирование объектов".
fxpOptimizationOptions
ОбъектСоздайте fxpOptimizationObject
со значениями свойств по умолчанию.
options = fxpOptimizationOptions();
Отредактируйте свойства после создания с помощью точечного синтаксиса.
options.Patience = 15; options.AllowableWordLengths = [8,16,32]; options.AdvancedOptions.UseDerivedRangeAnalysis = true
options = fxpOptimizationOptions with properties: MaxIterations: 50 MaxTime: 600 Patience: 15 Verbosity: High AllowableWordLengths: [8 16 32] ObjectiveFunction: BitWidthSum UseParallel: 0 Advanced Options AdvancedOptions: [1x1 DataTypeOptimization.AdvancedFxpOptimizationOptions]
fxpOptimizationOptions
Объект в Fixed-Point ToolМожно импортировать fxpOptimizationOptions
объект в Fixed-Point Tool, чтобы выполнить оптимизацию типа данных в приложении. Путем импорта fxpOptimizationOptions
возразите вместо того, чтобы задать настройки вручную в приложении, можно легко сохранить и восстановить настройки.
Откройте модель.
model = 'ex_controllerHarness';
open_system(model);
Чтобы задать опции для оптимизации, такие как допустимый размер слова и количество итераций, используют fxpOptimizationOptions
объект.
options = fxpOptimizationOptions('AllowableWordLengths', [2:32], 'MaxIterations', 3e2, 'Patience', 50);
Откройте Fixed-Point Tool с Controller
подсистема выбрана.
fxptdlg('ex_controllerHarness/Controller')
В Fixed-Point Tool выберите New> Optimized Fixed-Point Conversion, чтобы запустить рабочий процесс оптимизации типа данных.
В панели Setup, под Расширенными настройками, выбирают объект опций оптимизации импортировать из выпадающего меню. Нажмите Import.
Расширьте Меню параметров в панели инструментов, чтобы подтвердить, что опции оптимизации были применены.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.