Re: plot thousands(?) of trajectories in single graph.
- To: mathgroup at smc.vnet.net
- Subject: [mg50521] Re: [mg50489] plot thousands(?) of trajectories in single graph.
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Thu, 9 Sep 2004 05:17:33 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
I recommend that you break it into an array of four plots. Increase the value of n for more cases of each plot. Needs["Graphics`"]; n=20; expr={a[t],b[t],x[t],y[t]}; ps = {RGBColor[0,0,0],RGBColor[.7,0,0], RGBColor[0,.7,0],RGBColor[0,0,.7]}; ndsoln = Transpose[ Table[( k1=Random[Real,{1/10,5/10}]; k2=Random[Real,{1/20,5/20}]; expr /.NDSolve[{ a'[t]==-k1 a[t] x[t], b'[t]==-k2 b[t] y[t], x'[t]==-k1 a[t] x[t]+k2 b[t] y[t], y'[t]==k1 a[t] x[t]-k2 b[t] y[t], a[0]==1, b[0]==1, x[0]==1, y[0]==0}, {a,b,x,y}, {t,0,250}][[1]]), {k,n}]]; DisplayTogetherArray[ Partition[ Table[ Plot[ Evaluate[ndsoln[[k]]], {t,0,250}, PlotRange->All, PlotStyle->ps[[k]], PlotLabel->StyleForm[ expr[[k]], FontColor->ps[[k]], FontFamily->"Helvetica", FontWeight->"Bold", FontSize->12]], {k,4}], 2], ImageSize->500]; Bob Hanlon > > From: sean kim <sean_incali at yahoo.com> To: mathgroup at smc.vnet.net > Date: 2004/09/07 Tue AM 05:43:50 EDT > To: mathgroup at smc.vnet.net > Subject: [mg50521] [mg50489] plot thousands(?) of trajectories in single graph. > > hello group, > > I have a routein that solves a system of odes over a > parameter space thousands of times while randomly > varying the values. > > What I would like to do is take a variable and the > resulting solutions(however many routine has generated > over the course of evaluation) and plot them on single > graph. > > So you will get rather messy graph, but nonetheless > shows possible trajectories given system can yield. > > How do I go about doing this? > > I thought i could save the interpolating functions and > then evaluate thousands at the end of a routine and > show together. But How do I save the interpolating > function? > > or do I plot with inside the module with > DisplayFunction-> Identity and then save the plot and > DisplayTogether the thousands of graphs at the end of > the routine. > > if doing thousands isn't possible, is it possible to > show hundreds of trajectories? > > thanks in advance for any insights. > > > sean > > code below is a example skeletal code for running > hundred random solutions of an ode system. > > > Do[ > Module[{}, > k1 = Random[Real, {1/10, 5/10}]; > k2 = Random[Real, {1/20, 5/20}]; > ndsolution = > NDSolve[{a'[t] == -k1 a[t] x[t], b'[t] == -k2 b[t] > y[t], x'[t] == -k1 a[t] x[t] + k2 b[t] y[t], y'[t] == > k1 a[t] x[t] - k2 b[t] y[t], a[0] == 1, b[0] == 1, > x[0] == 1, y[0] == 0},{a, b, x, y}, {t, 0, 250}][[1]]; > Plot[Evaluate[{a[t], b[t], x[t], y[t]} /. ndsolution], > {t, 0, 250}, PlotRange -> All, PlotStyle -> > {{AbsoluteThickness[2], RGBColor[0, 0, 0]}, > {AbsoluteThickness[2], RGBColor[.7, 0, 0]}, > {AbsoluteThickness[2], RGBColor[0, .7, 0]}, > {AbsoluteThickness[2], RGBColor[0, 0, .7]}}, Axes -> > False, Frame -> True, PlotLabel -> StyleForm[A > StyleForm[" B", FontColor -> RGBColor[.7, 0, 0]] > StyleForm[" X", FontColor -> RGBColor[0, .7, > 0]]StyleForm[" Y", FontColor -> RGBColor[0, 0, .7]], > FontFamily -> "Helvetica", FontWeight -> "Bold"]]; > ] > ,{i, 100}] > > > > > > _______________________________ > Do you Yahoo!? > Win 1 of 4,000 free domain names from Yahoo! Enter now. > http://promotions.yahoo.com/goldrush > >