findstatesOptions

Набор опций для findstates

Описание

пример

opt = findstatesOptions создает набор опции по умолчанию для findstates. Используйте запись через точку, чтобы настроить набор опции в случае необходимости.

пример

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' — Начальные состояния оцениваются таким образом, что норма ошибки прогноза минимизирована.

    Для нелинейных моделей серого ящика, только те начальные состояния 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' и одно из следующего:

  • Вектор-столбец положительных целых чисел длины Nu, где Nu является количеством входных параметров.

  • [] — Не указывает ни на какое смещение.

  • Nu-by-Ne матрица — Для данных мультиэксперимента, задайте InputOffset как Nu-by-Ne матрица. Nu является количеством входных параметров, и Ne является количеством экспериментов.

Каждая запись задана InputOffset вычтен из соответствующих входных данных.

Удаление смещения от выходных данных временного интервала во время оценки, заданной как разделенная запятой пара, состоящая из 'OutputOffset' и одно из следующего:

  • Вектор-столбец длины Ny, где Ny является количеством выходных параметров.

  • [] — Не указывает ни на какое смещение.

  • Ny-by-Ne матрица — Для данных мультиэксперимента, задайте OutputOffset как Ny-by-Ne матрица. Ny является количеством выходных параметров, и Ne является количеством экспериментов.

Каждая запись задана OutputOffset вычтен из соответствующих выходных данных.

