[Date Index]
[Thread Index]
[Author Index]
Re: plot thousands(?) of trajectories in single graph.
*To*: mathgroup at smc.vnet.net
*Subject*: [mg50505] Re: [mg50489] plot thousands(?) of trajectories in single graph.
*From*: "David Park" <djmp at earthlink.net>
*Date*: Wed, 8 Sep 2004 05:15:18 -0400 (EDT)
*Sender*: owner-wri-mathgroup at wolfram.com
Sean,
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.
Needs["DrawGraphics`DrawingMaster`"]
Clear[KimMultiplot];
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 earthlink.net
http://home.earthlink.net/~djmp/
From: sean kim [mailto:sean_incali at yahoo.com]
To: mathgroup at smc.vnet.net
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
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.**
| |