MathGroup Archive 2006

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

Search the Archive

Re: Suggestions for translating a Do[] loop ...


Hi David;
Note that if you reverse your lists, the loop runs forward.
With list reversed:
FoldList[(#2[[1]](#2[[2]]+#1))/(1+#2[[2]]  #1)&,0,Drop[Transpose[{a,b}],1]]

Daniel

David Annetts wrote:
> Hi,
> 
> Given that a, b & r are lists of the same length, can anyone suggest a
> translation of the following Do[] loop to something functional?  It looks
> like an ideal application for Fold, but for me, the loop going backwards is
> really obscuring things.
> 
> The loop is 
> 
> 	Do[
>     		r[[j]] = a[[j]] * (b[[j]] + r[[j + 1]]) / (1 + b[[j]] * r[[j
> + 1]]),
>     		{j, Length@a - 1, 1, -1}
>     		];
> 
> with r[[Length@a]] = 0.
> 
> Many thanks,
> 
> Dave.
> 


  • Prev by Date: Re: Suggestions for translating a Do[] loop ...
  • Next by Date: Re: Inequalities
  • Previous by thread: Re: Suggestions for translating a Do[] loop ...
  • Next by thread: Re: Suggestions for translating a Do[] loop ...