Re: Dr. Lynchs book Dynamical Systems with Applications using Mathematica

*To*: mathgroup at smc.vnet.net*Subject*: [mg125372] Re: Dr. Lynchs book Dynamical Systems with Applications using Mathematica*From*: Tomas Garza <tgarza10 at msn.com>*Date*: Sat, 10 Mar 2012 06:16:14 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com

Perhaps a simple example will shed some light: think of an equation, like x^2 -x-3 = 0, which you wish to numerically solve for x. You will use the function NSolve with the appropriate syntax, and get the two solutions -1.30278 and 2.30278, but they appear in terms of rules (cf. the OnLine Help for NSolve, and see in More Information: NSolve gives solutions in terms of rules of the form x->sol). What you actually get is then {{x -> -1.30278}, {x-> 2.30278}}. This is a list of the solutions, in this case real numbers. Call this sol, for example: sol = NSolve[x^2 - x - 3 == 0, x]. The evaluation of this yields {{x -> -1.30278}, {x -> 2.30278}} Then sol[[1]] is {x -> -1.30278}; and sol[[1, 1]] is x -> -1.30278 .Then, if you say y = x/.sol[[1,1]] what you get is that y has been set to the value -1.3027, which is what you will usually need. The same reasoning applies to you problem. ode1[[1,1]] is the first of the list of solutions, and it comes in terms of a parameter, t. {x[t], y[t]} /. sol[i] says "take the x[t], y[t] which appear in ode1[[i, 1]]". This is the input to ParametricPlot. And so on. I hope this will help. -Tomas > Date: Fri, 9 Mar 2012 06:11:02 -0500 > From: pennsylvaniajake at gmail.com > Subject: Re: Dr. Lynchs book Dynamical Systems with Applications using Mathematica > To: mathgroup at smc.vnet.net > > Could some one please explain the code? > > The line starts with sol[1] and ends with ode1[-3,-4]; > > I have looked through all my books on Mathematica and cannot find > anything like it. > > p1=VectorPlot[{2x+y,x+2y},{x,-3,3},{y,-3,3}] ; > ode1[x0_,y0_]:=NDSolve[{x'[t]=C5 2x[t]+y[t],y'[t]=C5 x[t]+2y[t],x[0]=C5 x0,y[0]=C5 y0},{x[t],y[t]},{t,-3,3}]; > > sol[1]=ode1[1,1];sol[2]=ode1[1,-1];sol[3]=ode1[-1,-1];sol[4]=ode1[-1,1];sol[5]=ode1[3,1];sol[6]=ode1[1,3];sol[7]=ode1[-1,-3];sol[8]=ode1[-3,-1]; > > p2=ParametricPlot[Evaluate[Table[{x[t],y[t]}/.sol[i],{i,8}]],{t,-3,3}, > PlotRange=C2=AE{{-3,3},{-3,3}},PlotPoints=C2=AE100,AxesLabel=C2=AE{"x","y"}]; > > Show[{p1,p2},PlotRange=C2=AE{{-3,3},{-3,3}},AxesLabel=C2=AE{"x","y"},Axes=C2==AETrue] >