       Re: How to animate a (scrolling) ListPlot in a procedural Mathematica

• To: mathgroup at smc.vnet.net
• Subject: [mg93751] Re: How to animate a (scrolling) ListPlot in a procedural Mathematica
• From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
• Date: Mon, 24 Nov 2008 06:50:02 -0500 (EST)
• Organization: Uni Leipzig
• References: <eslsqe\$q5a\$1@smc.vnet.net> <200703080944.EAA15028@smc.vnet.net> <ggdqr9\$kc\$1@smc.vnet.net>

```Hi,

try

a = 0.02;
b = 0.20;
c = -65;
d = 6;
Inp = 14;

L = 1000;

v = -70;
u = -20;
tau = 0.2;
t = 0;

V = ConstantArray[v, L];
U = ConstantArray[u, L];

Dynamic[ListPlot[{Reverse[U], Reverse[V]}]]

Do[
t = t + tau;
v = v + tau*(0.04*v^2.0 + 5*v + 140 - u + Inp);
u = u + tau*a*(b*v - u);
If[v > 30, v = c; u = u + d; V[] = 31; h = 0;];
V = RotateRight[V, 1]; V[] = v;
U = RotateRight[U, 1]; U[] = u; Pause[0.001],
{i, 1, 10000}
];

??

Regards
Jens

Chrisantha Fernando wrote:
> Dear Mathgroup,
>
> Currently I have the following code. It is procedural, and goes
> through the while loop generating two arrays, V and U of L = 1000 in
> length, that slides through from i = 0 to 10000, storing the changing
> values of v and u.
>
> I only know how to plot the output of V and U arrays at the END. After
> all this is done.
>
> HOWEVER, I'd really like to be able to visualize the V and U arrays
> whilst the program was running.
>
> How can I do this? I think it needs Manipulate, but I can't work it
> out from the examples.
>
> Many Thanks,
> Chrisantha Fernando.
> National Institute for Medical Research
> London, UK
>
>
> a = 0.02;
> b = 0.20;
> c = -65;
> d = 6;
> Inp = 14;
>
> L = 1000;
>
> v = -70;
> u = -20;
>
> V = ConstantArray[v, L];
> U = ConstantArray[u, L];
>
> tau = 0.2;
> t = 0;
> i = 0;
>
> While[i < 10000,
>    i = i + 1 ;
>    t = t + tau;
>    v = v + tau*(0.04*v^2.0 + 5*v + 140 - u + Inp);
>    u = u + tau*a*(b*v - u);
>    If[v > 30, v = c ; u = u + d;   V[] = 31; h = 0; ];
>    V = Prepend[Drop[V, -1], v];
>    U = Prepend[Drop[U, -1], u];
>
>    ];
>
> V = Reverse[V];
> U = Reverse[U];
>
> Vplot = ListPlot[V, PlotJoined -> True, PlotRange -> All]
> Uplot = ListPlot[U, PlotJoined -> True, PlotRange -> All]
> VU = ListPlot[Table[{V[[i]], U[[i]]}, {i, 1, L}], PlotJoined -> True,
>    PlotRange -> { {-100, 20}, {-40, 50}}]
>
>
>

```

• Prev by Date: Re: Mathematica 7 is now available
• Next by Date: Re: Integration - another Integer as a result
• Previous by thread: Re: solve a problem in mathematica
• Next by thread: v.7.0 issues