0001
0002
0003
0004
0005
0006
0007
0008
0009 function [y,epsilon,alpha,eta] = gendata(T, ssf, a0)
0010
0011 m = size(ssf.T, 1);
0012 p = size(ssf.Z, 1);
0013 r = size(ssf.R, 2);
0014
0015 cholH = chol(ssf.H);
0016 cholQ = chol(ssf.Q);
0017
0018 epsilon = cholH*randn(p,T);
0019 eta = cholQ*randn(r, T);
0020
0021 y = zeros(p, T);
0022 alpha = zeros(m,T);
0023 alpha(:,1) = a0;
0024
0025 for t = 1:T
0026 y(:,t) = ssf.Z*alpha(:,t) + epsilon(:,t);
0027 if t ~= T
0028 alpha(:,t+1) = ssf.T*alpha(:,t) + ssf.R*eta(:,t);
0029 end
0030 end