GTable1D : Différence entre versions

De Wiki
Aller à : navigation, rechercher
 
Ligne 26 : Ligne 26 :
 
</syntaxhighlight>
 
</syntaxhighlight>
  
[[File:GTable1d.jpg]]
+
 
 +
[[File:GTable1D.jpg]]
 +
 
  
 
At last, if we want to get the content of this table, we will have to use the <font color=#4169E1>getGVector()</font>  method then <font color=#4169E1>getValue()</font> or <font color=#4169E1>getValueArray()</font> methods. The following example gives us a method to recover a double table:
 
At last, if we want to get the content of this table, we will have to use the <font color=#4169E1>getGVector()</font>  method then <font color=#4169E1>getValue()</font> or <font color=#4169E1>getValueArray()</font> methods. The following example gives us a method to recover a double table:

Version actuelle en date du 5 mai 2017 à 13:43

GENIUS allows to display (and read/write !) one dimension tables (abscissa et ordinate). The idea is to be able to manage one or several tabulated functions yi = f(xi) as, for example Cx et Cz depending on the Angle of Attack …

To do it, we must use GEntryRealVector class (or GEntryIntVector, GEntryDateVector) to store data by columns.

GUnit[] unitAng = {new GMetricUnit("deg"), new GMetricUnit("rad")};
 
double[] incVal  = {Math.toRadians(10.),   Math.toRadians(15.),   Math.toRadians(20.),
		    Math.toRadians(25.),   Math.toRadians(30.),   Math.toRadians(35.),
		    Math.toRadians(40.)};
double[] cxVal   = {0.100, 0.150, 0.200, 0.250, 0.350, 0.450, 0.600};
double[] czVal   = {0.250, 0.300, 0.350, 0.400, 0.500, 0.550, 0.600};
 
incTabIhm = new GEntryRealVector("Angle Of Attack", incVal, unitAng);
incTabIhm.setNameInConfigFile("AOA");
CxTabIhm = new GEntryRealVector("Cx", cxVal);
CzTabIhm = new GEntryRealVector("Cz", czVal);
CzTabIhm.addGInterval(errInterval);

Then we will use GTable1D class to assembly them:

aeroTabIhm=new GTable1D("Cx/Cz = f(Mach)", TableOrientation.VERTICAL,incTabIhm, CxTabIhm, CzTabIhm);
aeroTabIhm.setConstraint(new GConstraint(GConstraint.newline()));


GTable1D.jpg


At last, if we want to get the content of this table, we will have to use the getGVector() method then getValue() or getValueArray() methods. The following example gives us a method to recover a double table:

public double[] getData ( int rank ) {
   double[] tmp = new double[aeroTabIhm.getGVector(rank).size()];
   for (int i = 0; i < tmp.length; i++) {
      tmp[i] = (Double)aeroTabIhm.getGVector(rank).getValue(i);
   }
   return tmp;
}

Note that, it is mandatory to cast the data as, since the V1.2 version, it is possible to get objects as GEntryDateVector in GTable1D, so the getGVector() will return a table of Objects rather than a table of Number as previously.


Return to the introduction ↑ Go to the next page →