MathGroup Archive 2004

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

Search the Archive

Is a For loop always a no-no?


I realize that many times some form of Mathematica built in array function will
do the needed job.  Here I have a matrix containing individual data
traces in rows y[[i]]. I want to make matrix containing the corresponding
derivative signals in rows yd[[i]].  I get this done using the following
For loop. Matrix yd has been initialized (it wouldn't work with out it).

For[i = 1, i < n, i++, yd[[i]] = Drop[RotateLeft[y[[i]]] - y[[i]], -1]];

I tried the obvious (to me):
yd = Drop[RotateLeft[y] -y, -1];

But I get garbage.  It seems the whole matrix has been flattened to a
single list and the whole list is rotated --instead of doing it row
by row as I need.

Wizzards all: is there some slick way to do this without the For loop?
If so, it's probably faster and sure would look better in the code.
Suggestions appreciated as usual.

Rob


  • Prev by Date: Re: subscripted function variables
  • Next by Date: Re: subscripted function variables
  • Previous by thread: Re: subscripted function variables
  • Next by thread: Re: Is a For loop always a no-no?