Оцените модели в пространстве состояний в командной строке

Черный квадрат по сравнению со структурированной оценкой модели в пространстве состояний

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

Оценка черного квадрата

В этом подходе вы задаете порядок модели, и, опционально, дополнительные атрибуты структуры модели, которые конфигурируют полную структуру матриц пространства состояний. Вы вызываете ssest, ssregest или n4sid с данными и моделью приказывают в качестве аргументов первичного входного параметра и пар "имя-значение" использования задавать любые дополнительные атрибуты, такие как шаг расчета модели, присутствие сквозного соединения, отсутствие шумового компонента, и т.д. Вы не работаете непосредственно с коэффициентами A, B, C, D, K и матриц X0.

Структурированная оценка

В этом подходе вы создаете и конфигурируете idss модель, которая содержит начальные значения для всех системных матриц. Вы используете Structure свойство idss модель, чтобы задать все ограничения параметра. Например, можно определять определенные коэффициенты системных матриц, как зафиксировано и наложить минимальные/максимальные границы на значения других. Для быстрой настройки параметризации и оценить ли сквозное соединение и динамику воздействия, используйте ssform.

После конфигурирования idss модель с желаемыми ограничениями, вы задаете эту модель как входной параметр к ssest команда. Вы не можете использовать n4sid или ssregest для структурированной оценки.

Примечание

  • Структурированный подход оценки также упоминается как моделирование серого ящика. Однако в этом тулбоксе, “серое поле, моделируя” терминологию используется только при обращении к idgrey и idnlgrey модели.

  • Используя структурированный подход оценки, вы не можете задать отношения среди коэффициентов пространства состояний. Каждый коэффициент по существу считается независимым от других. Для внушительных зависимостей, или использовать более комплексные формы параметризации, используют idgrey модель и greyest средство оценки.

Оценивая Модели в пространстве состояний Используя ssest, ssregest и n4sid

 Предпосылки

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

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

m = ssest(data,n,opt,Name,Value)

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

Как альтернатива ssest, можно использовать неитеративные средства оценки подпространства n4sid или ssregest:

m = n4sid(data,n,opt,Name,Value)
m = ssregest(data,n,opt,Name,Value)

Если вы не задаете шаг расчета как входной параметр пары "имя-значение", n4sid и ssregest оцените модель дискретного времени, в то время как ssest оценивает модель непрерывного времени.

Примечание

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

Для получения информации о проверке вашей модели см. Модели Проверки После Оценки

Выбирая структуру A, B, C матрицы

По умолчанию все записи A, B и матриц пространства состояний C обработаны как свободные параметры. Используя Form входной параметр пары "имя-значение" ssest , можно выбрать различные канонические формы, такие как компаньон и модальные формы, то использование меньше параметров.

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

Выбор между представлениями непрерывного времени и дискретного времени

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

  • По умолчанию, ssest оценивает модель непрерывного времени. Если вы используете набор данных с ненулевым шагом расчета, data, который включает все данные об области времени, можно также оценить модель дискретного времени при помощи:

    model = ssest(data,nx,'Ts',data.Ts);

    Если вы используете данные частотного диапазона непрерывного времени, вы не можете оценить модель дискретного времени.

  • По умолчанию, n4sid и ssregest оцените модель чьи соответствия шага расчета те из данных. Таким образом, для данных временного интервала, n4sid и ssregest поставьте модель дискретного времени. Можно оценить модель непрерывного времени при помощи:

    model = n4sid(data,nx,'Ts',0);
    

    или

    model = ssregest(data,nx,'Ts',0);
    

Принимая решение оценить D, K, и матрицы X0

Для моделей в пространстве состояний с любой параметризацией можно задать, оценить ли D, K и матрицы X0, которые представляют сквозное соединение входа к выходу, шумовую модель и начальные состояния, соответственно.

Для моделей в пространстве состояний со структурированной параметризацией можно также задать, чтобы оценить матрицу D. Однако для свободных и канонических форм, структура матрицы D установлена на основе вашего выбора для 'Feedthrough' входной параметр пары "имя-значение".

