commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Greg J. McKnight" <gjmckni...@schlagundrahm.ch>
Subject [MATH] Why does PolynomialSplineFunction calculate value at (v - knots[i])
Date Fri, 24 Sep 2010 13:48:56 GMT
My question is regarding the class PolynomialSplineFunction in commons-math.

Can someone please explain to me the logic behind the following code:

public double value(double v) throws ArgumentOutsideDomainException {
...
return polynomials[i].value(v - knots[i]);

Why does the function not just evaluate at the given value e.g:

return polynomials[i].value(v);

I have compiled a test that I think should pass, but the second assertion fails, because of
the above mentioned behaviour:

The test simulates what I would do to create a (trivial) spline from 3 knot points, each function
is linear.

The knot points are (0, 0), (1, 1), (2, 2).

PolynomialFunction f1 = new PolynomialFunction(new double[] { 0d, 1d });
PolynomialFunction f2 = new PolynomialFunction(new double[] { 0d, 1d });
double[] knots = new double[] { 0d, 1d, 2d };
PolynomialFunction[] functions = { f1, f2 };
PolynomialSplineFunction spline = new PolynomialSplineFunction(knots, functions);
double a = spline.value(0d);
assertTrue(a == 0d);
double b = spline.value(1d);
FAILS--> assertTrue(b == 1d);


I think I am missing something about how I should be using the PolynomialSplineFunction.

Any ideas?

Greg

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message