Этот пример показывает, как оценить первоначальную модель и совершенствовать ее с помощью 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, чтобы совершенствовать предполагаемую модель.