diff options
Diffstat (limited to 'macros/autoreg_matrix.sci')
-rw-r--r-- | macros/autoreg_matrix.sci | 59 |
1 files changed, 44 insertions, 15 deletions
diff --git a/macros/autoreg_matrix.sci b/macros/autoreg_matrix.sci index 8778a84..2b70ced 100644 --- a/macros/autoreg_matrix.sci +++ b/macros/autoreg_matrix.sci @@ -1,30 +1,59 @@ -function y = autoreg_matrix(Y, varargin) // Given a time series (vector) Y, return a matrix with ones in the first column and the first K lagged values of Y in the other columns. + //Calling Sequence //autoreg_matrix(Y, K) + //Parameters //Y: Vector //K: Scalar or Vector + //Description // Given a time series (vector) Y, return a matrix with ones in the first column and the first K lagged values of Y in the other columns. // //In other words, for T > K, '[1, Y(T-1), ..., Y(T-K)]' is the t-th row of the result. // //The resulting matrix may be used as a regressor matrix in autoregressions. + //Examples //autoreg_matrix([1,2,3],2) -//ans = -// 1. 0. 0. -// 1. 1. 0. -// 1. 2. 1. -funcprot(0); -rhs = argn(2) -if(rhs<2 | rhs>2) -error("Wrong number of input arguments."); -end - - select(rhs) - case 2 then - y = callOctave("autoreg_matrix", Y, varargin(1)); - end +//ans = +// 1. 0. 0. +// 1. 1. 0. +// 1. 2. 1. + + + +//function y = autoreg_matrix(Y, varargin) +//funcprot(0); +//rhs = argn(2) +//if(rhs<2 | rhs>2) +//error("Wrong number of input arguments."); +//end +// +// select(rhs) +// case 2 then +// y = callOctave("autoreg_matrix", Y, varargin(1)); +// end +//endfunction + +function X = autoreg_matrix (y, k) + + funcprot(0); + [nargout, nargin] = argn() ; + + if (nargin ~= 2) + error('autoreg_matrix: invalid input') ; + end + + if (~ (isvector (y))) + error ("autoreg_matrix: Y must be a vector"); + end + + T = length (y); + y = matrix(y, T, 1); + X = ones (T, k+1); + for j = 1 : k; + X(:, j+1) = [(zeros (j, 1)); y(1:T-j)]; + end + endfunction |