MathGroup Archive 2008

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

Search the Archive

Problem with BinCounts


I'm trying to do an autocorrelation analysis on an artificially generated
neuronal spike train, but BinCounts is behaving strangely.

I first generate a list of spike times for an oscillator with a mean
frequency of 1 Hz, plus some gaussian jitter:

st = NestList[(1 + RandomReal[NormalDistribution[0, 0.1]] + # &), 0,1000];

Then I do the autocorrelation like this:

BinCounts[st, {# - 2.00, # + 2.00, 0.01}] & /@ st;

ac = Last[Accumulate[%]]/Length[%];

The output of BinCounts ought to be a list of length st, with each list
element having a fixed length of 400.  And yet I get error messages like so:

Thread::tdlen: Objects of unequal length in
cannot be combined. >>

And sure enough, if I run Dimensions/@ the output of the BinCounts line, I
get one or two elements with a length of 399.  This happens completely at
random, and I don't understand why.  It seems to me that BinCounts ought to
give me a fixed output length, regardless of what the results of the
operation actually were.  These shorter elements do not occur near the
beginning or end, either, so it's not an edge effect.  Furthermore, the
values of st corresponding to the shorter elements of ac don't have any
unusual properties like being whole numbers or anything.  I will add that
sometimes the code works correctly, and it's not obvious why.

Has anyone else encountered such behavior before?  What did you do about it?

Using M6.0.2.1 (64 bit) on a MacPro 3.06 GhZ Core Two Duo w/ 4 GB RAM.


Mark A. Teagarden, Ph.D.
Institute for Neurosciences
University of Texas - San Antonio
San Antonio, TX 78249
Office: BSE 2.306
Phone: 210.458.4746

  • Prev by Date: Re: Method Option
  • Next by Date: Re: evaluations in Plot in Manipulate?
  • Previous by thread: Re: Warning for use of 3D Graphics manipulation with notebook
  • Next by thread: Re: Problem with BinCounts