Оцените модель полинома ошибки на выходе с помощью данных частотного диапазона или временного интервала
Модели ошибки на выходе (OE) являются специальной настройкой полиномиальных моделей, имея только два активных полинома — B и F. Модели OE представляют обычные передаточные функции, которые связывают измеренные входные параметры с выходными параметрами в то время как также включая белый шум как аддитивное выходное воздействие. Можно оценить модели OE с помощью временного и частотного диапазона. tfest команда предлагает ту же функциональность как oe. Для tfest, вы задаете порядки модели с помощью количества полюсов и нулей, а не полиномиальных степеней. Для оценки непрерывного времени, tfest обеспечивает более быстрые и более точные результаты и рекомендуется.
оценивает модель OE sys = oe(data,[nb
nf nk])sys, представленный
y (t) является выход, u (t) является входом, и e (t) является ошибкой.
oe оценки sys использование измеренных данных ввода - вывода data, который может быть во время или частотный диапазон. Порядки [nb nf nk] задайте количество параметров в каждом компоненте предполагаемого полинома.
задает атрибуты структуры модели с помощью дополнительных опций, заданных одним или несколькими аргументами пары "имя-значение".sys = oe(data,[nb
nf nk],Name,Value)
Оцените полином OE из данных временного интервала с помощью двух методов, чтобы задать входную задержку.
Загрузите данные об оценке.
load iddata1 z1
Установите порядки B и полиномов F nb и nf. Установите входную задержку nk к одной выборке. Вычислите модель sys.
nb = 2; nf = 2; nk = 1; sys = oe(z1,[nb nf nk]);
Сравните симулированный ответ модели с измеренным выходом.
compare(z1,sys)

График показывает, что подходящий процент между симулированной моделью и данными об оценке больше 70%.
Вместо того, чтобы использовать nk, можно также использовать аргумент пары "имя-значение" 'InputDelay' задавать задержку с одной выборкой.
nk = 0;
sys1 = oe(z1,[nb nf nk],'InputDelay',1);
figure
compare(z1,sys1)
Результаты идентичны.
Можно просмотреть больше информации об оценке путем исследования idpoly свойство sys.Report.
sys.Report
ans =
Status: 'Estimated using OE'
Method: 'OE'
InitialCondition: 'zero'
Fit: [1x1 struct]
Parameters: [1x1 struct]
OptionsUsed: [1x1 idoptions.polyest]
RandState: [1x1 struct]
DataUsed: [1x1 struct]
Termination: [1x1 struct]
Например, узнайте больше информации об условиях завершения.
sys.Report.Termination
ans = struct with fields:
WhyStop: 'Near (local) minimum, (norm(g) < tol).'
Iterations: 3
FirstOrderOptimality: 0.0708
FcnCount: 7
UpdateNorm: 1.4809e-05
LastImprovement: 5.1744e-06
Отчет включает в себя информацию о количестве итераций и причины, которой оценка прекратила выполнять итерации.
Загрузите данные об оценке.
load oe_data1 data;
The idfrd объект data содержит частотную характеристику непрерывного времени для следующей модели:
Оцените модель.
nb = 2; nf = 3; sys = oe(data,[nb nf]);
Оцените качество подгонки.
compare(data,sys);

Оцените старшую модель OE из данных, собранных путем симуляции старшей системы. Определите константы регуляризации методом проб и ошибок и используйте значения в оценке модели.
Загрузите данные.
load regularizationExampleData.mat m0simdata
Оцените неупорядоченную модель OE порядка 30.
m1 = oe(m0simdata,[30 30 1]);
Получите упорядоченную модель OE путем определения значения Lambda с помощью метода проб и ошибок.
opt = oeOptions; opt.Regularization.Lambda = 1; m2 = oe(m0simdata,[30 30 1],opt);
Сравните выходные параметры модели с данными об оценке.
opt = compareOptions('InitialCondition','z'); compare(m0simdata,m1,m2,opt);

Упорядоченная модель m2 производит лучшую подгонку, чем неупорядоченная модель m1.
Сравните отклонение в ответах модели.
h = bodeplot(m1,m2); opt = getoptions(h); opt.PhaseMatching = 'on'; opt.ConfidenceRegionNumberSD = 3; opt.PhaseMatching = 'on'; setoptions(h,opt); showConfidence(h);

