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
>
>