Re: Interpolationversus ListInterpolation
- To: mathgroup at smc.vnet.net
- Subject: [mg107159] Re: Interpolationversus ListInterpolation
- From: "M.Roellig" <markus.roellig at googlemail.com>
- Date: Thu, 4 Feb 2010 06:27:39 -0500 (EST)
- References: <hkblkb$j2t$1@smc.vnet.net>
On 3 Feb., 12:11, Bill Rowe <readn... at sbcglobal.net> wrote: > On 2/2/10 at 3:30 AM, markus.roel... at googlemail.com (M.Roellig) > wrote: > > >can somebody explain to me the difference between ListInterpolation > >and Interpolation? According to the documentation both are doing the > >same, have both the same options. Probably they coexist for > >historical reasons, but I can't figure out why I would need both. > > For ListInterpolation, you supply either a list of function > values or an array of function values. Values of independent > variables are assigned as either the integer value of the > position of the function values you supplied or a linear mapping > of these integer values to a range you specify. In all cases, > ListInterpolation assumes the array of function values you > supply are uniformly sampled. > > For Interpolation, you can supply both the value of the > independent variables and the function values. This permits > interpolation of non-uniformly sampled data, something not > possible with ListInterpolation. Hi Bill, thanks for the answer. This was also my first thought, but it turns out that this is actually not true. There are at least 2 possibilities to include the independent variables in ListInterpolation. See the example: i1 = ListInterpolation[{1, 4, 9, 16, 25, 36}] i2 = ListInterpolation[{1, 4, 9, 16, 25, 36}, {{1, 2, 3, 4, 5, 6}}] i3 = ListInterpolation[{{{1}, 1}, {{2}, 4}, {{3}, 9}, {{4}, 16}, {{5}, 25}, {{6}, 36}}] i1 == i2 == i3 In i2 I explicitly specify the x-grid, and in i3 I include the x value albeit wrapped in {}. All three cases work. Even if it was the case that we could not feed independant variables to ListInterpolation it would rise the question why do we need it anyway? Especially since interpolation can do that too: i4=Interpolation[{1, 4, 9, 16, 25, 36}] i1 == i2 == i3==i4 So, what is the point? Cheers, Markus