Этот пример показывает, как создать изменяющееся во времени, модель в пространстве состояний, содержащая случайное, коэффициент состояния.
Запишите функцию, которая задает, как параметры в params
сопоставляют с матрицами модели в пространстве состояний, значениями начального состояния и типом состояния. Символически, модель
случайный коэффициент.
% Copyright 2015 The MathWorks, Inc. function [A,B,C,D] = randomCoeffParamMap(c) % State-space model parameter-to-matrix mapping function with a random % coefficient example. There are two states: one is a random walk with % disturbance variance 1, and the other is a first-order Markov model with % a random coefficient and an unknown variance. The observation equation % is the sum of the two states, and the innovation has variance 1. A = diag([1,c(1)*rand]); B = [1 0; 0 c(2)]; C = [1,1]; D = 1; end
Создайте модель в пространстве состояний путем передачи randomCoeffParamMap
как указателя на функцию к ssm
.
rng('default'); % For reproducibility Mdl = ssm(@randomCoeffParamMap);
ssm
неявно создает модель ssm
Mdl
.
Отобразите Mdl
с помощью disp
. Задайте начальные значения параметров.
disp(Mdl,[3; 5])
State-space model type: <a href="matlab: doc ssm">ssm</a> State vector length: 2 Observation vector length: 1 State disturbance vector length: 2 Observation innovation vector length: 1 Sample size supported by model: Unlimited State variables: x1, x2,... State disturbances: u1, u2,... Observation series: y1, y2,... Observation innovations: e1, e2,... State equations: x1(t) = x1(t-1) + u1(t) x2(t) = (0.38)x2(t-1) + (5)u2(t) Observation equation: y1(t) = x1(t) + x2(t) + e1(t) Initial state distribution: Initial state means x1 x2 0 0 Initial state covariance matrix x1 x2 x1 1e+07 0 x2 0 1e+07 State types x1 x2 Diffuse Diffuse
disp
устанавливает параметры на их начальные значения или функции их начальных значений. В этом случае первый параметр является временами начальных значений случайное число.