Взвешивание ошибок прогноза при использовании мультивыходных данных, заданных как разделенная запятой пара, состоящая из 'OutputWeight' и одно из следующего:

  • [] — Никакое взвешивание не используется. Определение как [] совпадает с eye(Ny), где Ny является количеством выходных параметров.

  • 'noise' — Инверсия шумового отклонения, сохраненного моделью, используется во взвешивании во время оценки начальных состояний.

  • Положительная полуопределенная матрица, W, из размера Ny-by-Ny — Это взвешивание минимизирует trace(E'*E*W) для оценки начальных состояний, где E матрица ошибок прогноза.

Числовой метод поиска используется в итеративной оценке параметра, заданной как разделенная запятой пара, состоящая из '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 ' и набор параметра поиска с полями, которые зависят от значения SearchMethod.

SearchOptions Структура, когда SearchMethod Задан как 'gn', 'gna', 'lm', 'grad', или 'auto'

Имя поляОписаниеЗначение по умолчанию
Tolerance

Минимальная процентная разница между текущим значением функции потерь и ее ожидаемым улучшением после следующей итерации, заданной как положительная скалярная величина. Когда процент ожидаемого улучшения меньше Tolerance, остановка итераций. Оценка ожидаемого улучшения функции потерь в следующей итерации основана на векторе Ньютона Гаусса, вычисленном для текущего значения параметров.

0.01
MaxIterations

Максимальное количество итераций во время минимизации функции потерь, заданной как положительное целое число. Итерации останавливаются когда MaxIterations достигнут или другому критерию остановки удовлетворяют, такие как Tolerance.

Установка MaxIterations = 0 возвращает результат процедуры запуска.

Используйте sys.Report.Termination.Iterations получить фактическое количество итераций во время оценки, где sys является idtf модель.

20
Advanced

Настройки расширенного поиска, заданные как структура со следующими полями:

Имя поляОписаниеЗначение по умолчанию
GnPinvConstant

Якобиевский матричный порог сингулярного значения, заданный как положительная скалярная величина. Сингулярные значения якобиевской матрицы, которые меньше, чем GnPinvConstant*max(size(J)*norm(J)*eps) отбрасываются при вычислении поискового направления. Применимый, когда SearchMethod 'gn'.

10000
InitialGnaTolerance

Начальное значение gamma, заданного как положительная скалярная величина. Применимый, когда SearchMethod 'gna'.

0.0001
LMStartValue

Начальное значение длины поискового направления d в методе Levenberg-Marquardt, заданном как положительная скалярная величина. Применимый, когда SearchMethod 'lm'.

0.001
LMStep

Размер шага Levenberg-Marquardt, заданного как положительное целое число. Следующим значением длины поискового направления d в методе Levenberg-Marquardt является LMStep времена предыдущее. Применимый, когда SearchMethod 'lm'.

2
MaxBisections

Максимальное количество делений пополам, используемых в линии, ищет вдоль поискового направления, заданного как положительное целое число.

25
MaxFunctionEvaluations

Максимальное количество вызовов файла модели, заданного как положительное целое число. Итерации останавливаются, если количество вызовов файла модели превышает это значение.

Inf
MinParameterChange

Самое маленькое обновление параметра позволено на итерацию, заданную как неотрицательный скаляр.

0
RelativeImprovement

Относительный порог улучшения, заданный как неотрицательный скаляр. Итерации останавливаются, если относительное улучшение оценочной функции меньше этого значения.

0
StepReduction

Фактор сокращения шага, заданный как положительная скалярная величина, которая больше 1. Предложенное обновление параметра уменьшается факторным StepReduction после каждой попытки. Это сокращение продолжается до MaxBisections попытки завершаются, или нижнее значение оценочной функции получено.

StepReduction не применимо для SearchMethod 'lm' (Метод Levenberg-Marquardt).

2

SearchOptions Структура, когда SearchMethod Задан как 'lsqnonlin'

Имя поляОписаниеЗначение по умолчанию
FunctionTolerance

Допуск завершения на функции потерь, которую программное обеспечение минимизирует, чтобы определить предполагаемые значения параметров, заданные как положительная скалярная величина.

Значение FunctionTolerance совпадает с тем из opt.SearchOptions.Advanced.TolFun.

1e-5
StepTolerance

Допуск завершения на предполагаемых значениях параметров, заданных как положительная скалярная величина.

Значение StepTolerance совпадает с тем из opt.SearchOptions.Advanced.TolX.

1e-6
MaxIterations

Максимальное количество итераций во время минимизации функции потерь, заданной как положительное целое число. Итерации останавливаются когда MaxIterations достигнут или другому критерию остановки удовлетворяют, такие как FunctionTolerance.

Значение MaxIterations совпадает с тем из opt.SearchOptions.Advanced.MaxIter.

20
Advanced

Настройки расширенного поиска, заданные как опция, установлены для lsqnonlin.

Для получения дополнительной информации см. таблицу Optimization Options в Опциях Оптимизации (Optimization Toolbox).

Используйте optimset('lsqnonlin') создать набор опции по умолчанию.

SearchOptions Структура, когда SearchMethod Задан как 'fmincon'

Имя поляОписаниеЗначение по умолчанию
Algorithm

fmincon алгоритм оптимизации, заданный как одно из следующего:

  • 'sqp' — Последовательный алгоритм квадратичного программирования. Алгоритм удовлетворяет границам во всех итерациях, и он может восстановиться с NaN или Inf результаты. Это не крупномасштабный алгоритм. Для получения дополнительной информации смотрите Крупномасштабный по сравнению с Алгоритмами Средней шкалы (Optimization Toolbox).

  • 'trust-region-reflective' — Метод доверительной области подпространства на основе внутреннего отражающего метода Ньютона. Это - крупномасштабный алгоритм.

  • 'interior-point' — Крупномасштабный алгоритм, который требует программного обеспечения Optimization Toolbox. Алгоритм удовлетворяет границам во всех итерациях, и он может восстановиться с NaN или Inf результаты.

  • 'active-set' — Программное обеспечение Requires Optimization Toolbox. Алгоритм может сделать большие шаги, который добавляет скорость. Это не крупномасштабный алгоритм.

Для получения дополнительной информации об алгоритмах, см. Ограниченные Нелинейные Алгоритмы Оптимизации (Optimization Toolbox) и Выбор Algorithm (Optimization Toolbox).

'sqp'
FunctionTolerance

Допуск завершения на функции потерь, которую программное обеспечение минимизирует, чтобы определить предполагаемые значения параметров, заданные как положительная скалярная величина.

1e-6
StepTolerance

Допуск завершения на предполагаемых значениях параметров, заданных как положительная скалярная величина.

1e-6
MaxIterations

Максимальное количество итераций во время минимизации функции потерь, заданной как положительное целое число. Итерации останавливаются когда MaxIterations достигнут или другому критерию остановки удовлетворяют, такие как FunctionTolerance.

100

Задавать значения полей в SearchOptions , создайте findstatesOptions по умолчанию установите и измените поля с помощью записи через точку. Любые поля, которые вы не изменяете, сохраняют свои значения по умолчанию.

opt = findstatesOptions;
opt.SearchOptions.Tolerance = 0.02;
opt.SearchOptions.Advanced.MaxBisections = 30;

Выходные аргументы

свернуть все

Набор опций для findstates, возвращенный как findstatesOptions опция установлена.

Вопросы совместимости

развернуть все

Смотрите также

|

Представленный в R2012a

Для просмотра документации необходимо авторизоваться на сайте