сравнение

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

Синтаксис

compare(data,sys)
compare(data,sys,kstep)
compare(data,sys,LineSpec,kstep)
compare(data,sys1,...,sysN,kstep)
compare(data,sys1,LineSpec1,...,sysN,LineSpecN,kstep)
compare(___,opt)
[y,fit,x0] = compare(___)

Описание

пример

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,x0] = compare(___) возвращает образцовый ответ, y, значение качества подгонки, fit, и начальные состояния, x0. Никакой график не сгенерирован. Можно использовать этот синтаксис с любой из предыдущих комбинаций входных аргументов. Однако спецификации линии проигнорированы, потому что нет никакого графического вывода.

Примеры

свернуть все

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

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

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

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

Используйте compare, чтобы моделировать ответ sys и построить его вместе с данными z1.

figure
compare(z1,sys)

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

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

  • Чтобы построить ошибку между предсказанным выводом и измеренным выводом, выберите Error Plot.

  • Чтобы просмотреть область уверенности для моделируемого ответа, выберите Characteristics-> ConfidenceRegion.

  • Чтобы задать количество стандартных отклонений, чтобы построить, дважды кликните график и откройте диалоговое окно Property Editor. Во вкладке Options задайте количество стандартных отклонений по секрету область для Идентифицированных Моделей. Значение по умолчанию является стандартным отклонением 1.

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

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

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

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

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

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

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

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

Чтобы изменить отображение и опции симуляции в графике, щелкните правой кнопкой по графику получить доступ к контекстному меню. Например, чтобы построить ошибку между предсказанным выводом и измеренным выводом, выберите Error Plot из контекстного меню. Чтобы изменить значение горизонта прогноза или переключиться между симуляцией и прогнозом, выбирают Prediction Horizon из контекстного меню.

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

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

load iddata1;

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

  • ARMAX (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)

Для этого набора данных, наряду с настройками по умолчанию для всех моделей, форма передаточной функции имеет лучшую подгонку 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');

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

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

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

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

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

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

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

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

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

compare(z1,sys,opt)

Входные параметры

свернуть все

Данные о валидации, заданные как 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 до времени t n-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 calculates fit (в проценте) использование:

подгонка=100(1||yy^||||yсреднее значение(y)||),

где y является выводом данных валидации и y^ вывод sys.

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

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

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

  • Для одной модели и набора данных одно эксперимента, x0 является вектором

  • Для мультиобразцовых сравнений x0 является массивом ячеек с одной векторной или матричной записью для каждой входной модели

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

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

  • Если sys является образцовым массивом, x0 является массивом с элементом, соответствующим каждой модели в sys и эксперименту в data

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

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

Советы

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

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

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

    • Генерируете ли вы моделируемый или предсказанный ответ

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

    • Начальная обработка условия

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

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

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

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

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