Re: How to Calculatelength of an Spline curve between two points?
- To: mathgroup at smc.vnet.net
- Subject: [mg104891] Re: How to Calculatelength of an Spline curve between two points?
- From: Mark Fisher <particlefilter at gmail.com>
- Date: Thu, 12 Nov 2009 06:07:57 -0500 (EST)
- References: <hdbhcp$jj4$1@smc.vnet.net>
On Nov 10, 6:04 am, alfaeco <alfa... at gmail.com> wrote:
> I need some help.
>
> 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'm assuming you want to compute the distance along the spline. In
principle it should be easy, but because of a bug (that produces a
kernel crash) it's a bit harder.
Here's the setup:
data = Table[{i, RandomReal[{-10, 10}]}, {i, 5}];
ifun = Interpolation[data, Method -> "Spline"];
Now let's simply use the formula for arc length to compute the
distance from x = 1.5 to x = 3.1:
NIntegrate[Sqrt[1 + ifun'[x]^2], {x, 1.5, 3.1}]
But on my system (Windows XP, Mathematica Version 7.0.1) this crashes the
kernel. So does FunctionInterpolation[ifun'[x], {x, 1, 5}], so that's
out too.
OK, we can do this "by hand":
difun = Interpolation[Table[{x, ifun'[x]}, {x, 1, 5, .01}]]
Then use the arc length formula:
NIntegrate[Sqrt[1 + difun[x]^2], {x, 1.5, 3.1}]
On the other hand, if this is not what you want, then never mind.
--Mark
- Follow-Ups:
- Re: Re: How to Calculatelength of an Spline curve between
- From: DrMajorBob <btreat1@austin.rr.com>
- Re: Re: How to Calculatelength of an Spline curve between