exponenta event banner

Извлечение и моделирование сегментов данных

В этом примере показано, как создать набор данных с несколькими экспериментами во временной области путем объединения только точных сегментов данных и игнорирования остальных.

Загрузите и постройте график данных.

load iddemo8;
plot(dat);

Figure contains 2 axes. Axes 1 with title y1 contains an object of type line. This object represents dat. Axes 2 with title u1 contains an object of type line. This object represents dat.

Данные имеют плохие или вообще отсутствуют измерения из образцов, 251 к 280 и 601 к 650. Невозможно просто объединить хорошие сегменты данных, поскольку переходные процессы в точках соединения компрометируют модель. Вместо этого необходимо создать мультиэксперимент iddata объект, где каждый эксперимент соответствует хорошему сегменту данных.

Создание многоцелевого набора данных путем объединения сегментов данных.

datam = merge(dat(1:250),dat(281:600),dat(651:1000));

Оценка модели состояния-пространства с использованием набора многоэкспериментных данных с помощью экспериментов 1 и 2.

data_est = getexp(datam,[1,2]);
m = ssest(data_est,2);

Проверка модели путем сравнения ее выходных данных с выходными данными эксперимента 3.

data_val = getexp(datam,3);
compare(data_val,m)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent data\_val (y1), m: 80.02%.