       Re: A basic question about RecurrenceTable - warning messages

• To: mathgroup at smc.vnet.net
• Subject: [mg122290] Re: A basic question about RecurrenceTable - warning messages
• From: Dana DeLouis <dana01 at me.com>
• Date: Sun, 23 Oct 2011 06:26:11 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com

```Hi.  I see you found a solution.

f[x_,a_]:=-(x-a)^3+(x-a)

soltest[a_?NumericQ,b_?NumericQ]:=x/.FindRoot[f[x,a],{x,b}]

eqns =
{a[n+1]==soltest[n/10,a[n]],
a==-1};

RecurrenceTable[eqns, a, {n,10}]
{-1,-1.,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1}

I may be wrong, but I noticed you have two -1's in the beginning.
In the Recurrence table, n goes from 1 to 10.
However, there is no a[n-1] to refer to your initial a = -1.
Again, I may be wrong, but I -think- it should be  a== -1.

If we did that, then...

eqns =
{a[n+1]==soltest[n/10,a[n]],
a==-1};

RecurrenceTable[eqns,a,{n,10}]
{-1,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1}

If we take your initial equation, and substitute z for (x-a), then we get:

-(x-a)^3+(x-a)    //.(x-a)->z
z-z^3

We Factor to get the 3 solution for the zero function:

Factor[%]
-(-1+z) z (1+z)

I believe you are using FindRoot to solve for the 3rd equation (1+z).
If we substitute back in:

(1+z)/.z -> x-a
1-a+x

And solve for x.  Basically we get that x is a - 1.

Solve[%==0,x]
{{x-> a - 1}}

So, at 0, we have -1, and then as your numbers increase linearly...

Range[0,9]/10.   - 1

{-1.,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1}

Again, I may be wrong.  :>(

= = = = = = = = =
Dana DeLouis
\$Version
"8.0 for Mac OS X x86 (64-bit) (February 23, 2011)"

- To understand recurrence, one must first understand recurrence.
= = = = = = =

On Oct 21, 7:30 am, victorphy <vba... at gmail.com> wrote:
> Hello,
>
> I have a small and basic question about RecurrenceTable.
>
> I would like to solve f(x,a)==0 where x is the unknown and a is a
> parameter. As f has several zeros I want to follow one zero when
> varying a.
>
> Thus I write something like that :
>
> f[x_,a_] :=  -(x - a)^3 + (x - a)
>
> soltest[a_, b_] :=  x /. FindRoot[f[x, a], {x, b}]
>
> RecurrenceTable[{a[n + 1] == soltest[n/10, a[n]], a == -1}, a, {n,
> 10}]
>
> I get the correct output but a lot of warning messages :
>
> FindRoot::srect: "Value a[n] in search specification {x,a[n]} is not a
> number or array of numbers
> ReplaceAll::reps: "{FindRoot[f[x,n/10],{x,a[n]}]} is neither a list of
> replacement rules nor a valid dispatch table, and so cannot be used
> for replacing
>
> Is there something that I am doing wrong ? Or is it just normal ?
>