exponenta event banner

выдержать сравнение

Сравнение выходных данных идентифицированной модели и измеренных выходных данных

Описание

Результаты графика

пример

compare(data,sys) моделирует отклик динамической системной модели и накладывает этот отклик на построенные на графике данные измерений. График также отображает нормированное среднеквадратичное (NRMSE) измерение степени соответствия между моделируемой реакцией и данными измерений. Эта функция используется при необходимости оценки набора моделей-кандидатов, идентифицированных по тем же данным измерений, или при необходимости проверки выбранной модели. Вы можете использовать compare с моделями и данными временной или частотной области.

пример

compare(data,sys,kstep) также прогнозирует ответ sys, используя горизонт прогнозирования, заданный kstep. Прогнозирование использует выходные измерения, а также входные измерения для проецирования будущего отклика. kstep представляет количество отсчетов времени между временной точкой каждого выходного измерения и временной точкой результирующего прогнозируемого отклика. Дополнительные сведения о прогнозировании см. в разделе Моделирование и прогнозирование вывода идентифицированной модели.

compare(data,sys,LineSpec,kstep) также указывает тип линии, обозначение маркера и цвет для отклика модели.

пример

compare(data,sys1,...,sysN,kstep) сравнивает отклики нескольких динамических систем на одних и тех же осях. compare автоматически выбирает спецификации линии.

пример

compare(data,sys1,LineSpec1,...,sysN,LineSpecN,kstep) также сравнивает отклики нескольких систем на одних и тех же осях, используя тип линии, обозначение маркера и цвет, заданные для каждой системы.

пример

compare(___,opt) настраивает сравнение с использованием набора опций. Опции включают обработку исходных условий, смещения данных и выбор данных. Этот синтаксис можно использовать с любой из предыдущих комбинаций входных аргументов.

Результаты возврата

пример

[y,fit,ic] = compare(___) возвращает ответ модели y, благость значения соответствия fitи начальные условия ic. Этот синтаксис не создает график, поэтому любые спецификации линий игнорируются.

Примеры

свернуть все

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

Измерения нагрузки на входе/выходе z1и определить модель пространства состояния третьего порядка sys.

load iddata1 z1;
sys = ssest(z1,3);

sys является идентифицированным состоянием-пространством непрерывного времени (idss) модель.

Использовать compare для моделирования sys ответ и график вместе с данными z1.

figure
compare(z1,sys)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent z1 (y1), sys: 70.56%.

График иллюстрирует различия между откликом модели и исходными данными. Процент, указанный в легенде, является значением пригодности NRMSE. Он показывает, насколько близок прогнозируемый выход модели к данным.

Чтобы изменить параметры отображения на графике, щелкните его правой кнопкой мыши для вызова контекстного меню. Например:

  • Для построения графика ошибки между прогнозируемым и измеряемым выходными данными выберите График ошибок (Error Plot).

  • Для просмотра доверительной области для смоделированного ответа выберите Признаки - > Уверенность Регион .

  • Чтобы задать количество стандартных отклонений для печати, дважды щелкните график и откройте диалоговое окно «Редактор свойств». На вкладке Опции (Options) укажите количество стандартных отклонений в области доверия для идентифицированных моделей. Значение по умолчанию: 1 стандартное отклонение.

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

Определение модели пространства состояния третьего порядка с использованием входных/выходных измерений в z1.

load iddata1 z1;
sys = ssest(z1,3);

sys является идентифицированным состоянием-пространством непрерывного времени (idss) модель.

Теперь используйте compare для построения графика прогнозируемого ответа. Прогноз отличается от моделирования тем, что при вычислении отклика системы он использует как измеренный входной, так и измеренный выходной сигнал. Горизонт прогнозирования определяет, как далеко в будущем будет прогнозироваться относительно текущей измеряемой выходной точки. Для этого примера задайте горизонт прогнозирования. kstep до 10 шагов и использовать compare для построения графика прогнозируемого отклика на основе исходных данных измерений.

kstep = 10;
compare(z1,sys,kstep)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent z1 (y1), sys: 70.53%.

На этом графике каждый sys точка данных представляет прогнозируемый выходной сигнал, связанный с выходными данными измерений, которые были сделаны, по меньшей мере, на 10 шагов раньше. Например, точка в t = 15 с основана на выходных измерениях, сделанных в t = 5 с или ранее. Расчет этого t = 15 с sys точка данных также использует входные измерения до t = 15 с, как и при моделировании.

График иллюстрирует различия между откликом модели и исходными данными. Процент, указанный в легенде, является значением пригодности NRMSE. Он показывает, насколько точно прогнозируемые выходные данные модели соответствуют данным.

