Создайте модель пространства состояний с неизвестными параметрами

Явное создание модели пространства состояний, содержащей неизвестные параметры

В этом примере показано, как создать инвариантную по времени модель пространства состояний, содержащую неизвестные значения параметров с помощью ssm.

Задайте модель пространства состояний, содержащую два зависимых состояния MA (1) и модель наблюдения аддитивной ошибки. Символически уравнение является

[xt,1xt,2xt,3xt,4]=[0θ1λ100000000θ30000][xt-1,1xt-1,2xt-1,3xt-1,4]+[σ10100σ201][ut,1ut,2]

yt=[10000010][xt,1xt,2xt,3xt,4]+[σ300σ4][εt,1εt,2].

Обратите внимание, что состояния xt,1 и xt,3 являются двумя зависимыми процессами MA (1). Состоянияxt,2 и xt,4 помогают создать эффекты lag-one, MA. Для примера, xt,2 подхватывает первое нарушение порядка (ut,1), и xt,1 подхватывает xt-1,2=ut-1,1. В целом, xt,1=λ1xt-1,3+ut,1+θ1ut-1,1, который является MA (1) сxt-1,3 как вход.

Задайте матрицу коэффициентов перехода состояний. Использование 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.

См. также

| |

Похожие примеры

Подробнее о