package com.imsl.test.example.stat; import com.imsl.stat.*; import java.text.*; /** *

* Performs the stacking or vectorizing operation on a time series.

* * @see Code * @see Output */ public class TimeSeriesOperationsEx4 { public static void main(String args[]) throws ParseException { SimpleDateFormat dateFormat = new SimpleDateFormat("M/d/y"); TimeSeries ts1 = new TimeSeries(); /* Construct the time series*/ ts1.setStartDate(dateFormat.parse("12/12/2010")); ts1.setDateIncrement(3); int n = 10; int nSeries = 3; double y1[] = new double[nSeries * n]; /* Create series values */ for (int i = 0; i < n; i++) { y1[3 * i] = (i + 1.0); y1[3 * i + 1] = 2 * (i + 1.0); y1[3 * i + 2] = 3 * (i + 1.0); } ts1.setSeriesValues(y1, nSeries); TimeSeriesOperations tsOps = new TimeSeriesOperations(); double[][] values1 = ts1.getSeriesValues(); double[] vecy = tsOps.stack(ts1); System.out.println("Date\t\tSeries 1\tSeries 2\tSeries 3 "); for (int i = 0; i < n; i++) { System.out.println(dateFormat.format(ts1.getDates()[i]) + "\t\t" + values1[i][0] + "\t\t" + values1[i][1] + "\t\t" + values1[i][2]); } System.out.println("\nDate\t\tStacked (or vectorized) Series "); for (int j = 0; j < nSeries; j++) { for (int i = 0; i < n; i++) { System.out.println(dateFormat.format(ts1.getDates()[i]) + "\t\t" + vecy[j * n + i]); } } } }