oe

Оцените модель полинома Ошибки на выходе, использующую данные о частотном диапазоне или время

Синтаксис

sys = oe(data,[nb nf nk])
sys = oe(data,[nb nf nk],Name,Value)
sys = oe(data,init_sys)
sys = oe(data,___,opt)

Описание

sys = oe(data,[nb nf nk]) оценивает модель Output-Error, sys, представленный:

y(t)=B(q)F(q)u(tnk)+e(t)

y (t) является выход, u (t) является входом, и e (t) является ошибкой.

sys оценивается в течение времени - или частотный диапазон, измеренные данные ввода - вывода, data. Порядки, [nb nf nk], параметризуйте предполагаемый полином.

sys = oe(data,[nb nf nk],Name,Value) задает атрибуты структуры модели с помощью дополнительных опций, заданных одним или несколькими Name,Value парные аргументы.

sys = oe(data,init_sys) использует линейную систему init_sys сконфигурировать начальную параметризацию sys.

sys = oe(data,___,opt) оценивает, что полиномиальная модель с помощью набора опции, выбирает, чтобы задать поведение оценки.

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

data

Данные об оценке.

Для оценки области времени, data iddata объект, содержащий значения сигналов ввода и вывода.

Для оценки частотного диапазона, data может быть одно из следующего:

  • Записанные данные о частотной характеристике (frd или idfrd)

  • iddata объект с его свойствами, заданными можно следующим образом:

    • InputData — Преобразование Фурье входного сигнала

    • OutputData — Преобразование Фурье выходного сигнала

    • Domain'Frequency'

Для данных мультиэксперимента должны соответствовать шаги расчета и междемонстрационное поведение всех экспериментов.

[nb nf nk]

Порядки модели ошибки на выходе.

Для системы, представленной:

y(t)=B(q)F(q)u(tnk)+e(t)

где y (t) является выход, u (t) является входом, и e (t) является ошибкой.

  • nb — Порядок полинома B + 1. nb Ny-by-Nu матрица. Ny является количеством выходных параметров, и Nu является количеством входных параметров.

  • nf — Порядок полинома F. nf Ny-by-Nu матрица. Ny является количеством выходных параметров, и Nu является количеством входных параметров.

  • nk — Введите задержку, выраженную как количество выборок. nk Ny-by-Nu матрица. Ny является количеством выходных параметров, и Nu является количеством входных параметров. Задержка появляется как начальные нули полинома B.

Для оценки, использующей данные непрерывного времени, только задайте [nb nf] и не используйте nk.

init_sys

Линейная система, которая конфигурирует начальную параметризацию sys.

Вы получаете init_sys или выполнением оценки с помощью результатов измерений или прямой конструкцией.

Если init_sys idpoly модель структуры Ошибки на выходе, oe использует значения параметров init_sys как исходное предположение для оценки 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 не полиномиальная модель структуры Ошибки на выходе, программное обеспечение сначала преобразует init_sys к модели структуры Ошибки на выходе. oe использует параметры получившейся модели как исходное предположение для оценки sys.

Если opt не задан, и init_sys был создан оценкой, затем опции оценки от init_sys.Report.OptionsUsed используются.

opt

Опции оценки.

opt набор опции, созданное использование oeOptions, это задает опции оценки включая:

  • Цель оценки

  • Обработка начальных условий

  • Числовой метод поиска и связанные опции

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

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

'InputDelay'

Введите задержку каждого входного канала, заданного как скалярное значение или числовой вектор. Для систем непрерывного времени задайте входные задержки единицы измерения времени, сохраненной в TimeUnit свойство. Для систем дискретного времени задайте входные задержки целочисленных множителей шага расчета Ts. Например, InputDelay = 3 означает задержку трех шагов расчета.

Для системы с Nu входные параметры, набор InputDelay к Nu- 1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала.

Можно также установить InputDelay к скалярному значению, чтобы применить ту же задержку со всеми каналами.

Значение по умолчанию: 0

'IODelay'

