net.simplace.client.simulation.lap.util.FSTFunctions

Defines some helper functions similar to some FST-Functions (FortranSimulationTranslator) Defines some of the FST-Functions (sometimes with different signatures than the original FST ones). Additionally some mathematical functions for linear regression and gauss integration are implemented.


public class FSTFunctions {
// Public Constructors
public FSTFunctions();


// Class Methods
public static void calulateLinearRegression(int ind, double[] x, double[] y,
FWSimVariable aRegressionM, FWSimVariable aRegressionB);

Calculates linear regression
public static double AFGEN(Double[] sample, double s);

Computes a linear interpolation for x. The method returns the leftmost or rightmost value if x is out of range. Takes the parameters as a double array, converts them to a TreeMap and calls AFGEN for TreeMaps
returns the interpolated value
public static double AFGEN(FWSimVariable sample, double s);

Computes a linear interpolation for x. The method returns the leftmost or rightmost value if x is out of range. Takes the parameters as a FWSimVariable, converts them to a TreeMap and calls AFGEN for TreeMaps
returns the interpolated value
public static double AFGEN(TreeMap sample, double x);

Computes a linear interpolation for x. The method returns the leftmost or rightmost value if x is out of range. Takes the data as a TreeMap and computes the interpolated value.
returns the interpolated value
public static double INSW(double testvalue, double X2, double X3);

Returns one value, if the test value is negative and another value, if the test value ist nonnegative
returns resulting value
public static double INSW(boolean testvalue, double X2, double X3);

Returns one value, if the test value is false and another value, if the test value ist nonnegative
returns resulting value
public static int REAAND(double x1, double x2);

Tests whether two values are positive
returns 1 if both are positive, 0 otherwise
public static double LIMIT(double XL, double XH, double X);

Limits a value to a lower and upper bound
returns the value or it's lower/upper bound if it exceeds the bounds
public static double NOTNUL(double x);

Returns 1 instead of 0 if the value is 0. Used to avoid division by 0
returns value or 1
public static Number MAX(LinkedList aLinkedList, int i);

Calculates the maximum of a list of values
returns the maximum
public static Number MIN(LinkedList aLinkedList, int i);

Calculates the minimum of a list of values
returns the minimum
public static Number AVG(LinkedList aLinkedList, int i);

Calculates the average of a list of values
returns the average
public static Number SUM(LinkedList aLinkedList, int i);

Calculates the sum of a list of values
returns the sum
public static double GaussIntegrationWeight(int n, int i);

Returns the weights for Gauß-Legendre-Integration
returns weight
public static double GaussIntegrationX(int n, int i);

Returns the locations (x-values) for Gauß-Legendre-Integration
returns x-value
public static double REANOR(double a, double b);

Returns 1 if two values are both zero or negative, returns 0 otherwise
returns 1 or 0
public static void INTGRL(FWSimVariable state, FWSimVariable rate);

Integrates a state by adding a rate
public static void INTGRL(FWSimVariable state, FWSimVariable rate, double
delta);

Integrates a state by adding a rate
public static void INTGRL(FWSimVariable state, double rate);

Integrates a state by adding a rate
public static void INTGRL(FWSimVariable state, double rate, double delta);

Integrates a state by adding a rate
public static void INTGRLA(FWSimVariable state, FWSimVariable rate);

Integrates a state array by adding a rate array
public static void INTGRLA(FWSimVariable state, FWSimVariable rate, double
delta);

Integrates a state array by adding a rate array
public static void INTGRLA(FWSimVariable state, double[] rate);

Integrates a state array by adding a rate array
public static void INTGRLA(FWSimVariable state, double[] rate, double delta);

Integrates a state array by adding a rate array


}