Установите опции для нахождения рабочих точек из спецификаций
возвращает набор опций с дополнительными опциями, заданными одним или несколькими options
= findopOptions(Name,Value
)Name,Value
аргументы в виде пар. Используйте этот набор опций, чтобы задать опции для findop
команда.
Создайте набор опций для поиска рабочей точки, который устанавливает тип оптимизатора градиентный спуск и подавляет отображаемый вывод findop
.
option = findopOptions('OptimizerType','graddescent','DisplayReport','off');
Кроме того, используйте запись через точку, чтобы задать значения options
.
options = findopOptions; options.OptimizerType = 'graddescent'; options.DisplayReport = 'off';
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'DisplayReport','off'
подавляет отображение отчета о поиске рабочей точки в Командном окне.'OptimizerType'
- Тип оптимизатора, используемый алгоритмом оптимизации'graddescent-elim'
(по умолчанию) | 'graddescent'
| 'graddescent-proj'
| 'lsqnonlin'
| 'lsqnonlin-proj'
| 'simplex'
Тип оптимизатора, используемый алгоритмом оптимизации, задается как разделенная разделенными запятой парами, состоящая из 'OptimizerType'
и одно из следующих:
'graddescent-elim'
- Применить ограничение равенства, чтобы заставить производные по времени от состояний быть нулем (dx/dt = 0
, x(k+1) = x(k)
) и выходные сигналы, чтобы быть равными их заданным известным значениям. Оптимизатор исправляет состояния, x
, и входы, u
, которые помечены как Known
в спецификации рабочей точки и оптимизирует оставшиеся переменные.
'graddescent'
- Применить ограничение равенства, чтобы заставить производные по времени от состояний быть нулем (dx/dt = 0
, x(k+1) = x(k)
) и выходные сигналы, которые будут равны их заданным известным значениям. Оптимизатор также минимизирует ошибку между состояниями x
, и входы, u
и их соответствующие известные значения из спецификации рабочей точки. Если нет никаких входов или состояний, отмеченных как Known
, findop
пытается минимизировать отклонение между начальными предположениями для x
и u
, и их обрезанные значения.
'graddescent-proj'
- В дополнение к 'graddescent'
, обеспечивают согласованность начальных условий модели при каждом вычислении функции. Чтобы определить, являются ли ограничения жесткими или мягкими, используйте ConstraintType
опция. Этот метод оптимизации не поддерживает аналитических якобианцев.
'lsqnonlin'
- Исправьте состояния, x
, и входы, u
, отмеченный как Known
в спецификации рабочей точки и оптимизируйте оставшиеся переменные. Алгоритм пытается минимизировать обе ошибки во временных производных состояний (dx/dt = 0
, x(k+1) = x(k)
) и ошибка между выходами и их заданными известными значениями.
'lsqnonlin-proj'
- В дополнение к 'lsqnonlin'
, обеспечивают согласованность начальных условий модели при каждом вычислении функции. Этот метод оптимизации не поддерживает аналитических якобианцев.
'simplex'
- Используйте ту же функцию затрат, что и lsqnonlin
с стандартной программой прямой оптимизации поиска, найденной в fminsearch
.
Для получения дополнительной информации об этих алгоритмах оптимизации см. fmincon
(Optimization Toolbox), lsqnonlin
(Optimization Toolbox), и fminsearch
(Optimization Toolbox).
'OptimizationOptions'
- Опции алгоритма оптимизацииОпции алгоритма оптимизации, заданные как разделенная разделенными запятой парами, состоящая из 'OptimizationOptions'
и структуру, созданную с помощью optimset
(Optimization Toolbox) функция.
'DisplayReport'
- Флаг, указывающий, отображать ли сводный отчет по эксплуатации'on'
(по умолчанию) | 'off'
| 'iter'
Флаг, указывающий, отображать ли сводный отчет по рабочей точке, заданный как разделенная разделенными запятой парами, состоящая из 'DisplayReport'
и одно из следующих:
'on'
- отображение сводного отчета по рабочей точке в MATLAB® командное окно при запуске findop
.
'off'
- Подавить отображение сводного отчета.
'iter'
- отображение итерационного обновления прогресса оптимизации.
'AreParamsTunable'
- Флаг, указывающий, следует ли повторно компилировать модель при изменении значений параметровtrue
(по умолчанию) | false
Флаг, указывающий, следует ли перекомпилировать модель при изменении значений параметров для обрезки, задается как разделенная разделенными запятой парами, состоящая из 'AreParamsTunable'
и одно из следующих:
true
- Не компилируйте модель повторно, когда все меняющиеся параметры настраиваются. Если какие-либо меняющиеся параметры не настраиваются, повторно компилируйте модель для каждой точки сетки параметра и выдайте предупреждающее сообщение.
false
- Перекомпилируйте модель для каждой точки сетки параметра. Используйте эту опцию, когда вы варьируете значения нетронутых параметров.
'ConstraintType'
- Типы ограничений для 'graddescent-proj'
Типы ограничений для 'graddescent-proj'
алгоритм оптимизатора, заданный как разделенная разделенными запятой парами, состоящая из 'ConstraintType'
и структуру со следующими полями:
dx
- Тип для ограничений на производные по состоянию
x
- Тип для ограничений на значения состояний
y
- Тип для ограничений на выходные значения
Задайте каждое ограничение как одно из следующих:
'hard'
- Усильте ограничения равными нулю.
'soft'
- Минимизируйте ограничения.
Все типы ограничений 'hard'
по умолчанию.
options
- Опции обрезкиfindopOptions
набор опцийОпции обрезки, возвращенные как findopOptions
набор опций.
'graddescent_elim'
значение Optimizer
свойство теперь 'graddescent-elim'
Поведение изменено в R2017b
The 'graddescent_elim'
значение Optimizer
свойство a findopOptions
объект теперь 'graddescent-elim'
.
Чтобы обновить код, измените значение оптимизатора с graddescent_elim
на graddescent-elim
. В следующей таблице показано типовое использование этого значения свойства и как обновить код.
Если ваш код имеет эту форму: | Вместо этого используйте этот код: |
---|---|
opt = findopOptions('Optimizer',... 'graddescent_elim'); |
opt = findopOptions('Optimizer',... 'graddescent-elim') |
opt = findopOptions; opt.Optimizer = 'graddescent_elim'; |
opt = findopOptions; opt.Optimizer = 'graddescent-elim'; |
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.