Re: How to Calculatelength of an Spline curve between two
- To: mathgroup at smc.vnet.net
- Subject: [mg104840] Re: [mg104819] How to Calculatelength of an Spline curve between two
- From: Mark McClure <mcmcclur at unca.edu>
- Date: Wed, 11 Nov 2009 04:29:12 -0500 (EST)
- References: <200911101104.GAA20038@smc.vnet.net>
On Tue, Nov 10, 2009 at 6:04 AM, alfaeco <alfaeco at gmail.com> wrote:
> Given an Interpolating function with method-> Spline.
> sp = Interpolation[tbl, Method -> "Spline"];
> How can I calculate the distance between two arbitrary points of the
> splines?
I assume you mean length along the curve as measured
by the standard calculus formula:
Integrate[Sqrt[1+f'[x]^2], {x,a,b}]
I actually noticed something that appears to be a
little bug to me in this problem. The following
crashes my kernel, but it should work just fine:
data = Table[Fibonacci[n], {n, 1, 10}];
sp = Interpolation[data, Method -> "Spline"];
NIntegrate[Sqrt[1 + sp'[x]^2], {x, 1, 10}]
Note that it does work just fine, if you remove
the Method -> "Spline" option. Presumably, some
sort of problem arises when NIntegrate attempts
some preprocessing of the integrand involving a
Spline. We can get around this like so:
data = Table[Fibonacci[n], {n, 1, 10}];
sp = Interpolation[data, Method -> "Spline"];
spp[x_?NumericQ] := sp'[x];
NIntegrate[Sqrt[1 + spp[x]^2], {x, 1, 10}]
Mark McClure
- References:
- How to Calculatelength of an Spline curve between two points?
- From: alfaeco <alfaeco@gmail.com>
- How to Calculatelength of an Spline curve between two points?