ssregest

Оцените модель в пространстве состояний сокращением упорядоченной модели ARX

Описание

пример

sys = ssregest(data,nx) оценивает модель в пространстве состояний сокращением упорядоченной модели ARX.

пример

sys = ssregest(data,nx,Name,Value) задает дополнительные опции с помощью одного или нескольких Name,Value парные аргументы.

пример

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

пример

[sys,x0] = ssregest(___) возвращает значение начальных состояний, вычисленных во время оценки. Этот синтаксис может включать любую из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

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

load iddata2 z2;

z2 iddata объект, который содержит данные об отклике системы временного интервала.

Идентифицируйте модель в пространстве состояний третьего порядка.

sys = ssregest(z2,3);

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

load iddata2 z2

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

sys = ssregest(z2,3,'InputDelay',2);

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

load iddata2 z2;

Задайте порядок упорядоченной модели ARX, используемой программным обеспечением во время оценки. Кроме того, установите особое внимание оценки на симуляцию.

opt = ssregestOptions('ARXOrder',[100 100 1],'Focus','simulation');

Идентифицируйте модель в пространстве состояний третьего порядка.

sys = ssregest(z2,3,opt);

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

load iddata2 z2;

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

[sys,x0] = ssregest(z2,3);

Загрузка данных.

load regularizationExampleData eData;

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

trueSys = idtf([0.02008 0.04017 0.02008],[1 -1.561 0.6414],1);

Получите упорядоченную модель (FIR) импульсной характеристики.

opt = impulseestOptions('RegularizationKernel','DC');
m0 = impulseest(eData,70,opt);

Преобразуйте модель в модель в пространстве состояний и уменьшайте порядок модели.

m1 = balred(idss(m0),15);

Получите вторую модель в пространстве состояний с помощью упорядоченного сокращения модели ARX.

m2 = ssregest(eData,15);

Сравните импульсные характеристики истинной системы и предполагаемых моделей.

impulse(trueSys,m1,m2,50);   
legend('trueSys','m1','m2');

Figure contains an axes object. The axes object with title From: u1 To: y1 contains 6 objects of type line. These objects represent trueSys, m1, m2.

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

свернуть все

Данные об оценке в виде iddata, idfrd или frd Объект (Control System Toolbox).

Для оценки временного интервала, data должен быть iddata объект, содержащий значения сигналов ввода и вывода.

Для оценки частотного диапазона, data может быть одно из следующего:

  • Записанные данные о частотной характеристике (frd (Control System Toolbox) или idfrd)

  • iddata объект с его свойствами, заданными можно следующим образом:

    • InputData — Преобразование Фурье входного сигнала

    • OutputData — Преобразование Фурье выходного сигнала

    • Domain'Frequency'

    Шаг расчета Ts из iddata объект должен быть ненулевым.

Порядок предполагаемой модели в виде положительной скалярной величины или вектора.

Если nx вектор, затем ssregest создает график, который можно использовать, чтобы выбрать подходящий порядок модели. График показывает сингулярные значения Ганкеля для моделей выбранных значений в векторе. Состояния с относительно маленькими сингулярными значениями Ганкеля могут быть безопасно отброшены. Выбор по умолчанию предлагается в графике.

Можно также задать nx = 'best', как в ssregest(data,'best'), в этом случае оптимальный порядок выбран автоматически в области значений 1:10.

Опции оценки для ssregestВ виде опции устанавливают вас, создают использование ssregestOptions.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: sys = ssregest(z2,3,'InputDelay',2) задает задержку 2 периодов выборки.

Шаг расчета модели в виде 0 или равный шагу расчета data.

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

Введите задержку каждого входного канала в виде числового вектора. Для систем непрерывного времени задайте входные задержки единицы измерения времени, сохраненной в TimeUnit свойство. Для систем дискретного времени задайте входные задержки целочисленных множителей шага расчета Ts. Например, InputDelay = 3 означает задержку трех периодов выборки.

Для системы с Nu входные параметры, набор InputDelay к Nu- 1 вектор. Каждая запись этого вектора является численным значением, которое представляет входную задержку соответствующего входного канала.

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

Тип канонической формы sysВ виде одного из следующих значений:

  • 'modal' — Получите sys в модальной форме.

  • 'companion' — Получите sys в сопутствующей форме.

  • 'free' — Все записи A, B и матриц C обработаны как свободные.

  • 'canonical' — Получите sys в канонической форме наблюдаемости [1].

Используйте Form, Feedthrough и DisturbanceModel аргументы пары "имя-значение", чтобы изменить поведение по умолчанию A, B, C, D и матриц K.

Прямое сквозное соединение от входа, чтобы вывести в виде логического вектора из длины Nu, где Nu является количеством входных параметров. Если Feedthrough задан как логический скаляр, он применяется ко всем входным параметрам.

Используйте Form, Feedthrough и DisturbanceModel аргументы пары "имя-значение", чтобы изменить поведение по умолчанию A, B, C, D и матриц K.

