Набор опций для nlgreyest
создает набор опций по умолчанию для opt = nlgreyestOptionsnlgreyest. При необходимости используйте точечную нотацию для настройки набора опций.
создает набор опций с опциями, заданными одним или несколькими 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' - Варианты вычисления якобинцев и градиентовОпции для вычисления якобианов и градиентов, определяемые как разделенная запятыми пара, состоящая из 'GradientOptions' и структура с полями:
| Имя поля | Описание | Дефолт |
|---|---|---|
MaxDifference | Наибольшее допустимое возмущение параметра при вычислении числовых производных. Указано как положительное реальное значение > | Inf |
MinDifference | Наименьшее допустимое возмущение параметра при вычислении числовых производных. Указано как положительное реальное значение < | 0.01*sqrt(eps) |
DifferenceScheme | Способ вычисления числовых производных относительно компонентов параметров и/или начального состояния (состояний) для формирования якобиана. Указывается как одно из следующих значений:
| 'Auto' |
Type | Метод, используемый при вычислении производных (якобиан) параметров или начальных состояний, подлежащих оценке. Указывается как одно из следующих значений:
| 'Auto' |
Задание значений полей в GradientOptions, создайте значение по умолчанию nlgreyestOptions задайте и измените поля с помощью точечной нотации. Любые поля, которые не изменяются, сохраняют свои значения по умолчанию.
opt = nlgreyestOptions;
opt.GradientOptions.Type = 'Basic';'EstimateCovariance' - Настройка формирования ковариационных данных параметров1 или true (по умолчанию) | 0 или false
Управляет формированием ковариационных данных параметров, указанных как true (1) или false (0).
'Display' - Настройка отображения хода выполнения оценки'off' (по умолчанию) | 'on'Параметр отображения хода выполнения оценки, указанный как пара, разделенная запятыми, состоящая из 'Display' и одно из следующих:
'off' - Информация о ходе выполнения или результатах не отображается.
'on' - Информация о структуре модели и результатах оценки отображается в окне просмотра хода выполнения.
'Regularization' - Варианты упорядоченной оценки параметров моделиВарианты регуляризованной оценки параметров модели, определяемые как разделенная запятыми пара, состоящая из 'Regularization' и структура с полями:
| Имя поля | Описание | Дефолт |
|---|---|---|
Lambda | Смещение по сравнению с константой компромисса дисперсии, указанной как неотрицательный скаляр. | 0 - Указывает на отсутствие регуляризации. |
R | Матрица взвешивания, заданная как вектор неотрицательных скаляров или квадратная положительная полуопределённая матрица. Длина должна быть равна количеству свободных параметров в модели, np. Используйте nparams для определения количества параметров модели. | 1 - Указывает значение eye(np). |
Nominal |
Номинальное значение, к которому притягиваются свободные параметры при расчете, определяется как одно из следующих:
| 'zero' |
Задание значений полей в Regularization, создайте значение по умолчанию nlgreyestOptions задайте и измените поля с помощью точечной нотации. Любые поля, которые не изменяются, сохраняют свои значения по умолчанию.
opt = nlgreyestOptions; opt.Regularization.Lambda = 1.2; opt.Regularization.R = 0.5*eye(np);
Регуляризация - это метод определения ограничений гибкости модели, которые уменьшают неопределенность в оценочных значениях параметров. Дополнительные сведения см. в разделе Регуляризованные оценки параметров модели.
'SearchMethod' - Метод численного поиска, используемый для итеративной оценки параметров'auto' (по умолчанию) | 'gn' | 'gna' | 'lm' | 'grad' | 'lsqnonlin'Метод численного поиска, используемый для итеративной оценки параметров, определяемый как разделенная запятыми пара, состоящая из 'SearchMethod' и одно из следующих:
'auto' - При наличии Toolbox™ оптимизации 'lsqnonlin' используется. В противном случае комбинация алгоритмов поиска строк, 'gn', 'lm', 'gna', и 'grad' на каждой итерации последовательно пробуют способы. Используется первое направление спуска, ведущее к снижению стоимости оценки.
'gn' - Подпространство поиска наименьших квадратов Гаусса-Ньютона. Сингулярные значения матрицы Якобиана меньше GnPinvConstant*eps*max(size(J))*norm(J) отбрасываются при вычислении направления поиска. J - матрица Якобиана. Матрица Гессена аппроксимируется JTJ. Если в этом направлении нет улучшений, функция пробует направление градиента.
'gna' - адаптивный подпространственный поиск Гаусса-Ньютона. Собственные значения меньше gamma*max(sv) гессенцы игнорируются, где sv - единственные значения гессенца. Направление Гаусса - Ньютона вычисляется в оставшемся подпространстве. гамма имеет начальное значение InitialGnaTolerance (см. Advanced в 'SearchOptions' для получения дополнительной информации. Это значение увеличивается на коэффициент LMStep каждый раз при поиске не удается найти меньшее значение критерия менее чем за пять делений. Это значение уменьшается на коэффициент 2*LMStep каждый раз при успешном поиске без каких-либо делений.
'lm' - поиск наименьших квадратов Левенберга-Марквардта, где следующим значением параметра является -pinv(H+d*I)*grad из предыдущего. H - гессен, I - тождественная матрица, а grad - градиент. d - число, которое увеличивается до тех пор, пока не будет найдено меньшее значение критерия.
'grad' - Самый крутой спуск поиск наименьших квадратов.
'lsqnonlin' - Алгоритм отражения области доверия lsqnonlin(Панель инструментов оптимизации). Требуется программное обеспечение Optimization Toolbox.
'fmincon' - Ограниченные нелинейные решатели. Можно использовать последовательное квадратичное программирование (SQP) и алгоритмы, отражающие область доверия fmincon решатель. При наличии программного обеспечения Optimization Toolbox можно также использовать внутренние и активные алгоритмы fmincon(Панель инструментов оптимизации) решатель. Укажите алгоритм в SearchOptions.Algorithm вариант. fmincon алгоритмы могут привести к улучшению результатов оценки в следующих сценариях:
Проблемы минимизации с ограничениями при наличии ограничений, наложенных на параметры модели.
Структуры модели, в которых функция потерь является нелинейной или негладкой функцией параметров.
Оценка модели с несколькими выходами. Функция потери определителя минимизируется по умолчанию для оценки модели MIMO. fmincon алгоритмы способны непосредственно минимизировать такие потери. Другие доступные методы поиска, такие как 'lm' и 'gn' минимизировать функцию потерь определителя путем попеременной оценки дисперсии шума и уменьшения значения потерь для данного значения дисперсии шума. Следовательно, fmincon алгоритмы могут обеспечить лучшую эффективность и точность для оценок моделей с множеством выходов.
'SearchOptions' - Набор опций для алгоритма поискаНабор опций для алгоритма поиска, заданного как разделенная запятыми пара, состоящая из 'SearchOptions' и набор опций поиска с полями, зависящими от значения SearchMethod.
SearchOptions Структура при SearchMethod Указывается как 'lsqnonlin' или 'auto', При наличии панели инструментов оптимизации
| Имя поля | Описание | Дефолт |
|---|---|---|
FunctionTolerance | Допуск окончания для функции потерь, которую программное обеспечение минимизирует для определения оцененных значений параметров, заданных как положительный скаляр. Значение | 1e-5 |
StepTolerance | Допуск окончания для оцененных значений параметров, заданных как положительный скаляр. Значение | 1e-6 |
MaxIterations | Максимальное число итераций при минимизации функции потери, указанное как положительное целое число. Итерации останавливаются, когда Значение | 20 |
Advanced | Дополнительные параметры поиска, указанные как набор параметров для Дополнительные сведения см. в таблице Опции оптимизации (Optimization Options) в разделе Опции оптимизации (Optimization Options) (Панель инструментов оптимизации). | Использовать optimset('lsqnonlin') для создания набора опций по умолчанию. |
SearchOptions Структура при SearchMethod Указывается как 'gn', 'gna', 'lm', 'grad', или 'auto', Если панель инструментов оптимизации недоступна
| Имя поля | Описание | Дефолт | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tolerance | Минимальная процентная разница между текущим значением функции потерь и ожидаемым улучшением после следующей итерации, заданная как положительный скаляр. Когда процент ожидаемого улучшения меньше | 1e-5 | ||||||||||||||||||||||||||||||
MaxIterations | Максимальное число итераций при минимизации функции потери, указанное как положительное целое число. Итерации останавливаются, когда Настройка Использовать | 20 | ||||||||||||||||||||||||||||||
Advanced | Дополнительные параметры поиска, указанные как структура со следующими полями:
| |||||||||||||||||||||||||||||||
SearchOptions Структура при SearchMethod указано как 'fmincon'
| Имя поля | Описание | Дефолт |
|---|---|---|
Algorithm |
Дополнительные сведения о алгоритмах см. в разделах Ограниченные нелинейные алгоритмы оптимизации (панель инструментов оптимизации) и Выбор алгоритма (панель инструментов оптимизации). | 'sqp' |
FunctionTolerance | Допуск окончания для функции потерь, которую программное обеспечение минимизирует для определения оцененных значений параметров, заданных как положительный скаляр. | 1e-6 |
StepTolerance | Допуск окончания для оцененных значений параметров, заданных как положительный скаляр. | 1e-6 |
MaxIterations | Максимальное число итераций при минимизации функции потерь, указанное как положительное целое число. Итерации останавливаются, когда | 100 |
Задание значений полей в SearchOptions, создайте значение по умолчанию nlgreyestOptions задайте и измените поля с помощью точечной нотации. Любые поля, которые не изменяются, сохраняют свои значения по умолчанию.
opt = nlgreyestOptions('SearchMethod','gna'); opt.SearchOptions.MaxIterations = 50; opt.SearchOptions.Advanced.RelImprovement = 0.5;
'OutputWeight' - Взвешивание ошибки прогнозирования в оценках с несколькими выходами[] (по умолчанию) | 'noise' | матрицаВзвешивание ошибки прогнозирования в оценках модели с несколькими выходами, указанной как пара, разделенная запятыми, состоящая из 'OutputWeight' и одно из следующих:
[] - Взвешивание не используется. Указание как [] является таким же, как eye(Ny), где Ny - количество выходов.
'noise' - Оптимальное взвешивание вычисляется автоматически как обратное оценочной дисперсии шума. Это взвешивание минимизирует det(E'*E/N), где E - матрица ошибок прогнозирования и N - количество выборок данных. Этот параметр недоступен при использовании 'lsqnonlin' в качестве 'SearchMethod'.
Положительная полуопределённая матрица, W, размером, равным количеству выходов. Это взвешивание минимизирует trace(E'*E*W/N), где E - матрица ошибок прогнозирования и N - количество выборок данных.
'Advanced' - Дополнительные дополнительные опцииДополнительные дополнительные параметры, указанные как пара, разделенная запятыми, состоящая из 'Advanced' и структура с полем:
| Имя поля | Описание | Дефолт |
|---|---|---|
ErrorThreshold | Порог для настройки веса больших ошибок с квадратичного на линейный, определяемый как неотрицательный скаляр. Ошибки больше, чем ErrorThreshold раз расчетное стандартное отклонение имеет линейный вес в функции потери. Стандартное отклонение оценивается надежно как медиана абсолютных отклонений от медианы ошибок прогнозирования, деленная на 0,7. Если данные оценки содержат отклонения, попробуйте установить ErrorThreshold кому 1.6. | 0 - Приводит к чисто квадратичной функции потерь. |
Задание значений полей в Advanced, создайте значение по умолчанию nlgreyestOptions задайте и измените поля с помощью точечной нотации. Любые поля, которые не изменяются, сохраняют свои значения по умолчанию.
opt = nlgreyestOptions; opt.Advanced.ErrorThreshold = 1.2;
opt - Набор опций для nlgreyestnlgreyestOptions набор опцийНабор опций для nlgreyest, возвращено как nlgreyestOptions набор опций.
Названия некоторых вариантов оценки и анализа были изменены в R2018a году. Прежние имена все еще работают. Дополнительные сведения см. в примечании к версии R2018a Переименование параметров оценки и анализа.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.