       Re: Iterating List

• To: mathgroup at smc.vnet.net
• Subject: [mg77096] Re: Iterating List
• From: "R.G" <gobiithasan at yahoo.com.my>
• Date: Sun, 3 Jun 2007 06:13:44 -0400 (EDT)
• References: <f3ltcf\$5df\$1@smc.vnet.net><f3og49\$p9d\$1@smc.vnet.net>

```On Jun 1, 2:59 pm, Jean-Marc Gulliet <jeanmarc.gull... at gmail.com>
wrote:
> Gobiithasan wrote:
> > Hi, it would be a great help if Mathsgroup members can
> > show me how to code the following problem in
> > mathematica:
>
> > Say I have a function defined as:
> > f[a_, b_] = Integrate[Sin[x] + 3, {x, a, b}]
>
> > I can find b with given constant=2 and initial
> > value=0:
> > In:=
> > Initialvalue = 0;
> > s1 = FindRoot[f[0, unknown] == 2, {unknown,
> > Initialvalue}];
> > x1 = Part[s1, 1, 2]
>
> > Now, using the x1 value obtained from FindRoot, I can
> > find x2:
> > s2 = FindRoot[f[x1, unknown] == 2, {unknown,
> > Initialvalue}];
> > x2 = Part[s2, 1, 2]
>
> > How can i do it for n times (to get xn in a list form)
> > with given initial value as:
> > initialvalue= {initialvalue1,initialvalue2,
> > ....,initialvalue3}
>
> > whereby each xi will get initialvalue[[i]].
>
> > Thanking you in advance
>
> > ~gobiithasan
>
> One possible way of doing what you are looking for is the use a
> functional construct such as NestList and a pure function (that why you
> can see #1 and &). For instance,
>
> In:= f[a_, b_] = Integrate[Sin[x] + 3, {x, a, b}];
>    With[{Initialvalue = 0, n = 5},
>      Rest[NestList[FindRoot[f[#1, unknown] == 2,
>                {unknown, Initialvalue}][[1, 2]] & , 0, n]]]
>
> Out= {0.607102, 1.13938, 1.64271, 2.15069, 2.69881}
>
> Regards,
> Jean-Marc

Hi Jean-Marc,