Набор опций для findstates
создает набор опции по умолчанию для opt
= findstatesOptionsfindstates
. Используйте запись через точку, чтобы настроить набор опции в случае необходимости.
создает набор опции с опциями, заданными одним или несколькими opt
= findstatesOptions(Name,Value
)Name,Value
парные аргументы. Опции, которые вы не задаете, сохраняют свое значение по умолчанию.
Создайте набор опции для findstates
путем конфигурирования спецификации возражают для начальных состояний.
Идентифицируйте модель в пространстве состояний четвертого порядка из данных.
load iddata8 z8; sys = ssest(z8,4);
z8
iddata
объект, содержащий данные об отклике системы временного интервала. sys
четвертый порядок idss
модель, которая идентифицирована из данных.
Сконфигурируйте объект спецификации для начальных состояний модели.
x0obj = idpar([1;nan(3,1)]); x0obj.Free(1) = false; x0obj.Minimum(2) = 0; x0obj.Maximum(2) = 1;
x0obj
задает ограничения оценки на начальные условия. Значение первого состояния задано как 1 когда x0obj
создается. x0obj.Free(1) = false
задает первое начальное состояние как фиксированный параметр оценки. Второе состояние неизвестно. Но, x0obj.Minimum(2) = 0
и x0obj.Maximum(2) = 1
задайте нижние и верхние границы второго состояния как 0
и 1
, соответственно.
Создайте набор опции для findstates
идентифицировать начальные состояния модели.
opt = findstatesOptions; opt.InitialState = x0obj;
Идентифицируйте начальные состояния модели.
x0_estimated = findstates(sys,z8,Inf,opt);
Создайте набор опции для findstates
где:
Начальные состояния оцениваются таким образом, что норма ошибки прогноза минимизирована. Начальные значения состояний, соответствующих ненулевым задержкам, также оцениваются.
Адаптивный поиск Ньютона Гаусса подпространства используется в оценке.
opt = findstatesOptions('InitialState','d','SearchMethod','gna');
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
findstatesOptions('InitialState','d')
'InitialState'
— Оценка начальных состояний'e'
(значение по умолчанию) | 'd'
| вектор или матрица | idpar
объект x0Obj
Оценка начальных состояний, заданных как разделенная запятой пара, состоящая из 'InitialState'
и одно из следующего:
'e'
— Начальные состояния оцениваются таким образом, что норма ошибки прогноза минимизирована.
Для нелинейных моделей серого ящика, только те начальные состояния i
это определяется как свободное в модели (sys.InitialStates(i).Fixed = false
) оцениваются. Чтобы оценить все состояния модели, сначала задайте весь Nx
состояния idnlgrey
модель sys
как свободный.
for i = 1:Nx sys.InitialStates(i).Fixed = false; end
Точно так же зафиксировать все начальные состояния к значениям, заданным в sys.InitialStates
, сначала задайте все состояния, как зафиксировано в sys.InitialStates
свойство нелинейной модели серого ящика.
'd'
— Подобно 'e'
, но поглощает ненулевые задержки в коэффициенты модели. Задержки сначала преобразованы в явные состояния модели, и начальные значения тех состояний также оценены и возвращены.
Используйте эту опцию в течение дискретного времени линейные модели только.
Vector or Matrix
— Исходное предположение для значений состояния, при использовании нелинейных моделей. Задайте вектор-столбец длины, равной количеству состояний. Для данных мультиэксперимента используйте матрицу с Ne
столбцы, где Ne
количество экспериментов.
Используйте эту опцию в нелинейных моделях только.
x0obj
— Объект Specification, созданный с помощью idpar
. Используйте x0obj
наложить ограничения на начальные состояния путем фиксации их значения или определения минимальных или максимальных границ.
Используйте x0obj
только для нелинейных моделей серого ящика и линейных моделей в пространстве состояний (idss
или idgrey
). Эта опция применима только для горизонта прогноза, равного 1
или Inf
. Смотрите findstates
для получения дополнительной информации о горизонте прогноза.
'InputOffset'
— Удаление смещения от входных данных временного интервала во время оценки[]
(значение по умолчанию) | вектор положительных целых чисел | матрицаУдаление смещения от входных данных временного интервала во время оценки, заданной как разделенная запятой пара, состоящая из 'InputOffset'
и одно из следующего:
Вектор-столбец положительных целых чисел длины Nu, где Nu является количеством входных параметров.
[]
— Не указывает ни на какое смещение.
Nu-by-Ne матрица — Для данных мультиэксперимента, задайте InputOffset
как Nu-by-Ne матрица. Nu является количеством входных параметров, и Ne является количеством экспериментов.
Каждая запись задана InputOffset
вычтен из соответствующих входных данных.
'OutputOffset'
— Удаление смещения от выходных данных временного интервала во время оценки[]
(значение по умолчанию) | вектор | матрицаУдаление смещения от выходных данных временного интервала во время оценки, заданной как разделенная запятой пара, состоящая из 'OutputOffset'
и одно из следующего:
Вектор-столбец длины Ny, где Ny является количеством выходных параметров.
[]
— Не указывает ни на какое смещение.
Ny-by-Ne матрица — Для данных мультиэксперимента, задайте OutputOffset
как Ny-by-Ne матрица. Ny является количеством выходных параметров, и Ne является количеством экспериментов.
Каждая запись задана OutputOffset
вычтен из соответствующих выходных данных.
'OutputWeight'
— Взвешивание ошибок прогноза при использовании мультивыходных данных[]
(значение по умолчанию) | 'noise'
| матрицаВзвешивание ошибок прогноза при использовании мультивыходных данных, заданных как разделенная запятой пара, состоящая из 'OutputWeight'
и одно из следующего:
[]
— Никакое взвешивание не используется. Определение как []
совпадает с eye(Ny)
, где Ny является количеством выходных параметров.
'noise'
— Инверсия шумового отклонения, сохраненного моделью, используется во взвешивании во время оценки начальных состояний.
Положительная полуопределенная матрица, W
, из размера Ny-by-Ny — Это взвешивание минимизирует trace(E'*E*W)
для оценки начальных состояний, где E
матрица ошибок прогноза.
'SearchMethod'
— Числовой метод поиска используется в итеративной оценке параметра'auto'
(значение по умолчанию) | 'gn'
| 'gna'
| 'lm'
| 'grad'
| 'lsqnonlin'
| 'fmincon'
Числовой метод поиска используется в итеративной оценке параметра, заданной как разделенная запятой пара, состоящая из 'SearchMethod'
и одно из следующего:
'auto'
— Комбинация алгоритмов поиска линии, 'gn'
, 'lm'
, 'gna'
, и 'grad'
методы пробуют в последовательности в каждой итерации. Первое продвижение направления спуска к сокращению стоимости оценки используется.
'gn'
— Поиск наименьших квадратов Ньютона Гаусса подпространства. Сингулярные значения якобиевской матрицы меньше, чем GnPinvConstant*eps*max(size(J))*norm(J)
отбрасываются при вычислении поискового направления. J является якобиевской матрицей. Матрица Гессиана аппроксимирована как JTJ. Если нет никакого улучшения этого направления, функция пробует направление градиента.
'gna'
— Адаптивный поиск Ньютона Гаусса подпространства. Собственные значения меньше, чем gamma*max(sv)
из Гессиана проигнорированы, где sv содержит сингулярные значения Гессиана. Направление Ньютона Гаусса вычисляется в остающемся подпространстве. gamma имеет начальное значение InitialGnaTolerance
(см. Advanced
в 'SearchOptions'
для получения дополнительной информации. Это значение увеличено факторным LMStep
каждый раз поиску не удается найти нижнее значение критерия меньше чем в пяти делениях пополам. Это значение уменьшено факторным 2*LMStep
каждый раз поиск успешен без любых делений пополам.
'lm'
— Поиск наименьших квадратов Levenberg-Marquardt, где следующим значением параметров является -pinv(H+d*I)*grad
от предыдущего. H является Гессиан, I является единичной матрицей, и grad является градиентом. d является числом, которое увеличено, пока нижнее значение критерия не найдено.
'grad'
— Поиск наименьших квадратов быстрейшего спуска.
'lsqnonlin'
— Доверительная область отражающий алгоритм lsqnonlin
. Программное обеспечение Requires Optimization Toolbox™.
'fmincon'
— Ограниченные нелинейные решатели. Можно использовать последовательное квадратичное программирование (SQP) и доверять области отражающие алгоритмы fmincon
решатель. Если у вас есть программное обеспечение Optimization Toolbox, можно также использовать внутреннюю точку и алгоритмы активного набора fmincon
решатель. Задайте алгоритм в SearchOptions.Algorithm
опция. fmincon
алгоритмы могут привести к улучшенным результатам оценки в следующих сценариях:
Ограниченные проблемы минимизации, когда существуют границы, наложенные на параметры модели.
Структуры модели, где функция потерь является нелинейным или не сглаженной функцией параметров.
Мультивыведите оценку модели. Определяющая функция потерь минимизирована по умолчанию для мультивыходной оценки модели. fmincon
алгоритмы могут минимизировать такие функции потерь непосредственно. Другие методы поиска, такие как 'lm'
и 'gn'
минимизируйте определяющую функцию потерь путем альтернативной оценки шумового отклонения и сокращения значения потерь для данного шумового значения отклонения. Следовательно, fmincon
алгоритмы могут предложить лучший КПД и точность для мультивыходных оценок модели.
'SearchOptions '
— Опция установлена для алгоритма поискаНабор опции для алгоритма поиска, заданного как разделенная запятой пара, состоящая из 'SearchOptions '
и набор параметра поиска с полями, которые зависят от значения SearchMethod
.
SearchOptions
Структура, когда SearchMethod
Задан как 'gn'
, 'gna'
, 'lm'
, 'grad'
, или 'auto'
Имя поля | Описание | Значение по умолчанию | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tolerance | Минимальная процентная разница между текущим значением функции потерь и ее ожидаемым улучшением после следующей итерации, заданной как положительная скалярная величина. Когда процент ожидаемого улучшения меньше | 0.01
| ||||||||||||||||||||||||||||||
MaxIterations | Максимальное количество итераций во время минимизации функции потерь, заданной как положительное целое число. Итерации останавливаются когда Установка Используйте | 20
| ||||||||||||||||||||||||||||||
Advanced | Настройки расширенного поиска, заданные как структура со следующими полями:
|
SearchOptions
Структура, когда SearchMethod
Задан как 'lsqnonlin'
Имя поля | Описание | Значение по умолчанию |
---|---|---|
FunctionTolerance | Допуск завершения на функции потерь, которую программное обеспечение минимизирует, чтобы определить предполагаемые значения параметров, заданные как положительная скалярная величина. Значение | 1e-5 |
StepTolerance | Допуск завершения на предполагаемых значениях параметров, заданных как положительная скалярная величина. Значение | 1e-6 |
MaxIterations | Максимальное количество итераций во время минимизации функции потерь, заданной как положительное целое число. Итерации останавливаются когда Значение | 20
|
Advanced | Настройки расширенного поиска, заданные как опция, установлены для Для получения дополнительной информации см. таблицу Optimization Options в Опциях Оптимизации (Optimization Toolbox). | Используйте optimset('lsqnonlin') создать набор опции по умолчанию. |
SearchOptions
Структура, когда SearchMethod
Задан как 'fmincon'
Имя поля | Описание | Значение по умолчанию |
---|---|---|
Algorithm |
Для получения дополнительной информации об алгоритмах, см. Ограниченные Нелинейные Алгоритмы Оптимизации (Optimization Toolbox) и Выбор Algorithm (Optimization Toolbox). | 'sqp' |
FunctionTolerance | Допуск завершения на функции потерь, которую программное обеспечение минимизирует, чтобы определить предполагаемые значения параметров, заданные как положительная скалярная величина. | 1e-6 |
StepTolerance | Допуск завершения на предполагаемых значениях параметров, заданных как положительная скалярная величина. | 1e-6 |
MaxIterations | Максимальное количество итераций во время минимизации функции потерь, заданной как положительное целое число. Итерации останавливаются когда | 100
|
Задавать значения полей в SearchOptions
, создайте findstatesOptions
по умолчанию установите и измените поля с помощью записи через точку. Любые поля, которые вы не изменяете, сохраняют свои значения по умолчанию.
opt = findstatesOptions; opt.SearchOptions.Tolerance = 0.02; opt.SearchOptions.Advanced.MaxBisections = 30;
opt
Набор опций для findstates
findstatesOptions
опция установленаНабор опций для findstates
, возвращенный как findstatesOptions
опция установлена.
Названия некоторых опций оценки и анализа были изменены в R2018a. Все еще работают предшествующие имена. Для получения дополнительной информации см., что информация о версии R2018a Переименовывает Опций Оценки и Анализа.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.