D матрица

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

  • Оценка черного квадрата: Используйте Feedthrough входной параметр пары "имя-значение", чтобы обозначить присутствие или отсутствие сквозного соединения от отдельных входных параметров. Например, в случае двух входов моделируют таким образом, что существует сквозное соединение только от второго входа, используйте:

    model = n4sid(data,n,'Feedthrough',[false true]);
  • Структурированная оценка: Сконфигурируйте значения init_sys.Structure.D, где init_sys idss модель, которая представляет желаемую структуру модели. Чтобы не обеспечить сквозное соединение для i-th вход, установите:

    init_sys.Structure.D.Value(:,i) = 0;
    init_sys.Structure.D.Free = true;
    init_sys.Structure.D.Free(:,i) = false;

    Первая линия задает значение i-th столбец D как нуль. Следующая строка указывает все элементы D как свободные, допускающие оценку параметры. Последняя линия указывает, что i-th столбец матрицы D фиксируется для оценки.

    В качестве альтернативы используйте ssform с 'Feedthrough' пара "имя-значение".

K матрица

K представляет шумовую матрицу модели, такой что шумовой компонент модели is:.

x˙=Ax+Keyn=Cx+e

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

  • Оценка черного квадрата: Используйте DisturbanceModel входной параметр пары "имя-значение", чтобы указать, фиксируется ли компонент воздействия, чтобы обнулить (задают Value = 'none') или оцененный как свободный параметр (задают Value = 'estimate'). Например, использование:

    model = n4sid(data,n,'DisturbanceModel','none');
  • Структурированная оценка: Сконфигурируйте значение init_sys.Structure.K параметр, где init_sys idss модель, которая представляет желаемую структуру модели. Можно зафиксировать некоторые коэффициенты матрицы K к известным значениям и предписать минимальные/максимальные границы для свободных коэффициентов. Например, чтобы оценить только первый столбец матрицы K для двух выходных моделей:

    kpar = init_sys.Structure.K;
    kpar.Free(:,1) = true;
    kpar.Free(:,2) = false;
    kpar.Value(:,2) = 0; % second column value is fixed to zero
    init_sys.Structure.K = kpar;

    В качестве альтернативы используйте ssform.

Если не уверенный, как легко зафиксировать или освободить все коэффициенты K, первоначально можно не использовать оценку, что шумовые параметры в K фокусируются на достижении разумной модели для системной динамики. После оценки динамической модели можно использовать ssest совершенствовать модель при конфигурировании параметров K, чтобы быть свободным. Например:

init_sys = ssest(data, n,'DisturbanceModel','none');
init_sys.Structure.K.Free = true;
sys = ssest(data,init_sys);

где init_sys динамическая модель без шума.

Чтобы обнулить K в существующей модели, можно установить ее Value к 0 и Free отметьте к false:

m.Structure.K.Value = 0;
m.Structure.K.Free = false;

Матрицы X0

Вектор начального состояния X0 получен как побочный продукт оценки модели. n4sid, ssest и ssregest команды возвращают значение X0 как их вторые выходные аргументы. Можно выбрать, как обработать начальные условия во время оценки модели при помощи InitialState опция оценки. Используйте n4sidOptions (для n4sid), ssestOptions (для ssest) или ssregestOptions (для ssregest) создать набор опции оценки. Например, для того, чтобы содержать начальные состояния, чтобы обнулить во время оценки с помощью n4sid:

opt = n4sidOptions;
opt.InitialState = 'zero';
[m,X0] = n4sid(data,n,opt);

Возвращенный X0 переменная является нулевым вектором длины n.

Когда вы оцениваете модели с помощью данных о мультиэксперименте, X0 матрица содержит столько же столбцов сколько эксперименты данных.

Для полного списка значений для InitialStates опция, смотрите начальные состояния Определения для Итеративных Алгоритмов Оценки.

Похожие темы