Home > . > gendata.m

gendata

PURPOSE ^

[y,epsilon,alpha,eta] = gendata(T, ssf, a0)

SYNOPSIS ^

function [y,epsilon,alpha,eta] = gendata(T, ssf, a0)

DESCRIPTION ^

 [y,epsilon,alpha,eta] = gendata(T, ssf, a0)

 generates random data of the length T for the given state space form
 and initial state

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 % [y,epsilon,alpha,eta] = gendata(T, ssf, a0)
0002 %
0003 % generates random data of the length T for the given state space form
0004 % and initial state
0005 
0006 % $Id: gendata.m 532 2005-11-30 13:51:33Z kamenik $
0007 % Copyright 2005, Ondra Kamenik
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

Generated on Fri 16-Jun-2006 09:09:06 by m2html © 2003