Чтобы изменить параметры отображения и моделирования на графике, щелкните его правой кнопкой мыши для вызова контекстного меню. Например, чтобы вывести на график ошибку между прогнозируемым выходом и измеренным выходом, выберите в контекстном меню команду «Печать ошибки». Чтобы изменить значение горизонта прогнозирования или переключиться между моделированием и предсказанием, выберите в контекстном меню «Горизонт прогнозирования».

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

Загрузите данные, содержащие iddata объект z1 с одним входом и выходом.

load iddata1;

От z1, определите модель для каждой из следующих линейных форм:

  • АРМАКС (idpoly) порядков 2, 3 и 1, с мертвым временем 0

  • Пространство состояния (idss) с тремя состояниями

  • Передаточная функция (idtf) с тремя полюсами

sys_armax = armax(z1,[2 3 1 0]);
sys_ss = ssest(z1,3);
sys_tf = tfest(z1,3);

Используя compare, постройте график смоделированных откликов для трех моделей с помощью z1.

compare(z1,sys_armax,sys_ss,sys_tf)

Figure contains an axes. The axes contains 4 objects of type line. These objects represent z1 (y1), sys\_armax: 70.27%, sys\_ss: 70.56%, sys\_tf: 70.96%.

Для этого набора данных, наряду с настройками по умолчанию для всех моделей, форма передаточной функции имеет наилучшее соответствие NRMSE. Однако посадки для всех моделей находятся в пределах примерно 1% друг от друга.

Можно в интерактивном режиме управлять тем, какие ответы модели отображаются на графике, щелкнув правой кнопкой мыши график и наведя курсор на систему.

Сравнение выходных данных нескольких оценочных моделей различных типов с измеренными данными частотной области.

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

load demofr  % frequency response data
zfr = AMP.*exp(1i*PHA*pi/180);  
Ts = 0.1;
data = idfrd(zfr,W,Ts);  
sys1 = procest(data,'P2UDZ'); 
sys2 = oe(data,[2 2 1]);

sys1один idproc модель является моделью непрерывного процесса. sys2один idpoly модель, является дискретно-временной моделью ошибки вывода.

Сравните частотную характеристику расчетных моделей с данными.

compare(data,sys1,'g',sys2,'r');

Figure contains 2 axes. Axes 1 with title From: u1 contains 3 objects of type line. These objects represent Data, sys1: 88.03%, sys2: 88.04%. Axes 2 contains 3 objects of type line. These objects represent Data, sys1: 88.03%, sys2: 88.04%.

Две модели имеют значения соответствия NRMSE, которые почти равны по отношению к данным, по которым они были рассчитаны.

Изменение поведения по умолчанию при сравнении расчетной модели с измеренными данными.

Оценка передаточной функции для измеренных данных.

load iddata1 z1;
sys = tfest(z1,3);

sys является определяемой передаточной функцией непрерывного времени (idtf) модель.

Предположим, что исходные условия должны быть равны нулю. Значение по умолчанию для compare - оценка начальных условий по данным.

Создайте набор опций для определения начальной обработки условий. Чтобы использовать нуль для начальных условий, укажите 'z' для 'InitialCondition' вариант.

opt = compareOptions('InitialCondition','z');

Сравните выходные данные модели расчетной передаточной функции с измеренными данными с помощью набора опций сравнения.

compare(z1,sys,opt)

Figure contains an axes. The axes contains 2 objects of type line. These objects represent z1 (y1), sys: 70.66%.

Загрузите данные.

load iddata2 z2

Разбейте данные на наборы оценки и проверки.

z2e = z2(1:200);
z2v = z2(201:400);
plot(z2e,z2v)

Figure contains 2 axes. Axes 1 with title y1 contains 2 objects of type line. These objects represent z2e, z2v. Axes 2 with title u1 contains 2 objects of type line. These objects represent z2e, z2v.

Оценка модели состояния-пространства и модели передаточной функции с использованием данных оценки.

sys_ss = ssest(z2e,2);
sys_tf = tfest(z2e,2,1);

Использовать compare для получения исходных условий для sys_ss.

[y_ss,fit_ss,ic_ss] = compare(z2e,sys_ss);
ic_ss
ic_ss = 2×1

   -0.0018
    0.0016

ic_ss - числовой вектор начальных состояний.

[y_tf,fit_tf,ic_tf] = compare(z2e,sys_tf);
ic_tf
ic_tf = 
  initialCondition with properties:

     A: [2x2 double]
    X0: [2x1 double]
     C: [-1.6093 5.1442]
    Ts: 0

