EVALUATE# returns a TeLiTab containing a subset (derived) of two Telitab sets normalised on the axis distribution of first Telitab
EVALUATE#(Mode%, Telitab1$, Telitab2$, InpVar1$[:Label1$], ..., InpVarn$[:Labeln$])
Arguments
- Mode% = 1 -> discrete interpolation
- Mode% = 2 -> linear interpolation
- Mode% = 3 -> double quadratic interpolation
- Mode% = 4 -> spline interpolation
- Mode% = 5 -> least square approximation
Example 1
The expression
EVALUATE#(3, TEXTITEM$(1), TEXTITEM$(2), "V", "P-_P":"DeltaP")
containining the following data in its data slot:
returns:
Example 2
Let Telitab1$ contain the dataset:
and Telitab2$ contain the dataset:
RTot in kN, V in knots.
We can compare these two speed/resistance curves on the basis of speed in m/s as follows:
EVALUATE#(3, Telitab1$, Telitab2$, "V*0.51444":"Vs", "RTot/_RTot":"ResRatio", "RTot*V*0.51444":"PE1", "_RTot*V*0.51444":"PE2")
returns (values rounded):
Example 3
Create a dataset on an equidistant axis "V" on the basis of an axis definition in Teltab1$ and a non-equidistant set V-RTot in Telitab2$.
Let Telitab1$ contain:
Let Telitab2$ contain:
The expression:
EVALUATE#(3, Telitab1$, Telitab2$, "V", "RTot")
returns (values rounded):
Example 4
If Telitab1$="NullString" (and if Telitab2$="NullString" as in this example), you can pass table information in the firstInpVar$:Label$ combination, e.g.:
EVALUATE#(3,"NullString", "NullString", "2(1)6":"X", "X^2":"Y")
returns:
This construction allows you to provide the equidistant range of a table to be normalised as in example 5.
Example 5
If Telitab1$="NullString" and if Telitab2$ contains a table to be normalised:
you can pass table information in the first InpVar$:Label$ combination, e.g.:
EVALUATE#(3, "NullString", Telitab2$, "12(1)22":"V", "RTot")
returns (values rounded):
Example 6
If an argument in the EVALUATE# function is between (), its value is used in the evaluation but not included in its resultingTeLiTab set.
In the example below, EVALUATE# is used to generate a table containing R, v1, v2, v3, v4, DIAM en MCAM based on GEOTABLE$ and an additional operations on content in GEOTABLE$ using the DQUAD function and the parameters DIAM, MCAM and CMAXTDIST#. However, in the result we do not want to have the values of CMAXTDIST#.
We can achieve this without, for instance, having to filter out this data using the UNFOLD# function by writing the expression as follows:
EVALUATE#(2, GEOMTABLE$, "Nullstring", "R", "v1":"v1" ,"v2":"v2" ,"v3":"v3", "DQUAD(CMAXTDIST#,2,'RADIUS','Yradius',R/(0.5*DIAM),1)":"v4", DIAM, MCAM, (CMAXTDIST#))