Оцените модель полинома ошибки на выходе с помощью данных частотного диапазона или временного интервала
Модели ошибки на выходе (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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.