Re: Plotting a function dynamically in a loop
- To: mathgroup at smc.vnet.net
- Subject: [mg112905] Re: Plotting a function dynamically in a loop
- From: "Nasser M. Abbasi" <nma at 12000.org>
- Date: Tue, 5 Oct 2010 05:36:06 -0400 (EDT)
- References: <i8c8ub$g9p$1@smc.vnet.net>
- Reply-to: nma at 12000.org
On 10/4/2010 3:06 AM, ABHIJIT BHATTACHARYYA wrote: > Hi! > > Let us consider that I have one 3D array ex[[i,j,k]] which is computed > in time loop as given here. > > alfa=0.3; beta=0.4; gamma== 0.5;=0A For[time=0, time<= maxtime, time++, > Do[ex[[i,j,k]] = alfa*i+beta*j+gamma*k, {i,1,imax}, {j,2,jmax+1},{k,1,kmax}] > > (* Plot ex[[]]= dynamically *) > ] > > What I want is that I like to plot ex[[i,j,k]] at every time step in a single plot so that plot is revealed as a movie. Is it possible in > mathematica? > > Regs > Abhijit Bhattacharyya This is the main difference between Mathematica and other handler graphics based systems. There is no "handler" to some canvas to use to send all output to. Doing this Do[Print@Plot[Sin[a x], {x, -Pi, Pi}], {a, 1, 10}] Will just show all the plots. But you can use many other options in Mathematics to do the same. Such as Animate[Plot[Sin[a x], {x, -Pi, Pi}], {a, 1, 10}] or ListAnimate[Table[Plot[Sin[a x], {x, -Pi, Pi}], {a, 1, 5}]] or make a Dynamic expression that depends on parameter, and then change the parameter later, this will cause the Dynamic expression to be re-evaluated automatically each time the parameter changed. Use Pause to slow the loop: Dynamic[Plot[Sin[a x], {x, -Pi, Pi}]] Do[a = i; Pause[1], {i, 0, 10}] And many other ways to do this I am sure. --Nasser