2.1.17.2.2.4 Curve_xfromY


Description

Get interpolated/extrapolated X value of Curve at specified Y value.

Syntax

double Curve_xfromY( curvebase * pcrvData, double dY )

Parameters

pcrvData
[input] Pointer to Curve
dY
[input] Value of Y

Return

For given Curve returns interpolated/extrapolated value of X at specified value of Y.

Since the function uses extrapolation/interpolation, the out-of-range error will not occur.

Examples

EX1

// This is a self contained sample program for the function Curve_xfromY, 
// Its sample data is created at the beginning of the program. 
// To run the program, enter the following command in the Script window:
//   Curve_xfromY_ex1
// It returns like the following two lines, one for interpolation, and the 
// other for extrapolation:
//  Find X at y=6.000000 ==> FOUND: x=3.000000
//  Find X at y=20.000000 ==> FOUND: x=10.000000

void Curve_xfromY_ex1()
{
    double dXfromY, dY;
    Worksheet wks;
    wks.Create();
    Dataset myXDs(wks,0);
    Dataset myYDs(wks,1);
    
    //******* Create sample data *****************
    myXDs.SetSize(4);
    myYDs.SetSize(4);
    myXDs[0]=1;    myYDs[0]=2;
    myXDs[1]=2;    myYDs[1]=4;
    myXDs[2]=4;    myYDs[2]=8;
    myXDs[3]=8;    myYDs[3]=16;
    //******** End of Sample Data Creation *******
    
    Curve crvData( myXDs, myYDs );    // Create Curve object
    
    dY=6.0;
    dXfromY = Curve_xfromY(&crvData,dY); // Demonstartion of Curve_xfromY
    printf( "Find X at y=%f ==> FOUND: x=%f\n",dY,dXfromY);

    dY=20.0;
    dXfromY = Curve_xfromY(&crvData,dY); // Demonstartion of Curve_xfromY
    printf( "Find X at y=%f ==> FOUND: x=%f\n",dY,dXfromY);
}

Remark

The function used for fitting function parameter initialization.

See Also

Curve_yfromX

Header to Include

origin.h

Reference