ic_tf является initialCondition объект, который содержит в форме state-space модель свободного ответа sys_tf к начальным условиям. A и C содержат информацию о бесплатном ответе и X0 содержит начальные состояния.

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

[y_sstf,fit_sstf,ic_sstf] = compare(z2v,sys_ss,sys_tf);
ic_sstf
ic_sstf=2×1 cell array
    {2x1 double          }
    {1x1 initialCondition}

ic_sstf - массив ячеек, содержащий вектор начального состояния для sys_ss и initialCondition объект для sys_tf.

compare может предоставить начальные условия для существующей модели с любым набором данных измерений.

Входные аргументы

свернуть все

Данные проверки, указанные как iddata, idfrd, или frd(Панель инструментов системы управления).

Если sys является:

  • Один iddata объект, затем data должно быть iddata объект с совпадающей областью, количеством экспериментов и векторами времени или частоты

  • Модель данных частотного отклика (FRD) (определяется как idfrd или frd), то data также должен быть FRD

  • Параметрическая модель (например, idss), то data может быть iddata или FRD

data может представлять данные временной или частотной области при сравнении с линейными моделями. data должны быть данными временной области при сравнении с нелинейной моделью.

Примеры см. в разделе:

.

Идентифицированная модель, заданная как динамическая модель системы, iddata объект или массив модели.

Когда единицы времени или частоты data не соответствуют единицам измерения sys, compare перевесы sys для соответствия единицам измерения data.

Горизонт прогнозирования, указанный как одно из следующих значений:

  • Inf - Сравнить смоделированную реакцию sys кому data.

  • Положительное конечное целое число - сравнить прогнозируемый отклик sys кому data, где каждая прогнозируемая точка отклика основана не только на измеренных входных данных до этой временной точки, но и на измеренных выходных данных до kstep точки времени ранее.

compare игнорирует kstep когда sys является iddata объект, модель FRD или динамическая система без шумовой составляющей. compare также игнорирует kstep при использовании данных проверки частотного отклика.

При указании kstep больше, чем количество выборок данных, compare наборы kstep кому Inf и выдает предупреждающее сообщение.

Дополнительные сведения о моделировании и прогнозировании см. в разделе Моделирование и прогнозирование вывода идентифицированной модели.

Пример см. в разделе Сравнение прогнозируемого ответа идентифицированной модели временной области с измеренными данными.

Стиль линии, маркер и цвет как линии, так и маркера, заданные как символьный вектор, например 'b' или 'b+:'.

Дополнительные сведения о настройке LineSpec, см. Linespec входной аргумент plot. Пример см. в разделе Сравнение нескольких расчетных моделей с данными измеренной частотной области.

Опции сравнения, заданные как набор опций, созданный с помощью compareOptions.

Доступные варианты:

  • Обработка исходных условий

  • Примерный диапазон для вычисления номеров посадок

  • Смещения данных

  • Взвешивание выходных данных

Примеры см. в разделе:

Выходные аргументы

свернуть все

Ответ модели, возвращенный как iddata объект, idfrd объект, массив ячеек или массив. Выходные данные зависят от моделей и данных, которые вы предоставляете, следующим образом:

  • Для одного набора данных модели и одного эксперимента: y является iddata объект или idfrd объект

  • Для многомодельных сравнений, y является массивом ячеек с одним iddata или idfrd ввод объекта для каждой входной модели

  • Для многоэкспериментных данных, y является массивом ячеек с одной записью для каждого эксперимента

  • Для многомодельных сравнений с использованием мультиэкспериментных данных, y - массив ячеек Nsys-by-Nexp, где Nsys - количество моделей, а Nexp - количество экспериментов

  • Если sys является массивом модели, y - массив с элементом, соответствующим каждой модели в sys и экспериментировать в data. Дополнительные сведения о массивах моделей см. в разделе stack

Если kstep не указан или является Inf, то compare возвращает смоделированный ответ в y.

В противном случае compare возвращает прогнозируемый отклик. Измеренные выходные значения в data до времени tn-kstep используются для прогнозирования выхода sys в момент времени tn. Дополнительные сведения о моделировании и прогнозировании см. в разделе Моделирование и прогнозирование вывода идентифицированной модели.

compare вычисление ответа требует спецификации обработки исходного состояния. По умолчанию compare оценивает начальные условия для максимизации соответствия данным. Посмотрите compareOptions для получения дополнительной информации о том, как compare определяет исходные условия для использования.

