% % ex3.m is an example matlab program % % ----- save output to file ----- % clear all diary ex3.mout diary off delete ex3.mout diary ex3.mout % ----- display date and time of computation ----- % format bank date time0 = clock; % ----- find mean of system ----- % A0 = [0.9 0 2; 1 0 0 ; 0 0 1 ]; [mux D] = eig(A0) mux = mux(:,3); % ----- now simluate the series ----- % % - generate random vector - % w = randn(1,1000); x(:,1) = mux ; C = [1;0;0]; for j = 1:999 x(:,j+1) = A0*x(:,j)+C*w(:,j+1) ; end % ----- simulate state space system ----- % % - set series length - % iter = 100; % ----- enter matrices and initial values ----- % A0 = [-0.8 0.1 0.01; 1 0 0 ; 0 0 1 ]; C = [1; 0; 0]; G = [ 1 0 0; .2 0 0 ]; % - compute first moments - % [mux D] = eig(A0) % - generate random shocks - % w = randn(1,iter+1); % - iterate to generate series - % x = [zeros(2,iter+1) ; ones(1,iter+1) ] ; for j = 1:100 x(:,j+1) = A0*x(:,j)+C*w(:,j+1); end % - compute y's - % for j = 1:100 y(:,j) = G*x(:,j); end; % ----- alternative system ----- % A0 = [0]; C = [1]; % - generate random shocks - % w = randn(1,iter+1); % - iterate to generate series - % x = zeros(1,iter+1); for j = 1:100 x(:,j+1) = A0*x(:,j)+C*w(:,j+1); end x' % ----- compute first and second moments ----- % alpha = 10*(1-1.2+.3) A = [ 1.2 -.3 0 0 alpha; 1 0 0 0 0; 0 1 0 0 0; 0 0 1 0 0; 0 0 0 0 1 ] C = [1; 0; 0; 0; 0] [mux D] = eig(A) Cx = doublej(A,C*C') % ----- turn off diary ----- % comptime = etime(clock, time0) diary off