View Javadoc
1   package org.djunits.demo.examples;
2   
3   import org.djunits.unit.AbsoluteTemperatureUnit;
4   import org.djunits.unit.DurationUnit;
5   import org.djunits.unit.TemperatureUnit;
6   import org.djunits.unit.TimeUnit;
7   import org.djunits.value.StorageType;
8   import org.djunits.value.ValueException;
9   import org.djunits.value.vdouble.scalar.Duration;
10  import org.djunits.value.vdouble.vector.DoubleVector;
11  import org.djunits.value.vdouble.vector.DurationVector;
12  
13  /**
14   * <p>
15   * Copyright (c) 2013-2018 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
16   * BSD-style license. See <a href="http://djunits.org/docs/license.html">DJUNITS License</a>.
17   * </p>
18   * $LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $,
19   * initial version Apr 28, 2017 <br>
20   * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a>
21   * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
22   * @author <a href="http://www.transport.citg.tudelft.nl">Wouter Schakel</a>
23   */
24  public final class VectorAndMatrix
25  {
26  
27      /** */
28      private VectorAndMatrix()
29      {
30          //
31      }
32  
33      /**
34       * @param args args
35       * @throws ValueException on error
36       */
37      public static void main(final String[] args) throws ValueException
38      {
39          double[] doubleValues = new double[] { 0.2, 10.0, 5.7, -100.0, 15.0 };
40          DoubleVector.Abs<TimeUnit, DurationUnit> dva =
41                  new DoubleVector.Abs<TimeUnit, DurationUnit>(doubleValues, TimeUnit.EPOCH_MINUTE, StorageType.DENSE);
42          System.out.println(dva);
43  
44          double[] doubleValues2 = new double[] { 10, 20.0, 60, 120.0, 300.0 };
45          DoubleVector.Rel<DurationUnit> dvr =
46                  new DoubleVector.Rel<DurationUnit>(doubleValues2, DurationUnit.SECOND, StorageType.DENSE);
47          System.out.println(dvr);
48  
49          DoubleVector.Abs<TimeUnit, DurationUnit> dva2 = dva.plus(dvr);
50          System.out.println(dva2);
51          DoubleVector.Abs<TimeUnit, DurationUnit> dva3 = dva.minus(dvr);
52          System.out.println(dva3);
53          // XXX DoubleVector.Abs<TimeUnit, DurationUnit> dva4 = dvr.plus(dva);
54          System.out.println();
55  
56          double[] tempValues = new double[] { 0.0, -17.77778, -273.15, 100.0 };
57          DoubleVector.Abs<AbsoluteTemperatureUnit, TemperatureUnit> tva =
58                  new DoubleVector.Abs<AbsoluteTemperatureUnit, TemperatureUnit>(tempValues,
59                          AbsoluteTemperatureUnit.DEGREE_CELSIUS, StorageType.DENSE);
60          System.out.println(tva);
61  
62          double[] tempValues2 = new double[] { 32.0, 32.0, 459.67 + 32, 212.0 - 32.0 };
63          DoubleVector.Rel<TemperatureUnit> tvr =
64                  new DoubleVector.Rel<TemperatureUnit>(tempValues2, TemperatureUnit.DEGREE_FAHRENHEIT, StorageType.DENSE);
65          System.out.println(tvr);
66  
67          DoubleVector.Abs<AbsoluteTemperatureUnit, TemperatureUnit> tva2 = tva.plus(tvr);
68          System.out.println(tva2);
69          DoubleVector.Abs<AbsoluteTemperatureUnit, TemperatureUnit> tva3 = tva.minus(tvr);
70          System.out.println(tva3);
71          // XXX DoubleVector.Abs<TimeUnit, DurationUnit> dva4 = dvr.plus(dva);
72          System.out.println();
73          
74          DurationVector dv = new DurationVector(new double[] {1.0,  2.0,  5.0, 10.0}, DurationUnit.MINUTE, StorageType.DENSE);
75          Duration d = dv.get(2);
76          System.out.println(d);
77      }
78  
79  }