View Javadoc

1   package org.catacomb.numeric.data;
2   
3   import java.util.ArrayList;
4   
5   
6   
7   
8   public class VectorSet {
9   
10      String[] names;
11      int nvec;
12      int npoint;
13  
14      ArrayList<FloatRow> rows;
15      double[][] adat;
16  
17      public VectorSet() {
18          rows = new ArrayList<FloatRow>();
19      }
20  
21  
22  
23      public void setNames(String s) {
24          names = s.split("[, \n\r\t]+");
25          nvec = names.length;
26      }
27  
28  
29      public void addRow(FloatRow fr) {
30          rows.add(fr);
31      }
32  
33  
34      private void digestRows() {
35          npoint = rows.size();
36          adat = new double[nvec][npoint];
37          int ir = 0;
38  
39          for (FloatRow fr : rows) {
40              double[] rd = fr.getValue();
41              for (int k = 0; k < nvec && k < rd.length; k++) {
42                  adat[k][ir] = rd[k];
43              }
44              ir += 1;
45          }
46      }
47  
48  
49  
50      public FloatVector[] getVectors() {
51          digestRows();
52          FloatVector[] fva = new FloatVector[nvec];
53          for (int i = 0; i < nvec; i++) {
54              fva[i] = new FloatVector(names[i], adat[i]);
55          }
56          return fva;
57      }
58  
59  
60  }