Задайте опции для оптимизации типа данных
The 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
- Размеры слова, которая может использоваться в вашей оптимизированной системе под проект[2:128]
(по умолчанию) | скалярное целое число | вектор из целых чиселЗадайте размеры слова, которые могут использоваться в оптимизированной системе при проекте. Используйте это свойство для поиска по соседству процесса оптимизации. Конечный результат оптимизации использует размеры слова в пересечении AllowableWordLengths
и размеры слова, совместимые с аппаратными ограничениями, заданными на панели Hardware Implementation вашей модели.
Пример: opt.AllowableWordLengths = [8:11,16,32];
Типы данных: double
ObjectiveFunction
- Целевая функция для использования во время поиска оптимизации'BitWidthSum'
(по умолчанию) | 'OperatorCount'
Целевая функция для использования во время поиска оптимизации, заданная как одно из следующих значений:
'BitWidthSum'
- Минимизируйте общую сумму ширины бита.
'OperatorCount'
- Минимизируйте предполагаемое количество операторов в сгенерированном коде C.
Эта опция может привести к снижению размера памяти программы для кода С, сгенерированного Simulink® модели. The 'OperatorCount'
целевая функция не подходит для целей FPGA или ASIC.
Примечание
Как использовать 'OperatorCount'
как целевая функция во время оптимизации, модель должна быть готова к генерации кода. Для получения дополнительной информации об определении готовности генерации кода смотрите Проверить модель и Строение для Генерации кода (Embedded Coder).
Типы данных: char
UseParallel
- Запускать ли итерации параллельноfalse
(по умолчанию) | true
Запускать ли итерации оптимизации параллельно, задается как логическая. Для параллельной выполнения итераций требуется лицензия Parallel Computing Toolbox™. Если у вас нет лицензии Parallel Computing Toolbox, или если вы задаете false
, итерации выполняются последовательно.
Типы данных: logical
AdvancedOptions
- Дополнительные опции для оптимизацииДополнительные расширенные опции для оптимизации. AdvancedOptions
является объектом, содержащим дополнительные свойства, которые могут повлиять на оптимизацию.
Свойство | Описание |
---|---|
PerformNeighborhoodSearch |
|
EnforceLooseCoupling | Некоторые блоки имеют параметр, который заставляет входы совместно использовать тип данных или заставляет выходы использовать совпадающий тип данных, что и входные.
|
UseDerivedRangeAnalysis |
В зависимости от строения модели, анализ производной области значений может занять больше времени, чем симуляция модели. |
SimulationScenarios | Задайте дополнительные сценарии симуляции, которые будут рассмотрены во время оптимизации с помощью Simulink.SimulationInput объект. Для получения примера смотрите Оптимизация типов данных с помощью нескольких сценариев симуляции. |
SafetyMargin | Введите запас прочности, заданный как положительная скалярная величина значение, указывающее на процентное увеличение границ собранной области значений. Запас прочности применяется к объединению всех собранных областей значений, включая области значений симуляции, производные области значений и расчетные области значений. |
DataTypeOverride | Переопределите типы данных, заданные в модели, при симуляции во время фазы набора области значений оптимизации.
|
HandleUnsupported | Некоторые блоки не поддерживаются для преобразования с фиксированной точкой. Для получения дополнительной информации смотрите Блоки, которые не поддерживают типы данных с фиксированной точкой.
|
PerformSlopeBiasCancellation |
|
addSpecification | Задайте известные типы данных в системе |
addTolerance | Задайте числовой допуск для оптимизированной системы |
showSpecifications | Показать спецификации для системы |
showTolerances | Показать допуски, заданные для системы |
Указатель. Чтобы узнать, как классы handle влияют на операции копирования, см. раздел «Копирование объектов».
Создайте fxpOptimizationObject
со значениями свойств по умолчанию.
options = fxpOptimizationOptions();
Отредактируйте свойства после создания с помощью синтаксиса точки.
options.Patience = 15; options.AllowableWordLengths = [8,16,32]
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]
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.