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

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

Загрузите и отобразите данные на графике.

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