I'm trying to use FindRoot on a SplineFunction and getting some unexpected behavior (or at least behavior that I need to work around). First I fit a spline to a list of 4 points, the result being a SplineFunction that can be evaluated over the range [0,3].
Now I want to use FindRoot to find a value of t from [0,3] such that splineF[t] produces a list whose first element is x. This sounds simple, but is stopped by the behavior of FindRoot on the SplineFunction. It seems that FindRoot evaluates the SplineFunction symbolically before searching for values, which produces an incorrect result.
It's a little complicated to explain but I've attached a Mathematica 6 notebook that illustrates clearly. I'm wondering if there's a way to make FindRoot work nicely on a SplineFunction.
Attachment: spline-findroot.nb, URL: ,