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

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

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

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%.