Транспортные задержки. IODelay числовой массив, задающий отдельную транспортную задержку каждой пары ввода/вывода.

Для систем непрерывного времени задайте транспортные задержки единицы измерения времени, сохраненной в TimeUnit свойство. Для систем дискретного времени задайте транспортные задержки как целые числа, обозначающие задержку кратного шагу расчета Ts. Можно задать IODelay как альтернатива nk значение. Выполнение так упрощает структуру модели путем сокращения количества начальных нулей полином B. В частности, можно представлять max(nk-1,0) начальные нули как задержки ввода/вывода с помощью IODelay вместо этого.

Для системы MIMO с Ny выходные параметры и Nu входные параметры, набор IODelay к Ny- Nu массив. Каждая запись этого массива является численным значением, которое представляет транспортную задержку соответствующей пары ввода/вывода. Можно также установить IODelay к скалярному значению, чтобы применить ту же задержку со всеми парами ввода/вывода.

Значение по умолчанию: 0 для всех пар ввода/вывода

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

sys

Модель полинома ошибки на выходе, которая соответствует данным об оценке, возвратилась как idpoly объект модели. Эта модель создается с помощью заданных порядков модели, задержек и опций оценки.

Информация о результатах оценки и используемых опциях хранится в Report свойство модели. Report имеет следующие поля:

Сообщите о полеОписание
Status

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

Method

Команда оценки используется.

InitialCondition

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

  • 'zero' — Начальные условия были обнулены.

  • 'estimate' — Начальные условия были обработаны как независимые параметры оценки.

  • 'backcast' — Начальные условия были оценены с помощью лучшего метода наименьших квадратов.

Это поле особенно полезно, чтобы просмотреть, как начальные условия были обработаны когда InitialCondition опцией в наборе опции оценки является 'auto'.

Fit

Количественная оценка оценки, возвращенной как структура. Смотрите Функцию потерь и Метрики качества Модели для получения дополнительной информации об этих метриках качества. Структура имеет следующие поля:

Поле Описание
FitPercent

Мера по нормированной среднеквадратической ошибке (NRMSE) того, как хорошо ответ модели соответствует данным об оценке, выраженным как процент.

LossFcn

Значение функции потерь, когда оценка завершается.

MSE

Мера по среднеквадратической ошибке (MSE) того, как хорошо ответ модели соответствует данным об оценке.

FPE

Итоговая ошибка прогноза для модели.

AIC

Необработанная мера по Критериям информации о Akaike (AIC) качества модели.

AICc

Маленький объем выборки откорректировал AIC.

nAIC

Нормированный AIC.

BIC

Байесовы информационные критерии (BIC).

Parameters

Ориентировочные стоимости параметров модели.

OptionsUsed

Набор опции используется в оценке. Если никакие пользовательские опции не были сконфигурированы, это - набор опций по умолчанию. Смотрите oeOptions для получения дополнительной информации.

RandState

Состояние потока случайных чисел в начале оценки. Пустой, если рандомизация не использовалась во время оценки. Для получения дополнительной информации смотрите rng в документации MATLAB®.

DataUsed

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

Поле Описание
Name

Имя набора данных.

Type

Тип данных.

Length

Количество выборок данных.

Ts

'SampleTime' .

InterSample

Введите междемонстрационное поведение, возвращенное как одно из следующих значений:

  • 'zoh' — Нулевой порядок содержит, обеспечивает кусочно-постоянный входной сигнал между выборками.

  • 'foh' — Хранение первого порядка обеспечивает кусочно-линейный входной сигнал между выборками.

  • 'bl' — Ограниченное полосой поведение указывает, что входной сигнал непрерывного времени имеет нулевую силу выше частоты Найквиста.

InputOffset

Возместите удаленный из входных данных временного интервала во время оценки. Для нелинейных моделей это - [].

OutputOffset

Возместите удаленный из выходных данных временного интервала во время оценки. Для нелинейных моделей это - [].

Termination

Условия завершения для итеративного поиска используются в ошибочной минимизации прогноза. Структура со следующими полями:

