MathGroup Archive 2007

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

Search the Archive

Re: Iterating List

  • To: mathgroup at smc.vnet.net
  • Subject: [mg77046] Re: Iterating List
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Fri, 1 Jun 2007 02:48:28 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, UK
  • References: <f3ltcf$5df$1@smc.vnet.net>

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[1]:=
> 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[1]:= 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[1]= {0.607102, 1.13938, 1.64271, 2.15069, 2.69881}

Regards,
Jean-Marc


  • Prev by Date: Re: Recursive FindRoot with initial values as a list
  • Next by Date: Re: real world solutions for a fractional permutation
  • Previous by thread: Re: [V6.0] Possible bug found in Symbolize (Notation Palette)
  • Next by thread: Re: Iterating List