arxstruc

Вычислите функции потерь для моделей ARX с одним выходом

Синтаксис

V = arxstruc(ze,zv,NN)

Аргументы

ze

Набор данных оценки может быть iddata или idfrd объект.

zv

Можно iddata набор данных валидации или idfrd объект.

NN

Матрица определяет количество различных структур ARX-модели. Каждая строка NN имеет форму:

nn = [na nb nk]

Описание

Примечание

Использование arxstruc только для систем с одним выходом. arxstruc поддерживает как системы с одним входом, так и системы с несколькими входами.

V = arxstruc(ze,zv,NN) возвращает V, который содержит функции потерь в своей первой строке. Оставшиеся строки V содержать транспонирование NN, так что порядки и задержки даются чуть ниже соответствующих функций потерь. Последний столбец V содержит количество точек данных в ze.

Выходной аргумент V лучше всего анализируется с помощью selstruc. Выбор подходящей структуры модели на основе информации в v обычно выполняется с помощью selstruc.

Примеры

свернуть все

Создайте модель ARX для генерации данных.

A = [1 -1.5 0.7];
B = [0 1 0.5];
m0 = idpoly(A,B);

Генерируйте случайные входные и аддитивные сигналы шума.

u = iddata([],idinput(400,'rbs'));
e = iddata([],0.1*randn(400,1));

Симулируйте выход модели с помощью заданных входных и сигналов ошибки.

y = sim(m0,[u e]);
z = [y,u];

Сгенерируйте комбинации порядка модели для оценки. Задайте задержку 1 для всех моделей и область значений порядка модели между 1 и 5 для na и nb.

NN = struc(1:5,1:5,1);

Оцените модели ARX и вычислите функцию потерь для каждой комбинации порядка модели. Входные данные разделяются на наборы данных оценки и валидации.

V = arxstruc(z(1:200),z(201:400),NN);

Выберите порядок модели с наилучшей подгонкой к данным валидации.

order = selstruc(V,0);

Оцените модель ARX выбранного порядка.

M = arx(z,order);

Создайте наборы данных оценки и валидации.

load co2data;
Ts = 0.5; % Sample time is 0.5 min
ze = iddata(Output_exp1,Input_exp1,Ts);
zv = iddata(Output_exp2,Input_exp2,Ts);

Сгенерируйте комбинации порядка модели для:

  • na = 2:4

  • nb = 2:5 для первого входа и 1 или 4 для второго входа.

  • nk = 1:4 для первого входа и 0 для второго входа.

NN = struc(2:4,2:5,[1 4],1:4,0);

Оцените модель ARX для каждой комбинации порядка модели.

V = arxstruc(ze,zv,NN);

Выберите порядок модели с наилучшей подгонкой к данным валидации.

order = selstruc(V,0);

Оцените модель ARX выбранного порядка.

M = arx(ze,order);

Совет

Каждый из ze и zv является iddata объект, содержащий выходные-входные данные. Частотный диапазон данных и idfrd также поддерживаются объекты. Модели для каждой из структур модели, заданные NN оцениваются с использованием набора данных ze. Функции потерь (нормированная сумма квадратов ошибок предсказания) затем вычисляются для этих моделей при применении к набору данных валидации zv. Наборы данных ze и zv не должен быть равного размера. Однако они могут быть одинаковыми наборами, в этом случае расчет происходит быстрее.

См. также

| | | |

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