Этот пример показывает, как оценить первоначальную модель и совершенствовать ее с помощью pem
.
Загрузите результаты измерений.
load iddata8
Разделите данные в начальный набор данных оценки и набор данных улучшения.
init_data = z8(1:100); refine_data = z8(101:end);
init_data
является объектом iddata
, содержащим первые 100 выборок от z8
, и refine_data
является объектом iddata
, представляющим остающиеся данные в z8
.
Оцените модель ARMAX.
na = 4; nb = [3 2 3]; nc = 2; nk = [0 0 0]; sys = armax(init_data,[na nb nc nk]);
armax
использует свойства алгоритма по умолчанию оценить sys
.
Совершенствуйте предполагаемую модель путем определения опций алгоритма оценки. Задайте более строгий допуск и увеличьте максимальные итерации.
opt = armaxOptions; opt.SearchOptions.Tolerance = 1e-5; opt.SearchOptions.MaxIterations = 50; refine_sys = pem(refine_data,sys,opt);
Сравните припадок первоначальных и усовершенствованных моделей.
compare(refine_data,sys,refine_sys)
refine_sys
обеспечивает более близкую подгонку к данным, чем sys
.
Можно так же использовать polyest
или armax
, чтобы совершенствовать предполагаемую модель.