MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: ListInterpolate and missing values

On Feb 9, 2:35 am, Mark Coleman <markspcole... at> wrote:
> Hi,
> I'm looking for a way to linearly interpolate missing values in a
> large list of numbers such that the interpolated values reflect the
> size of the "gap" between non-missing values. For instance, say I have
> the following list:
> x={1,2,10,,12,2,6,6,,,12,22}
> The list x has two gaps. A gap of size "1" at x[4], and a gap a size
> "2" at x[10]-x[11]. I'm looking for a linear interpolation method such
> that
> x[4] = 11,
> x[10]=8, x[11]=10
> That is, each of the interpolated values is a constant increment
> between the two surrouding non-missing values. My actually problem has
> millions of such lists, where gaps are dispersed randomly (In thinking
> about his more, missing endpoints could also be interpolated by
> "extending" the line between the two succeeeding or preceeding
> points).
> I'm wondering if ListInterpolate can handle this sort of problem
> directly? If not, any help would be much appreciated.
> Cheers,
> Mark

x = {1,2,10,,12,2,6,6,,,12,22};
p = Position[x, Null]
x[[Flatten@p]] = Interpolation[Delete[
   Transpose@{Range@Length@x,x}, p], InterpolationOrder->1] @@@ p


  • Prev by Date: Re: plotting
  • Next by Date: Re: plotting
  • Previous by thread: Re: How to select only points which are inside a domain
  • Next by thread: plotting