Можно оценить модели в пространстве состояний двумя способами в командной строке, в зависимости от предварительных знаний природы системы и требований.
В этом подходе вы задаете порядок модели, и, опционально, дополнительные образцовые атрибуты структуры, которые конфигурируют полную структуру матриц пространства состояний. Вы вызываете 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
смотрите начальные состояния Определения для Итеративных Алгоритмов Оценки.