В этом примере показано, как создать инвариантную по времени модель пространства состояний, содержащую неизвестные значения параметров с помощью ssm
.
Задайте модель пространства состояний, содержащую два зависимых состояния MA (1) и модель наблюдения аддитивной ошибки. Символически уравнение является
Обратите внимание, что состояния и являются двумя зависимыми процессами MA (1). Состояния и помогают создать эффекты lag-one, MA. Для примера, подхватывает первое нарушение порядка (), и подхватывает . В целом, , который является MA (1) с как вход.
Задайте матрицу коэффициентов перехода состояний. Использование NaN
значения для указания неизвестных параметров.
A = [0 NaN NaN 0; 0 0 0 0; 0 0 0 NaN; 0 0 0 0];
Задайте матрицу коэффициентов возмущения-нагрузки.
B = [NaN 0; 1 0; 0 NaN; 0 1];
Задайте матрицу коэффициентов чувствительности к измерениям.
C = [1 0 0 0; 0 0 1 0];
Задайте матрицу коэффициентов инноваций и наблюдений.
D = [NaN 0; 0 NaN];
Использование ssm
для определения модели пространства состояний.
Mdl = ssm(A,B,C,D)
Mdl = State-space model type: ssm State vector length: 4 Observation vector length: 2 State disturbance vector length: 2 Observation innovation vector length: 2 Sample size supported by model: Unlimited Unknown parameters for estimation: 7 State variables: x1, x2,... State disturbances: u1, u2,... Observation series: y1, y2,... Observation innovations: e1, e2,... Unknown parameters: c1, c2,... State equations: x1(t) = (c1)x2(t-1) + (c2)x3(t-1) + (c4)u1(t) x2(t) = u1(t) x3(t) = (c3)x4(t-1) + (c5)u2(t) x4(t) = u2(t) Observation equations: y1(t) = x1(t) + (c6)e1(t) y2(t) = x3(t) + (c7)e2(t) Initial state distribution: Initial state means are not specified. Initial state covariance matrix is not specified. State types are not specified.
Mdl
является ssm
модель, содержащая неизвестные параметры. Подробные сводные данные Mdl
печать в Командное окно. Рекомендуется проверить, что состояние и уравнения наблюдений верны.
Передайте Mdl
и данные для estimate
для оценки неизвестных параметров.
Этот пример показывает, как создать инвариантную по времени модель пространства состояний путем передачи функции отображения параметров, описывающей модель, в ssm
(то есть неявно создать модель пространства состояний). Модель состояния является моделью AR (1). Состояния наблюдаются с смещением, но без случайной ошибки. Установите среднее значение начального состояния и отклонение и укажите, что состояние является стационарным.
Написание функции, которая задает, как параметры в params
сопоставить с матрицами модели пространства состояний, начальными значениями состояний и типом состояния.
% Copyright 2015 The MathWorks, Inc. function [A,B,C,D,Mean0,Cov0,StateType] = timeInvariantParamMap(params) % Time-invariant state-space model parameter mapping function example. This % function maps the vector params to the state-space matrices (A, B, C, and % D), the initial state value and the initial state variance (Mean0 and % Cov0), and the type of state (StateType). The state model is AR(1) % without observation error. varu1 = exp(params(2)); % Positive variance constraint A = params(1); B = sqrt(varu1); C = params(3); D = []; Mean0 = 0.5; Cov0 = 100; StateType = 0; end
Сохраните этот код как файл с именем timeInvariantParamMap
в папку в пути MATLAB ®.
Создайте модель пространства состояний путем передачи функции timeInvariantParamMap
как указатель на функцию, чтобы ssm
.
Mdl = ssm(@timeInvariantParamMap);
Программа неявно задает модель пространства состояний. Обычно вы не можете проверить модели пространства состояний, которые вы неявно задаете.
Mdl
является ssm
объект модели, содержащий неизвестные параметры. Можно оценить неизвестные параметры путем передачи Mdl
и данные отклика на estimate
.