MathGroup Archive 2006

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

Search the Archive

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


On Sep 22, 2006, at 1:05 AM, 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.

r=Reverse[FoldList[#2[[1]] (#2[[2]]+#1)/(1+#2[[2]] #1)&,0,Transpose 
[{Reverse[Most[a]],Reverse[Most[b]]}]]

Regards,

Ssezi


  • Prev by Date: Re: Extracting terms from an equation
  • Next by Date: Re: Suggestions for translating a Do[] loop ...
  • Previous by thread: Suggestions for translating a Do[] loop ...
  • Next by thread: Re: Suggestions for translating a Do[] loop ...