GENERATE DATA GIVEN MAR MODEL AND INPUTS [Input] conMAR : concatenated MAR coeffient matrix [Nv Nvxdmax] u : input vectors [Nv Nt] [Optional Inputs] xx0 : initial values [Nv, dmax] if not given, zero vectors are assumed. [Output] xx : simulated data [Nv Nt] 2017/12/20 O.Yamashita
0001 function xx = lcd_generate_data(conMAR, u, xx0) 0002 % GENERATE DATA GIVEN MAR MODEL AND INPUTS 0003 % 0004 % [Input] 0005 % conMAR : concatenated MAR coeffient matrix [Nv Nvxdmax] 0006 % u : input vectors [Nv Nt] 0007 % [Optional Inputs] 0008 % xx0 : initial values [Nv, dmax] 0009 % if not given, zero vectors are assumed. 0010 % [Output] 0011 % xx : simulated data [Nv Nt] 0012 % 0013 % 2017/12/20 O.Yamashita 0014 0015 [Nv1,Ncol] = size(conMAR); 0016 dmax = Ncol/Nv1; % maximum delay 0017 [Nv2,Nt] = size(u); 0018 0019 if Nv1 ~= Nv2, error('incosistent matrix size, conMAR or u !'); end 0020 0021 if nargin < 3 0022 xx0 = zeros(Nv1, dmax); 0023 end 0024 0025 % 0026 x = [xx0 zeros(Nv1,Nt)]; 0027 for tt = dmax+1 : Nt+dmax 0028 tt; 0029 x0 = x(:,tt-1:-1:tt-dmax); 0030 x(:,tt) = conMAR*x0(:)+u(:,tt-dmax); 0031 end 0032 0033 xx = x(:,dmax+1:end);