Задайте, оценить ли матрицу K, которая задает шумовой компонент в виде одного из следующих значений:

  • 'none' — Шумовой компонент не оценивается. Значение матрицы K фиксируется к нулевому значению.

  • 'estimate' — Матрица K обработана как свободный параметр.

DisturbanceModel должен быть 'none' при использовании данных частотной области.

Используйте Form, Feedthrough и DisturbanceModel аргументы пары "имя-значение", чтобы изменить поведение по умолчанию A, B, C, D и матриц K.

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

свернуть все

Предполагаемая модель в пространстве состояний порядка nx, возвращенный как idss объект модели. Модель представляет:

x˙(t)=Ax(t)+Bu(t)+Ke(t)y(t)=Cx(t)+Du(t)+e(t)

A, B, C, D и K являются матрицами пространства состояний. u (t) является входом, y (t) является выход, e (t) является воздействием, и x (t) является вектором из nx состояния.

Все записи A, B, C и K являются свободными допускающими оценку параметрами по умолчанию. D фиксируется, чтобы обнулить по умолчанию, означая, что нет никакого сквозного соединения, за исключением статических систем (nx=0).

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

Сообщите о полеОписание
Status

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

Method

Команда оценки используется.

InitialState

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

  • 'zero' — Начальное состояние было обнулено.

  • 'estimate' — Начальное состояние было обработано как независимый параметр оценки.

Это поле особенно полезно когда InitialState опцией в наборе опции оценки является 'auto'.

ARXOrder

Порядки модели ARX, возвращенные как матрица неотрицательных целых чисел [na nb nk].

Fit

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

Поле Описание
FitPercent

Мера по нормированной среднеквадратической ошибке (NRMSE) того, как хорошо ответ модели соответствует данным об оценке, описанным как процент fitpercent = 100 (1-NRMSE).

LossFcn

Значение функции потерь, когда оценка завершается.

MSE

Мера по среднеквадратической ошибке (MSE) того, как хорошо ответ модели соответствует данным об оценке.

FPE

Итоговая ошибка предсказания для модели.

AIC

Необработанная мера по Критериям информации о Akaike (AIC) качества модели.

AICc

Маленький объем выборки откорректировал AIC.

nAIC

Нормированный AIC.

BIC

Байесовы информационные критерии (BIC).

Parameters

Ориентировочные стоимости параметров модели.

OptionsUsed

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

RandState

Состояние потока случайных чисел в начале оценки. Пустой, если рандомизация не использовалась во время оценки. Для получения дополнительной информации смотрите rng.

DataUsed

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

Поле Описание
Name

Имя набора данных.

Type

Тип данных.

Length

Количество выборок данных.

Ts

Размер шага.

InterSample

Введите междемонстрационное поведение, возвращенное как одно из следующих значений:

  • 'zoh' — Нулевой порядок содержит, обеспечивает кусочно-постоянный входной сигнал между выборками.

  • 'foh' — Хранение первого порядка обеспечивает кусочно-линейный входной сигнал между выборками.

  • 'bl' — Ограниченное полосой поведение указывает, что входной сигнал непрерывного времени имеет нулевую силу выше частоты Найквиста.

InputOffset

Возместите удаленный из входных данных временного интервала во время оценки. Для нелинейных моделей это - [].

OutputOffset

Возместите удаленный из выходных данных временного интервала во время оценки. Для нелинейных моделей это - [].

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

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

Это значение также хранится в Parameters поле Report модели свойство.

Больше о

свернуть все

Модальная форма

В модальной форме A является блочно диагональной матрицей. Размер блока обычно 1 на 1 для действительных собственных значений и 2 на 2 для комплексных собственных значений. Однако, если существуют повторенные собственные значения или кластеры соседних собственных значений, размер блока может быть больше.

Например, для системы с собственными значениями (λ1,σ±jω,λ2), модальная матрица A имеет форму

[λ10000σω00ωσ0000λ2]

Сопутствующая форма

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

Для системы характеристическим полиномом

P(s)=sn+α1sn1++αn1s+αn

соответствующий компаньон матрица A

A=[01000001000001000001αnαn1αn2αn3  α1]

Сопутствующее преобразование требует, чтобы система была управляема от первого входа. Сопутствующая форма плохо обусловливается для большинства расчетов пространства состояний; избегайте использования его, если это возможно.

Советы

  • ssregest функция обеспечивает улучшенную точность, чем n4sid для краткости наборы зашумленных данных.

  • Для некоторых проблем, качества подходящего использования n4sid чувствительно к опциям, таков как N4Horizon, чьи значения могут затруднить, чтобы определить. В сравнении, качестве подгонки с ssregest менее чувствительно к его опциям, который делает ssregest более простой использовать.

Алгоритмы

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

Ссылки

[1] Ljung, L. System Identification: Теория Для Пользователя, Второго Выпуска, Приложения 4A, стр 132-134, Верхнего Сэддл-Ривер, Нью-Джерси: Prentice Hall, 1999.

Введенный в R2014a