3.5.8.20 TableTable-func
Description
This function searches a numeric value d in dataset vd and returns the value in vref whose index number is the same as d in vd. Interpolation can be employed during this process. This function is usually used to find out the fitted X or Y values after performing the linear or nonlinear fitting, depending on the order of the dataset arguments (See the two examples below).
Syntax
//If vref contains numeric values,
double Table(vector vd, vector vref, double d[, int option])
//If vref contains strings,
string Table(vector vd, vector<string> vref, double d[, int option])
Parameters
vd
- is the dataset in which value d is looked up. The values in vd must be placed in ascending order. Otherwise, the function might not return the correct value.
vref
- is the reference vector whose nth value will be return. n is the index number of d within vd.
d
- is the numeric value to find in vd.
option
- [optional] integer that specifies how to find out value d. The default value -1 means the function does linear interpolation on vd vs vref and returns the interpolated value. When option = 0, the function searches in vd and finds a value that is equal to d or closest from left. If return value is string, 0 will be used as default since linear interpolation is meaningless to sting. When option = 1, the function finds a value that is equal to d or closest from right. When option = 2, the function finds a value that is equal to d or closest from both sides.
Return
Returns the value in vref whose index number is the same as d in vd.
Example
Example1
The following script returns new Y values from a fit curve:
linearfit_Ynew = Table(linearfit_a, linearfit_data1b, linearfit_b)
where linearfit_a is the X fit dataset, linearfit_data1b is the Y fit dataset, and linearfit_b holds the X values for predicting Y values.
Example2
The following script returns new X values from a fit curve:
linearfit_Xnew = Table(linearfit_data1b, linearfit_a, linearfit_b)
where linearfit_data1b is the Y fit dataset, linearfit_a is the X fit dataset, and linearfit_b holds the Y values for predicting X values.
Example3
The following example shows you how the return value is determined by parameter option
col(a) = data(1,20);
col(b) = data(2,20);
a1 = table(col(a),col(b),4.3,1); //search 4.3 from right
a1 = ; //should return a1=6
a2 = table(col(a),col(b),4.3,0); //search 4.3 from left
a2 = ; //should return a2=5
a3 = table(col(a),col(b),4.3,2); //search 4.3 from both sides
a3 = ; //should return a3=5
a4 = table(col(a),col(b),4.3,-1); //perform linear interpolation on column A and B
a4 = ; //should return a4=5.3
|