Re: very basic RecurrenceTable puzzle
- To: mathgroup at smc.vnet.net
- Subject: [mg130714] Re: very basic RecurrenceTable puzzle
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Mon, 6 May 2013 02:25:33 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20130504071941.9444A6A2F@smc.vnet.net>
I think of If as primarily a control construct rather than a numerical
function. I recommend that you use Piecewise for numerical functions.
RecurrenceTable[{st[t] == If[t < 2, st[t - 1], 1], st[-1] == 0}, st, {t,
-1,
5}]
{0, st[-1], st[0], 1, 1, 1, 1}
RecurrenceTable[{st[t] == Piecewise[{{st[t - 1], t < 2}}, 1],
st[-1] == 0}, st, {t, -1, 5}]
{0, 0, 0, 1, 1, 1, 1}
Attributes /@ {If, Piecewise}
{{HoldRest, Protected}, {HoldAll, Protected, ReadProtected}}
Note that If has attribute HoldRest rather than the HoldAll for Piecewise.
Bob Hanlon
On Sat, May 4, 2013 at 3:19 AM, Alan <alan.isaac at gmail.com> wrote:
> RecurrenceTable[{st[t] == If[t < 2, st[t - 1], 1], st[-1] == 0}, st, {t,
> -1, 5}]
>
> produces
>
> {0, st[-1], st[0], 1, 1, 1, 1}
>
> I'm not seeing why the output contains st[-1] and st[0] instead of 0s.
>
> Note that
> RecurrenceTable[{st[t] == st[t - 1], st[-1] == 0}, st, {t, -1, 5}]
> produces a list of zeros (i.e., no surprises).
>
> Thanks,
> Alan Isaac
>
>
- References:
- very basic RecurrenceTable puzzle
- From: Alan <alan.isaac@gmail.com>
- very basic RecurrenceTable puzzle