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