MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: plot thousands(?) of trajectories in single graph.

  • To: mathgroup at
  • Subject: [mg50505] Re: [mg50489] plot thousands(?) of trajectories in single graph.
  • From: "David Park" <djmp at>
  • Date: Wed, 8 Sep 2004 05:15:18 -0400 (EDT)
  • Sender: owner-wri-mathgroup at


With DrawGraphics I would do it the following way. I don't think it would
look good to have all the functions plotted on the same graph because the
way they spread out they would cover each other up.


KimMultiplot[label_, number_, color_, title_] :=
   Module[{ndsolution}, ndsolution[] :=
      With[{k1 = Random[Real, {1/10, 5/10}],
        k2 = Random[Real, {1/20, 5/20}]},
       NDSolve[{Derivative[1][a][t] == (-k1)*a[t]*x[t],
          Derivative[1][b][t] == (-k2)*b[t]*y[t], Derivative[1][x][t] ==
           (-k1)*a[t]*x[t] + k2*b[t]*y[t], Derivative[1][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]]];
     Draw2D[{color, Table[Draw[Evaluate[label[tt] /. ndsolution[]],
         {tt, 0, 250}], {i, 1, number}]}, PlotRange -> All,
      Frame -> True, PlotLabel -> title, Background -> Linen,
      ImageSize -> 450]];

KimMultiplot[a, 100, Black, "100 evaluations of a[t]"];

KimMultiplot[b, 100, Red, "100 evaluations of b[t]"];

KimMultiplot[x, 100, ForestGreen, "100 evaluations of x[t]"];

KimMultiplot[y, 100, Blue, "100 evaluations of y[t]"];

David Park
djmp at

From: sean kim [mailto:sean_incali at]
To: mathgroup at

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

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

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.


code below is a example skeletal code for running
hundred random solutions of an ode system.

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.

  • Prev by Date: Re: plot thousands(?) of trajectories in single graph.
  • Next by Date: RE: plot thousands(?) of trajectories in single graph.
  • Previous by thread: Re: Re: plot thousands(?) of trajectories in single graph.
  • Next by thread: RE: plot thousands(?) of trajectories in single graph.