Re: Recursive FindRoot with initial values as a list
- To: mathgroup at smc.vnet.net
- Subject: [mg77043] Re: [mg77023] Recursive FindRoot with initial values as a list
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Fri, 1 Jun 2007 02:46:55 -0400 (EDT)
- Reply-to: hanlonr at cox.net
Since f can be evaluated symbolically, use Set ( = ) rather than SetDelayed ( := ). f[a_, b_] = Integrate[Sin[t] + 3, {t, a, b}]; n = 5; x = NestList[unknown /. FindRoot[f[#, unknown] == 2, {unknown, #}] &, 0, n] {0,0.607102,1.13938,1.64271,2.15069,2.69881} Bob Hanlon ---- "R.G" <gobiithasan at yahoo.com.my> wrote: > Greetings... > Say I have a function defined as: > f[a_, b_]:= Integrate[Sin[x] + 3, {x, a, b}] > > I can find b with given f[a,b]=2 and initial value=0: > In[1]:= Initialvalue = 0; > s1 = FindRoot[f[0, unknown] == 2, {unknown,Initialvalue}]; > x1 = s1[[ 1, 2]] > > Now, using the x1 value obtained from FindRoot, I can find x2: > s2 = FindRoot[f[x1, unknown] == 2, {unknown,Initialvalue}]; > x2 = s2[[ 1, 2]] > > If I have initialvalue in a list form: > InitialValues={initialvalue1,initialvalue2,...,initialvalueN} > > in which each si should get InitialValues[[i]], in general form: > > \!\(s\_i = > FindRoot[{f[x\_\(i - 1\), unknown] \[Equal] 2}, {unknown, > InitialValues[\([i]\)]}]\) > > where > > \!\(x\_i = s\_i[\([1, 2]\)]\) > > How do I code it in Mathematica please? Thanking in advance... > > ~R.G > > > Send instant messages to your online friends http://uk.messenger.yahoo.com > >