Индикатор значения пригодности NRMSE того, насколько хорошо моделируемый или прогнозируемый отклик модели соответствует данным измерения, возвращенным в виде вектора, матрицы или массива ячеек. Выходные данные зависят от моделей и данных, которые вы предоставляете, следующим образом:

  • Если data является iddata объект, fit - вектор длины Ny, где Ny - количество выходов

  • Если data является моделью FRD, fit - матрица Ny-by-Nu, где Nu - количество входов в data

  • Для одного набора данных модели и одного эксперимента: fit является вектором или матрицей

  • Для многомодельных сравнений, fit - массив ячеек с одной записью для каждой входной модели;

  • Для многоэкспериментных данных, fit является массивом ячеек с одной записью для каждого эксперимента

  • Для многомодельных сравнений с использованием мультиэкспериментных данных, fit - массив ячеек Nsys-by-Nexp, где Nsys - количество моделей, а Nexp - количество экспериментов

  • Если sys является массивом модели, fit - массив с элементом, соответствующим каждой модели в sys и экспериментировать в data

compare вычисляет fit (в процентах) с использованием:

fit = 100 (1 | | y y ^ | | | y − mean (y) | |),

где y - вывод данных проверки, а y ^ - вывод sys.

Для моделей FRD - compare вычисляет fit путем сравнения комплексного частотного отклика. Соответствия амплитуды и фазовых кривых, показанные в compare график не вычисляется compare отдельно.

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

Для данных одной модели и одного эксперимента форма вывода зависит от типа модели.

  • Для моделей пространства состояний, ic - числовой вектор, содержащий начальные состояния.

  • Для передаточных функций и полиномиальных моделей, ic является initialCondition объект. Один initialCondition представляет в форме state-space свободный отклик модели (матрицы A и C) на оцененные начальные состояния (x0).

  • Когда sys является frd или iddata объект, ic является пустым массивом [], поскольку начальные условия не могут использоваться с этими объектами.

Для нескольких моделей и/или экспериментов форма вывода выглядит следующим образом:

  • Для многомодельных сравнений, ic - ячейка или массив объектов с одним вектором, матрицей или initialCondition запись для каждой входной модели.

  • Для многоэкспериментных данных, ic - ячейка или массив объектов с одной записью для каждого эксперимента.

  • Для многомодельных сравнений с использованием мультиэкспериментных данных, ic - ячейка Nsys-by-Nexp или объектный массив, где Nsys - количество моделей, а Nexp - количество экспериментов.

  • Если sys является массивом модели, ic - массив с элементом, соответствующим каждой модели в sys и экспериментировать в data.

По умолчанию compare использование findstates для оценки начальных состояний в ic. Чтобы изменить это поведение, установите 'InitialCondition' опция в opt (см. compareOptions). При наличии истории ввода/вывода, непосредственно предшествующей начальной точке, можно задать 'InitialCondition' к этим данным истории. compare затем использует data2state для вычисления конечного состояния архивных данных и, таким образом, начального состояния моделирования. Другие варианты включают установку начальных условий на ноль или на определенные значения, определенные ранее. Дополнительные сведения о поиске начальных условий см. в разделе Оценка начальных условий для моделирования идентифицированных моделей.

Если используется модель оценки, которая явно не использует состояния, compare сначала преобразует модель в ее представление состояния-пространства, а затем сопоставляет данные начальным состояниям. compare затем упаковывает вектор начального состояния и A и C матрицы state-space в initialCondition объект. Пример использования compare с такой моделью см. раздел Получение начальных условий.

Совет

  • Результат соответствия NRMSE, полученный с помощью compare может не точно соответствовать значению соответствия, указанному в идентификации модели. Эти различия обычно возникают из-за несовпадений в начальных условиях и в различиях в параметрах горизонта прогнозирования по умолчанию для идентификации и для проверки. Различия, как правило, невелики и не должны влиять на процесс выбора и проверки модели. Дополнительные сведения см. в разделах Разрешение расхождений значений соответствия между идентификацией модели и командой сравнения.

  • compare соответствует входным/выходным каналам в data и sys на основе названий каналов. Таким образом, можно оценить модели, которые не используют все входные каналы, доступные в data. Эта гибкость позволяет сравнивать несколько моделей, каждая из которых была идентифицирована независимо от различных наборов каналов ввода/вывода.

  • compare позволяет изменять ключевые параметры. Например, можно интерактивно управлять:

    • Создается ли моделируемый или прогнозируемый ответ

    • Значение горизонта прогнозирования

    • Обработка исходных условий

    • Какие данные эксперимента вы просматриваете

    • Какие модели системы просматриваются

    Для доступа к элементам управления щелкните правой кнопкой мыши на графике, чтобы открыть меню опций.

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