Набор опций для 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
где:
Начальные состояния оцениваются таким образом, чтобы норма ошибки предсказания была минимизирована. Также оцениваются начальные значения состояний, соответствующих ненулевым задержкам.
Адаптивный подпространство Gauss-Newton поиск используется для оценки.
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
- Объект спецификации, созданный с помощью idpar
. Использование x0obj
наложение ограничений на начальные состояния путем фиксации их значения или определения минимальных или максимальных границ.
Использование x0obj
только для нелинейных моделей серого ящика и линейных моделей пространства состояний (idss
или idgrey
). Эта опция применима только для горизонта предсказания, равного 1
или Inf
. Посмотрите findstates
для получения дополнительной информации о горизонте предсказания.
'InputOffset'
- Удаление смещения от входных данных во временной области во время оценки[]
(по умолчанию) | вектор положительных целых чисел | матрицеУдаление смещения от входных данных во временной области во время оценки, заданное как разделенная разделенными запятой парами, состоящая из 'InputOffset'
и одно из следующих:
A вектора-столбца положительных целых чисел длины 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'
- Адаптивный подпространство Gauss-Newton search. Собственные значения меньше gamma*max(sv)
Гессиан игнорируются, где sv содержат сингулярные значения Гессиана. Направление Гаусса-Ньютона вычисляется в оставшемся подпространстве. gamma имеет начальное значение InitialGnaTolerance
(см. Advanced
в 'SearchOptions'
для получения дополнительной информации. Это значение увеличивается на множитель LMStep
каждый раз, когда поиск не находит меньшее значение критерия менее чем за пять бисекций. Это значение уменьшается на множитель 2*LMStep
каждый раз, когда поиск успешен без каких-либо бисекций.
'lm'
- поиск Левенберга-Марквардта методом наименьших квадратов, где следующее значение параметров -pinv(H+d*I)*grad
от предыдущего. H - Гессиан, I - тождества матрица, а grad - градиент. d - это число, которое увеличивается до тех пор, пока не будет найдено более низкое значение критерия.
'grad'
- Наискорейший спуск поиска методом наименьших квадратов.
'lsqnonlin'
- Алгоритм, отражающий доверительную область lsqnonlin
(Optimization Toolbox). Требуется программное обеспечение Optimization Toolbox™.
'fmincon'
- Нелинейные решатели с ограничениями. Можно использовать последовательные квадратичные алгоритмы программирования (SQP) и отражения доверительной области fmincon
(Optimization Toolbox) решатель. Если у вас есть программное обеспечение Optimization Toolbox, можно также использовать алгоритмы interior-point и active-set fmincon
решатель. Задайте алгоритм в SearchOptions.Algorithm
опция. The 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 Toolbox). | Использование optimset('lsqnonlin') чтобы создать набор опций по умолчанию. |
SearchOptions
Структура при SearchMethod
Задается как 'fmincon'
Имя поля | Описание | Дефолт |
---|---|---|
Algorithm |
Для получения дополнительной информации об алгоритмах смотрите Ограниченные алгоритмы нелинейной оптимизации (Optimization Toolbox) и Выбор алгоритма (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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.