MathGroup Archive 2007

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

Search the Archive

Re: Loop, deleting intermediary results, lists

  • To: mathgroup at smc.vnet.net
  • Subject: [mg78767] Re: Loop, deleting intermediary results, lists
  • From: Peter Pein <petsie at dordos.net>
  • Date: Mon, 9 Jul 2007 01:33:44 -0400 (EDT)
  • References: <f6qed5$a43$1@smc.vnet.net>

kristoph schrieb:
> Dear all,
> 
> Assume we have f[x_]:=f[x]=x^2 within some For[x=1,x<=3,x++...] loop.
> At each iteration we assign a value to f[x] which results in a total
> of three values.
> 
> I would like to delete at each iteration x the previous result of f.
> Thus, we would only have a result of f[3] but not for the f[1] and
> f[2].
> 
> This is a very simplified example but I think it describes my problem
> well enough. The problem I have is that I generate via a loop a
> massive amount of data in form of a list which I combine in one big
> list but I don't need the intermediary results. At the moment
> Mathematica 5.2 is always crashing and I think it has to do with these
> lists.
> 
> I didn't us f[x-1]={} within the loop so far but I thought there might
> be a more elegant way to handle the problem.
> 
> Thanks in advance,
> Kristoph
> 
> 

Hi Kristoph,

if you need only f[x-1 to calculate f[x], I do not understand, why you
do not write
In[30]:=
fxminus1=0;
For[x=1,x<=3,x++,
    fx=fxminus1+2x-1;
    Print[fx];
    fxminus1=fx];
Information@fxminus1

which gives

1
4
9

Global`fxminus1
fxminus1 = 9

or even simpler

Fold[(Print[#]; #) &[#1 + 2#2 - 1] &, 0, Range[3]]

and no storage is in use for obsolete values.

But if you insist on doing it your way, try If[x>1,f[x-1]=.] at the end
of your loop body or, if you calculate some recursive f, define f[0] in
the start of your loop

For[f[0]=0;x=1,x<=3,x++,f[x_]:=f[x]=f[x-1]+2x-1;Print[f[x]];f[x-1]=.]
?f

1
4
9

Global`f
f[3] := 9
f[x_] := f[x] = x^2


No f[1|2] any more. :-)

Peter


  • Prev by Date: Re: Working with factors of triangular numbers.
  • Next by Date: RE: Re: Mathematica 6.0.1 Now Available
  • Previous by thread: Loop, deleting intermediary results, lists
  • Next by thread: Re: Loop, deleting intermediary results, lists