Поле Описание
WhyStop

Причина завершения числового поиска.

Iterations

Количество поисковых итераций выполняется алгоритмом оценки.

FirstOrderOptimality

- норма вектора просмотра градиента, когда алгоритм поиска останавливается.

FcnCount

Число раз целевая функция было названо.

UpdateNorm

Норма вектора просмотра градиента в последней итерации. Не использованный, когда методом поиска является 'lsqnonlin' или 'fmincon'.

LastImprovement

Улучшение критерия последней итерации, выраженной как процент. Не использованный, когда методом поиска является 'lsqnonlin' или 'fmincon'.

Algorithm

Алгоритм используется 'lsqnonlin' или 'fmincon' метод поиска. Не использованный, когда другие методы поиска используются.

Для методов оценки, которые не требуют числовой оптимизации поиска, Termination поле не использовано.

Для получения дополнительной информации об использовании Report, см. Отчет Оценки.

Примеры

свернуть все

Получите данные об оценке.

filename = fullfile(matlabroot,'examples','ident','oe_data1.mat');
load(filename);

data, idfrd возразите, содержит частотную характеристику непрерывного времени для следующей модели:

G(s)=s+3s3+2s2+s+1

Оцените модель.

nb = 2;
nk = 3;
sys = oe(data,[nb nk]);

Оцените совершенство подгонки.

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.

Получите данные об оценке.

filename = fullfile(matlabroot,'examples','ident','oe_data2.mat');
load(filename,'data','Ts');

data, iddata возразите, содержит частотную характеристику дискретного времени для следующей модели:

G(s)=1000s+500

Шаг расчета для data, Ts, 0,001 секунды.

Обработайте data как данные непрерывного времени. Когда вы строите data, сигналы ввода/вывода ограничиваются полосой, который позволяет вам обрабатывать data как данные непрерывного времени. Можно теперь получить модель непрерывного времени.

data.Ts = 0;

Задайте опции оценки.

opt = oeOptions('WeightingFilter',[0 0.5*pi/Ts]);

Этот выбор предварительного фильтра направляет программное обеспечение, чтобы проигнорировать значения ответа для частот выше, чем 0.5*pi/Ts rad/s.

Оцените модель.

nb = 1;
nf = 3;
sys = oe(data,[nb nf],opt);

Больше о

свернуть все

Модель ошибки на выходе (OE)

Общая структура модели Ошибки на выходе:

y(t)=B(q)F(q)u(tnk)+e(t)

Порядки модели Output-Error:

nb:   B(q)=b1+b2q1+...+bnbqnb+1nf:   F(q)=1+f1q-1+...+fnfq-nf

Непрерывное время, модель ошибки на выходе

Если data данные частотного диапазона непрерывного времени, oe оценивает модель непрерывного времени с передаточной функцией:

G(s)=B(s)F(s)=bnbs(nb1)+bnb1s(nb2)+...+b1snf+fnfs(nf1)+...+f1

Порядками числителя и знаменателя является nb и nf, похожий на случай дискретного времени. Однако задержка nk не имеет никакого значения, и необходимо не использовать его при определении порядков модели для оценки. Используйте model = oe(data,[nb nf]). Используйте IODelay свойство модели задать любые задержки ввода - вывода. Например, используйте model = oe(data,[nb nf], 'IODelay',iod) вместо этого.

Советы

  • Оценить модель непрерывного времени когда data представляет данные о частотной характеристике непрерывного времени, не используйте nk.

    Например, используйте sys = oe(data,[nb nf]).

Алгоритмы

Алгоритм оценки минимизирует ошибки прогноза.

Альтернативы

Модели ошибки на выходе являются специальной настройкой полиномиальных моделей, имея только два активных полинома - B и F. Для таких моделей может быть более удобно использовать передаточную функцию (idtf) модель и ее команда оценки, tfest.

Кроме того, tfest рекомендуемая команда для оценки моделей непрерывного времени.

Расширенные возможности

Представлено до R2006a