BiasCorrectQ.Utils.Interpolate C# (CSharp) Method

Interpolate() static private method

static private Interpolate ( double x, double x1, double x2, double y1, double y2 ) : double
x double
x1 double
x2 double
y1 double
y2 double
return double
        internal static double Interpolate(double x, double x1, double x2,
            double y1, double y2)
        {
            if ((x2 - x1) == 0)
            {
            return (y1 + y2) / 2;
            }
            return y1 + (x - x1) * (y2 - y1) / (x2 - x1);
        }

Usage Example

Example #1
0
        private static double Interpolate(double value, List <double> valuesList,
                                          List <double> interpList)
        {
            int idx = Utils.ValueIndex(value, valuesList);

            // out of bounds, interpolation unknown
            if (idx < 0)
            {
                return(idx);
            }

            // no interpolation needed, first value in list
            if (idx == 0)
            {
                return(interpList.First());
            }

            double x  = value;
            double x1 = valuesList[idx - 1];
            double x2 = valuesList[idx];

            double y1 = interpList[idx - 1];
            double y2 = interpList[idx];

            return(Utils.Interpolate(x, x1, x2, y1, y2));
        }