/** {@inheritDoc} */ public double value(double x) { return f.value(fixed, x); } };
/** {@inheritDoc} */ public double value(double x) { return f.value(x, fixed); } };
/** {@inheritDoc} */ public double value(double x) { return combiner.value(f.value(x), g.value(x)); } };
/** * @param which First index in {@link #partialDerivatives}. * @param x x-coordinate. * @param y y-coordinate. * @return the value at point (x, y) of the selected partial derivative. * @throws OutOfRangeException if {@code x} (resp. {@code y}) is outside * the range defined by the boundary values of {@code xval} (resp. * {@code yval}). * @throws NullPointerException if the internal data were not initialized * (cf. {@link #BicubicSplineInterpolatingFunction(double[],double[],double[][], * double[][],double[][],double[][],boolean) constructor}). */ private double partialDerivative(int which, double x, double y) throws OutOfRangeException { final int i = searchIndex(x, xval); final int j = searchIndex(y, yval); final double xN = (x - xval[i]) / (xval[i + 1] - xval[i]); final double yN = (y - yval[j]) / (yval[j + 1] - yval[j]); return partialDerivatives[which][i][j].value(xN, yN); }
/** {@inheritDoc} */ public double value(double x) { return f.value(x, fixed); } };
/** {@inheritDoc} */ public double value(double x) { return f.value(fixed, x); } };
/** {@inheritDoc} */ public double value(double x) { return f.value(x, fixed); } };
/** {@inheritDoc} */ public double value(double x) { return f.value(fixed, x); } };
/** {@inheritDoc} */ public double value(double x) { return combiner.value(f.value(x), g.value(x)); } };
/** {@inheritDoc} */ public double value(double x) { return combiner.value(f.value(x), g.value(x)); } };
/** * @param which First index in {@link #partialDerivatives}. * @param x x-coordinate. * @param y y-coordinate. * @return the value at point (x, y) of the selected partial derivative. * @throws OutOfRangeException if {@code x} (resp. {@code y}) is outside * the range defined by the boundary values of {@code xval} (resp. * {@code yval}). * @throws NullPointerException if the internal data were not initialized * (cf. {@link #BicubicSplineInterpolatingFunction(double[],double[],double[][], * double[][],double[][],double[][],boolean) constructor}). */ private double partialDerivative(int which, double x, double y) throws OutOfRangeException { final int i = searchIndex(x, xval); final int j = searchIndex(y, yval); final double xN = (x - xval[i]) / (xval[i + 1] - xval[i]); final double yN = (y - yval[j]) / (yval[j + 1] - yval[j]); return partialDerivatives[which][i][j].value(xN, yN); }
/** * @param which First index in {@link #partialDerivatives}. * @param x x-coordinate. * @param y y-coordinate. * @return the value at point (x, y) of the selected partial derivative. * @throws OutOfRangeException if {@code x} (resp. {@code y}) is outside * the range defined by the boundary values of {@code xval} (resp. * {@code yval}). * @throws NullPointerException if the internal data were not initialized * (cf. {@link #BicubicSplineInterpolatingFunction(double[],double[],double[][], * double[][],double[][],double[][],boolean) constructor}). */ private double partialDerivative(int which, double x, double y) throws OutOfRangeException { final int i = searchIndex(x, xval); final int j = searchIndex(y, yval); final double xN = (x - xval[i]) / (xval[i + 1] - xval[i]); final double yN = (y - yval[j]) / (yval[j + 1] - yval[j]); return partialDerivatives[which][i][j].value(xN, yN); }
x = ((Number) second).doubleValue(); y = ((Number) third).doubleValue(); return bivariateFunction.value(x, y); } else { throw new IOException("BivariateFunction requires two numberic parameters."); List<Number> out = new ArrayList(); for (double[] row : data) { out.add(bivariateFunction.value(row[0], row[1]));