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):
0
2 "V" "RTot"
"1" 12 32.436
"2" 13 43.077
"3" 14 50.119
"4" 15 53.031
"5" 16 53.723
"6" 17 55.135
"7" 18 57.107
"8" 19 60.071
"9" 20 63.990
"10" 21 69.242
"11" 22 75.762
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#))