merge (iddata)

Объедините наборы данных в объект iddata

Синтаксис

dat = merge(dat1,dat2,....,datN)

Описание

dat собирает наборы данных в dat1, ...,datN в один iddata объект, с несколькими экспериментами. Количество экспериментов в dat будет сумма количества экспериментов в datk. Для слияния, которое будет позволено, нужно удовлетворить многим условиям:

  • Весь datk должен иметь то же количество входных каналов и InputNames должно быть то же самое.

  • Весь datk должен иметь то же количество выходных каналов и OutputNames должно быть то же самое. Если некоторому каналу ввода или вывода недостает одного эксперимента, он может быть заменен вектором NaNs, чтобы соответствовать этим правилам.

  • Если ExperimentNames из datk были заданы как что-то другое, чем 'Exp1' по умолчанию, 'Exp2', и т.д. они должны все быть уникальными. Если имена по умолчанию перекрываются, они изменяются так, чтобы dat будет иметь список уникального ExperimentNames.

Интервалы выборки, количество наблюдений и входные свойства (Period, InterSample) может отличаться в различных экспериментах.

Можно получить отдельные эксперименты при помощи команды getexp. Можно также получить их путем подссылки с четвертым индексом.

dat1 = dat(:,:,:,ExperimentNumber)

или

dat1 = dat(:,:,:,ExperimentName)

Хранение нескольких экспериментов как один iddata объект может быть очень полезен для обработки экспериментальных данных, который был собран в различных случаях, или когда набор данных был разделен, чтобы удалить “плохие” фрагменты данных. Все стандартные программы тулбокса принимают данные нескольких-экспериментов.

Примеры

свернуть все

Удалите плохие фрагменты данных, чтобы оценить модели без неправильных данных, уничтожающих оценку.

load iddemo8;
plot(dat);

Плохие фрагменты данных обнаруживаются вокруг демонстрационных 250 - 280 и между выборками 600 - 650. Отключите эти плохие фрагменты, чтобы сформировать набор данных нескольких-экспериментов и объединить данные.

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

Можно использовать первые два эксперимента, чтобы оценить, что модель и третий эксперимент подтверждают модель.

dat_est = getexp(dat,[1,2]);
m = ssest(dat_est,2);
dat_val = getexp(dat,3);

Представлено до R2006a