nlgreyestOptions

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

Описание

пример

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

пример

opt = nlgreyestOptions(Name,Value) создает набор опции с опциями, заданными одним или несколькими Name,Value парные аргументы. Опции, которые вы не задаете, сохраняют свое значение по умолчанию.

Примеры

свернуть все

opt = nlgreyestOptions;

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

opt = nlgreyestOptions;
opt.Display = 'on';
opt.SearchOptions.MaxIterations = 50;

Загрузка данных.

load(fullfile(matlabroot,'toolbox','ident','iddemos','data','dcmotordata'));
z = iddata(y,u,0.1,'Name','DC-motor');

Данные от линейного двигателя постоянного тока с одним входом (напряжение) и два выходных параметров (угловое положение и скорость вращения). Структура модели задана dcmotor_m.m файл.

Создайте нелинейную модель серого ящика.

file_name = 'dcmotor_m';
Order = [2 1 2];
Parameters = [1;0.28];
InitialStates = [0;0];

init_sys = idnlgrey(file_name,Order,Parameters,InitialStates,0, ...
    'Name','DC-motor');

Оцените параметры модели с помощью опций оценки.

sys = nlgreyest(z,init_sys,opt);

Создайте набор опции для nlgreyest где:

  • Данные о ковариации параметра не сгенерированы.

  • Метод наименьших квадратов Ньютона Гаусса подпространства используется для оценки.

opt = nlgreyestOptions('EstimateCovariance',false,'SearchMethod','gn');

Входные параметры

свернуть все

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: nlgreyestOptions('Display','on')

Опции для вычисления Якобианов и градиентов в виде разделенной запятой пары, состоящей из 'GradientOptions' и структура с полями:

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

Крупнейшее позволенное возмущение параметра при вычислении числовых производных. Заданный как положительное действительное значение> 'MinDifference'.

Inf
MinDifference

Самое маленькое позволенное возмущение параметра при вычислении числовых производных. Заданный как положительное действительное значение <'MaxDifference'.

0.01*sqrt(eps)
DifferenceScheme

Метод для вычисления числовых производных относительно компонентов параметров и/или начального состояния (состояний), чтобы сформировать якобиан. Заданный как одно из следующего:

  • 'Auto' - Автоматически выбирает из следующих методов.

  • 'Central approximation'

  • 'Forward approximation'

  • 'Backward approximation'

'Auto'
Type

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

  • 'Auto' — Автоматически выбирает из следующих методов.

  • 'Basic' — Индивидуально вычисляет все числовые производные, требуемые сформировать каждый столбец якобиана.

  • 'Refined' — Одновременно вычисляет все числовые производные, требуемые сформировать каждый столбец якобиана.

'Auto'

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

opt = nlgreyestOptions;
opt.GradientOptions.Type = 'Basic';

Средства управления, сгенерированы ли данные о ковариации параметра в виде true(1 ) или false(0 ).

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

  • 'off' — Никакая информация о прогрессе или результатах отображена.

  • 'on' — Информация о структуре модели и результатах оценки отображена в окне средства просмотра прогресса.

Опции для упорядоченной оценки параметров модели в виде разделенной запятой пары, состоящей из 'Regularization' и структура с полями:

Имя поляОписаниеЗначение по умолчанию
LambdaСместите по сравнению с компромиссом отклонения, постоянным в виде неотрицательного скаляра.0 — Не указывает ни на какую регуляризацию.
RВзвешивание матрицы в виде вектора из неотрицательных скаляров или квадратной положительной полуопределенной матрицы. Длина должна быть равна количеству свободных параметров в модели, np. Используйте nparams команда, чтобы определить количество параметров модели.1 — Указывает на значение eye(np).
Nominal

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

  • 'zero' — Вытяните параметры по направлению к нулю.

  • 'model' — Вытяните параметры к существующим ранее значениям в первоначальной модели.

'zero'

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

opt = nlgreyestOptions;
opt.Regularization.Lambda = 1.2;
opt.Regularization.R = 0.5*eye(np);

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

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

  • 'auto' — Если Optimization Toolbox™ доступен, 'lsqnonlin' используется. В противном случае, комбинация алгоритмов поиска линии, '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 (Optimization Toolbox). Программное обеспечение Requires Optimization Toolbox.

  • 'fmincon' — Ограниченные нелинейные решатели. Можно использовать последовательное квадратичное программирование (SQP) и доверять области отражающие алгоритмы fmincon решатель. Если у вас есть программное обеспечение Optimization Toolbox, можно также использовать внутреннюю точку и алгоритмы активного набора fmincon (Optimization Toolbox) решатель. Задайте алгоритм в SearchOptions.Algorithm опция. fmincon алгоритмы могут привести к улучшенным результатам оценки в следующих сценариях:

    • Ограниченные проблемы минимизации, когда существуют границы, наложенные на параметры модели.

    • Структуры модели, где функция потерь является нелинейным или не сглаженной функцией параметров.

    • Мультивыведите оценку модели. Определяющая функция потерь минимизирована по умолчанию для оценки модели MIMO. fmincon алгоритмы могут минимизировать такие функции потерь непосредственно. Другие доступные методы поиска, такие как 'lm' и 'gn' минимизируйте определяющую функцию потерь путем альтернативной оценки шумового отклонения и сокращения значения потерь для данного шумового значения отклонения. Следовательно, fmincon алгоритмы могут предложить лучший КПД и точность для мультивыходных оценок модели.

Набор опции для алгоритма поиска в виде разделенной запятой пары, состоящей из 'SearchOptions' и набор параметра поиска с полями, которые зависят от значения SearchMethod.

SearchOptions Структура, когда SearchMethod Задан как 'lsqnonlin' или 'auto', Когда Optimization Toolbox доступен

Имя поляОписаниеЗначение по умолчанию
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 Задан как 'gn', 'gna', 'lm', 'grad', или 'auto', Когда Optimization Toolbox не доступен

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

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

1e-5
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 Задан как '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, создайте nlgreyestOptions по умолчанию установите и измените поля с помощью записи через точку. Любые поля, которые вы не изменяете, сохраняют свои значения по умолчанию.

opt = nlgreyestOptions('SearchMethod','gna');
opt.SearchOptions.MaxIterations = 50;
opt.SearchOptions.Advanced.RelImprovement = 0.5;

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

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

  • 'noise' — Оптимальное взвешивание автоматически вычисляется как инверсия предполагаемого шумового отклонения. Это взвешивание минимизирует det(E'*E/N), где E матрица ошибок предсказания и N количество выборок данных. Эта опция не доступна при использовании 'lsqnonlin' как 'SearchMethod'.

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

Дополнительные расширенные настройки в виде разделенной запятой пары, состоящей из 'Advanced' и структура с полем:

Имя поляОписаниеЗначение по умолчанию
ErrorThresholdПорог для того, когда настроить вес больших ошибок от квадратичного до линейного в виде неотрицательного скаляра. Ошибки, больше, чем ErrorThreshold времена предполагаемое стандартное отклонение имеют линейный вес в функции потерь. Стандартное отклонение оценивается надежно как медиана абсолютных отклонений от медианы ошибок предсказания, разделенных на 0,7. Если ваши данные об оценке содержат выбросы, попробуйте установку ErrorThreshold к 1.6.0 — Приводит к чисто квадратичной функции потерь.

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

opt = nlgreyestOptions;
opt.Advanced.ErrorThreshold = 1.2;

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

свернуть все

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

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

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

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

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