exponenta event banner

Уточнение начальной модели ARMAX в командной строке

В этом примере показано, как оценить начальную модель и уточнить ее с помощью 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)

Figure contains an axes. The axes contains 3 objects of type line. These objects represent refine\_data (y1), sys: 80.05%, refine\_sys: 81.25%.

refine_sys обеспечивает более близкое соответствие данным, чем sys.

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

См. также

Функции