Упорядоченная модель m2 имеет уменьшаемое отклонение по сравнению с неупорядоченной моделью m1.
Загрузите данные об оценке data и шаг расчета Ts.
load oe_data2.mat data Ts
iddata объект data содержит частотную характеристику дискретного времени для следующей модели:
Просмотрите шаг расчета оценки Ts то, что вы загрузили.
Ts
Ts = 1.0000e-03
Это значение совпадает со свойством data.Ts.
data.Ts
ans = 1.0000e-03
Можно оценить непрерывную модель от data путем ограничения диапазонов частот ввода и вывода частотой Найквиста. Для этого задайте опцию предварительного фильтра оценки 'WeightingFilter'чтобы задать полосу пропускания от 0 к 0.5*pi/Ts rad/s. Программное обеспечение игнорирует любые значения ответа с частотами за пределами той полосы пропускания.
opt = oeOptions('WeightingFilter',[0 0.5*pi/Ts]); Установите Ts свойство к 0 обрабатывать data как данные непрерывного времени.
data.Ts = 0;
Оцените непрерывную модель.
nb = 1; nf = 3; sys = oe(data,[nb nf],opt);
data — Данные об оценкеiddata возразите | frd возразите | idfrd объектДанные об оценке в виде iddata объект, frd объект или idfrd объект.
Для оценки временного интервала, data должен быть iddata объект, содержащий значения сигналов ввода и вывода.
Для оценки частотного диапазона, data может быть одно из следующего:
Данные об оценке временного интервала должны быть однородно произведены. По умолчанию программное обеспечение устанавливает шаг расчета модели к шагу расчета данных об оценке.
Для данных о мультиэксперименте должны соответствовать шаги расчета и междемонстрационное поведение всех экспериментов.
Можно вычислить модели дискретного времени из данных временного интервала или данных частотного диапазона дискретного времени. Используйте tfest вычислить модели непрерывного времени.
[nb nf nk] — Порядки модели OEМодель OE заказывает в виде 1 3 вектор или вектор целочисленных матриц.
Для системы, представленной
где y (t) является выход, u (t) является входом, и e (t) является ошибкой, элементами [nb nf nk] следующие:
nb — Порядок B (q) полином + 1, который эквивалентен длине B (q) полином. nb Ny-by-Nu матрица. Ny является количеством выходных параметров, и Nu является количеством входных параметров.
nf — Порядок полинома F. nf Ny-by-Nu матрица.
nk — Введите задержку, выраженную как количество выборок. nk Ny-by-Nu матрица. Задержка появляется как начальные нули полинома B.
Для оценки, использующей данные частотного диапазона непрерывного времени, задайте только [nb nf] и не используйте nk. Для примера смотрите Оценочное Непрерывное время Модель OE Используя Частотную характеристику.
init_sys — Линейная система idpoly модель | линейная модель | структураЛинейная система, которая конфигурирует начальную параметризацию sysВ виде idpoly модель, другая линейная модель или структура. Вы получаете init_sys или путем выполнения оценки с помощью результатов измерений или прямой конструкцией.
Если init_sys idpoly модель структуры OE, oe использует значения параметров init_sys как исходное предположение для оценки sys. Шаг расчета init_sys должен совпадать с шагом расчета данных.
Используйте Structure свойство init_sys сконфигурировать исходные предположения и ограничения для B (q) и F (q). Например:
Задавать исходное предположение для F (q) термин init_sys, установите init_sys.Structure.F.Value как исходное предположение.
Задавать ограничения для B (q) термин init_sys:
Установите init_sys.Structure.B.Minimum к минимальному B (q) содействующие значения.
Установите init_sys.Structure.B.Maximum к максимальному B (q) содействующие значения.
Установите init_sys.Structure.B.Free указать, который B (q) коэффициенты свободен для оценки.
Если init_sys не полиномиальная модель структуры OE, программное обеспечение сначала преобразует init_sys к модели структуры OE. oe использует параметры получившейся модели как исходное предположение для оценки sys.
Если вы не задаете opt и init_sys был получен оценкой, затем программное обеспечение использует опции оценки от init_sys.Report.OptionsUsed.
opt — Опции оценкиoeOptions опция установленаОпции оценки в виде oeOptions опция установлена. Опции заданы opt включение:
Цель оценки
Обработка начальных условий
Числовой метод поиска и связанные опции
Для примеров определения опций оценки смотрите Оценку Непрерывная Модель Используя Ограниченные Полосой Данные Частотного диапазона Дискретного времени.
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'InputDelay',1'InputDelay' — Введите задержкиВведите задержки каждого входного канала в виде разделенной запятой пары, состоящей из 'InputDelay' и числовой вектор.
Для моделей непрерывного времени задайте 'InputDelay' в единицах измерения времени, сохраненных в TimeUnit свойство.
Для моделей дискретного времени задайте 'InputDelay' в целочисленных множителях шага расчета Ts. Например, установка 'InputDelay' к 3 задает задержку трех периодов выборки.
Для системы с входными параметрами Nu, набор InputDelay к Nu-by-1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала.
Чтобы применить ту же задержку со всеми каналами, задайте 'InputDelay' как скаляр.
Для примера смотрите Оценку Модель Полинома OE.
'IODelay' — Транспортные задержкиТранспортные задержки каждой пары ввода - вывода в виде разделенной запятой пары, состоящей из 'IODelay' и числовой массив.
Для моделей непрерывного времени задайте 'IODelay' в единицах измерения времени, сохраненных в TimeUnit свойство.
Для моделей дискретного времени задайте 'IODelay' в целочисленных множителях шага расчета Ts. Например, установка 'IODelay' к 4 задает транспортную задержку четырех периодов выборки.
Для системы с входными параметрами Nu и Ny выходные параметры, набор 'IODelay' к Ny-by-Nu матрица. Каждая запись является целочисленным значением, представляющим транспортную задержку соответствующей пары ввода - вывода.
Чтобы применить ту же задержку со всеми каналами, задайте 'IODelay' как скаляр.
Можно задать 'IODelay' как альтернатива nk значение. Выполнение так упрощает структуру модели путем сокращения количества начальных нулей в полиноме B. В частности, можно представлять max(nk-1,0) начальные нули как задержки ввода - вывода с помощью 'IODelay' вместо этого.
sys — Модель полинома OEidpoly объектМодель полинома OE, которая соответствует данным об оценке, возвратилась как idpoly объект модели. Эта модель создается с помощью заданных порядков модели, задержек и опций оценки. Шаг расчета sys совпадает с шагом расчета данных об оценке. Поэтому sys всегда модель дискретного времени, когда оценено из данных временного интервала. Для идентификации модели непрерывного времени с помощью данных временного интервала используйте tfest.
Report свойство модели хранит информацию о результатах оценки и используемых опциях. Report имеет следующие поля.
| Сообщите о поле | Описание | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Status | Сводные данные состояния модели, которое указывает, была ли модель создана конструкцией или получена оценкой. | ||||||||||||||||||
Method | Команда оценки используется. | ||||||||||||||||||
InitialCondition | Обработка начальных условий во время оценки модели, возвращенной как одно из следующих значений:
Это поле особенно полезно, чтобы просмотреть, как начальные условия были обработаны когда | ||||||||||||||||||
Fit | Количественная оценка оценки, возвращенной как структура. Смотрите Функцию потерь и Метрики качества Модели для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:
| ||||||||||||||||||
Parameters | Ориентировочные стоимости параметров модели. | ||||||||||||||||||
OptionsUsed | Набор опции используется в оценке. Если никакие пользовательские опции не были сконфигурированы, это - набор опций по умолчанию. Смотрите | ||||||||||||||||||
RandState | Состояние потока случайных чисел в начале оценки. | ||||||||||||||||||
DataUsed | Атрибуты данных используются в оценке, возвращенной как структура со следующими полями:
| ||||||||||||||||||
Termination | Условия завершения для итеративного поиска используются в ошибочной минимизации предсказания. Структура со следующими полями:
Для методов оценки, которые не требуют числовой оптимизации поиска, |
Для получения дополнительной информации об использовании Report, см. Отчет Оценки.
Общая структура модели ошибки на выходе:
Порядки модели ошибки на выходе:
Если data данные частотного диапазона непрерывного времени, oe оценивает модель непрерывного времени со следующей передаточной функцией:
Порядками числителя и знаменателя является nb и nf, похожий на случай дискретного времени. Однако демонстрационная задержка nk не существует в непрерывном случае, и вы не должны задавать nk когда вы управляете оценкой. Вместо этого выразите любую системную задержку с помощью аргумента пары "имя-значение" 'IODelay' наряду с системной задержкой единиц измерения времени, которые хранятся в свойстве TimeUnit. Например, предположите, что ваша непрерывная система имеет задержку iod секунды. Используйте model = oe(data,[nb nf],'IODelay',iod).
Поддержка параллельных вычислений доступна для оценки с помощью lsqnonlin метод поиска (требует Optimization Toolbox™). Чтобы включить параллельные вычисления, используйте oeOptions, установите SearchMethod к 'lsqnonlin', и набор SearchOptions.Advanced.UseParallel к true.
Например:
opt = oeOptions;
opt.SearchMethod = 'lsqnonlin';
opt.SearchOptions.Advanced.UseParallel = true;
armax | arx | bj | compare | iddata | idfrd | idpoly | iv4 | n4sid | oeOptions | polyest | sim | tfest
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.