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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'InputDelay'

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

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

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

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

'IODelay'

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

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

Для системы MIMO с Ny выходные параметры и входные параметры Nu, набор IODelay к Ny-by-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

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

Для методов оценки, которые не требуют числовой оптимизации поиска, не использовано поле 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)

Общая структура модели Output-Error:

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