Re: Nonlinear Discrete
- To: mathgroup at yoda.physics.unc.edu
- Subject: Re: Nonlinear Discrete
- From: scherm at ifm.uni-hannover.de
- Date: Fri, 25 Feb 1994 15:19:20 +0000
Responding to :
>Dear Users
> I am currently engaged in writing a function to deal with
>some discrete nonlinear system, but unfortunately I am a completely novice
>as Mathematica programmer. Can someone out there give some clue how
>to implement a problem such as the following one, please?
> y(t)=a*y(t-1)+b*y(t-2)+c*y(t-1)*y(t-1) -> First how to code?
~~~~~~~~~~~~~~~~~~
Please type the following lines:
First you specify the difference equation like
y[k_]:=0.5*y[k-1]+1*y[k-2]+y[k-1]*y[k-1];
Then you determine the series y(k) with two initial values
y[0]=1;
y[1]=1;
All you have to do now is to 'enjoy' the results:
Print[y[2]," ",y[3]," ",y[4]," ",y[9]];
gives
60
2.5 8.5 79. 5.99223 10
This method is quite simple but
be aware that you defined a recursive difference equation. The MATHEMATICA
Kernel will need a long time to calculate for example y(9).
If you are interested in getting the complete sequence
y(0)..y(9) it will be better to use the following
y[0]=1;
y[1]=1;
For[i=2,i<=9,i++,
y[i]=0.5*y[i-1]+1*y[i-2]+y[i-1]*y[i-1];
Print[y[i]];
];
It will run much faster and gives:
2.5
8.5
79.
6289.
7
3.95547 10
15
1.56458 10
30
2.4479 10
60
5.99223 10
I hope this was helpful..
(Norbert Scherm)
>
>
>