MathGroup Archive 2000

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

Search the Archive

Re: Building a Table with initially unknown length?


Hi,

NestWhile[] ?

"NestWhile[f, expr, test] starts with expr, then repeatedly applies f
until \
applying test to the result no longer yields True. NestWhile[f, expr,
test, \
m] supplies the most recent m results as arguments for test at each
step. \
NestWhile[f, expr, test, All] supplies all results so far as arguments
for \
test at each step. NestWhile[f, expr, test, m, max] applies f at most
max \
times. NestWhile[f, expr, test, m, max, n] applies f an extra n times. \
NestWhile[f, expr, test, m, max, -n] returns the result found when f had
been \
applied n fewer times."

Regards
  Jens

AES wrote:
> 
> Is there a clean and transparent way to build a Table which grows in
> length either to some initially specified maximum length, or until a
> test is met?
> 
> One way to do this is obviously to use a While[ ] loop, adding an
> element to the table each time around the loop -- but I've been led to
> believe that Append'ing an elements to a list is a slower process.
> 
> A related question would be:  Is it legal to redefine the upper limit of
> the iterator in a Do[ ]  or Table[ ] operation?  For example would
> something like
> 
>     kMax=100;
>     Do[ {k, f1=f[k]; If[ f[1<0, kMax=k+1]; f1}, {k,1,kMax}];
> 
> build a Table of k and f[k] with up to 100 elements or until  f[k] went
> negative, whichever came first.  (Trial and error says no.)


  • Prev by Date: Re: Detecting and handling error messages?
  • Next by Date: Re: Pattern Matching
  • Previous by thread: RE: Building a Table with initially unknown length?
  • Next by thread: Drawing polytopes