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
>
>