Можно оценить модели в пространстве состояний двумя способами в командной строке, в зависимости от предварительных знаний природы системы и требований.
В этом подходе вы задаете порядок модели, и, опционально, дополнительные атрибуты структуры модели, которые конфигурируют полную структуру матриц пространства состояний. Вы вызываете ssest
, ssregest
или n4sid
с данными и моделью приказывают в качестве аргументов первичного входного параметра и пар "имя-значение" использования задавать любые дополнительные атрибуты, такие как шаг расчета модели, присутствие сквозного соединения, отсутствие шумового компонента, и т.д. Вы не работаете непосредственно с коэффициентами A, B, C, D, K и матриц X0.
В этом подходе вы создаете и конфигурируете idss
модель, которая содержит начальные значения для всех системных матриц. Вы используете Structure
свойство idss
модель, чтобы задать все ограничения параметра. Например, можно определять определенные коэффициенты системных матриц, как зафиксировано и наложить минимальные/максимальные границы на значения других. Для быстрой настройки параметризации и оценить ли сквозное соединение и динамику воздействия, использовать ssform
.
После конфигурирования idss
модель с желаемыми ограничениями, вы задаете эту модель как входной параметр к ssest
команда. Вы не можете использовать n4sid
или ssregest
для структурированной оценки.
Примечание
Структурированный подход оценки также упоминается как моделирование серого ящика. Однако в этом тулбоксе, “серое поле, моделируя” терминологию используется только при обращении к idgrey
и idnlgrey
модели.
Используя структурированный подход оценки, вы не можете задать отношения среди коэффициентов пространства состояний. Каждый коэффициент по существу считается независимым от других. Для внушительных зависимостей, или использовать более комплексные формы параметризации, использования idgrey
модель и greyest
средство оценки.
Можно оценить модели в пространстве состояний непрерывного времени и дискретного времени с помощью итеративной команды оценки 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 обработаны как свободные параметры. Используя 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. Однако для свободных и канонических форм, структура матрицы D установлена на основе вашего выбора для 'Feedthrough'
входной параметр пары "имя-значение".
По умолчанию матрица 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 представляет шумовую матрицу модели, такой что шумовой компонент модели is:.
Для данных частотного диапазона не оценивается никакая шумовая модель, и 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 получен как побочный продукт оценки модели. 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
опция, смотрите начальные состояния Определения для Итеративных Алгоритмов Оценки.