Набор опций для 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'
— Установка генерации данных о ковариации параметра
или 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'
— Если 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'
— Опция установлена для алгоритма поискаНабор опции для алгоритма поиска в виде разделенной запятой пары, состоящей из 'SearchOptions'
и набор параметра поиска с полями, которые зависят от значения SearchMethod
.
SearchOptions
Структура, когда SearchMethod
Задан как 'lsqnonlin'
или 'auto'
, Когда Optimization Toolbox доступен
Имя поля | Описание | Значение по умолчанию |
---|---|---|
FunctionTolerance | Допуск завершения на функции потерь, которую программное обеспечение минимизирует, чтобы определить предполагаемые значения параметров в виде положительной скалярной величины. Значение | 1e-5 |
StepTolerance | Допуск завершения на предполагаемых значениях параметров в виде положительной скалярной величины. Значение | 1e-6 |
MaxIterations | Максимальное количество итераций во время минимизации функции потерь в виде положительного целого числа. Итерации останавливаются когда Значение | 20
|
Advanced | Настройки расширенного поиска в виде набора опции для Для получения дополнительной информации см. таблицу Optimization Options в Опциях Оптимизации (Optimization Toolbox). | Используйте optimset('lsqnonlin') создать набор опции по умолчанию. |
SearchOptions
Структура, когда SearchMethod
Задан как 'gn'
, 'gna'
, 'lm'
, 'grad'
, или 'auto'
, Когда Optimization Toolbox не доступен
Имя поля | Описание | Значение по умолчанию | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tolerance | Минимальная процентная разница между текущим значением функции потерь и ее ожидаемым улучшением после следующей итерации в виде положительной скалярной величины. Когда процент ожидаемого улучшения меньше | 1e-5 | ||||||||||||||||||||||||||||||
MaxIterations | Максимальное количество итераций во время минимизации функции потерь в виде положительного целого числа. Итерации останавливаются когда Установка Используйте | 20
| ||||||||||||||||||||||||||||||
Advanced | Настройки расширенного поиска в виде структуры со следующими полями:
|
SearchOptions
Структура, когда SearchMethod
Задан как 'fmincon'
Имя поля | Описание | Значение по умолчанию |
---|---|---|
Algorithm |
Для получения дополнительной информации об алгоритмах, см. Ограниченные Нелинейные Алгоритмы Оптимизации (Optimization Toolbox) и Выбор Algorithm (Optimization Toolbox). | '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
Набор опций для nlgreyest
nlgreyestOptions
опция установленаНабор опции для nlgreyest
, возвращенный как nlgreyestOptions
опция установлена.
Названия некоторых опций оценки и анализа были изменены в R2018a. Все еще работают предшествующие имена. Для получения дополнительной информации см., что информация о версии R2018a Переименовывает Опций Оценки и Анализа.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.