Re: one liner for a function?
- To: mathgroup at smc.vnet.net
- Subject: [mg45964] Re: one liner for a function?
- From: bobhanlon at aol.com (Bob Hanlon)
- Date: Sat, 31 Jan 2004 05:20:27 -0500 (EST)
- References: <bvd9f8$5k1$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Needs["Graphics`"]; sol=NDSolve[{a'[t]==-0.1` a[t] x[t], b'[t]==-0.05` b[t] y[t], x'[t]==-0.1` a[t] x[t]+0.05` b[t] y[t], y'[t]==0.1` a[t] x[t]-0.05` 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[#[[2]][t]& /@ sol],{t,0,250}, PlotStyle->Table[Hue[(k+2)/6],{k,4}], Frame->True, Axes->False, PlotLegend->(#[[1]]& /@ sol), LegendPosition->{.95,-.35},ImageSize->400]; n=1;DisplayTogetherArray[ Partition[Plot[Evaluate[#[[2]][t]],{t,0,250}, PlotStyle->Hue[(2+n++)/6], PlotLabel->#[[1]], Frame->True, Axes->False]& /@ sol,2], ImageSize->400]; Bob Hanlon In article <bvd9f8$5k1$1 at smc.vnet.net>, sean_incali at yahoo.com (sean kim) wrote: << 1. let's say you have to make GraphicsArray using the interpolating functions. I have managed to write a function that automates the plotting part, but i haven't been able to write one that will automate plotting and naming the plot object and showing in a graphics array. as an example, sol= NDSolve[{a'[t]==-0.1` a[t] x[t], b'[t]==-0.05` b[t] y[t], x'[t]==-0.1` a[t] x[t]+0.05` b[t] y[t], y'[t]==0.1` a[t] x[t]-0.05` b[t] y[t], a[0]==1, b[0]==1, x[0]==1, y[0]==0}, {a,b,x,y},{t,0,250}][[1]]; pfunc[name_]:= Plot[Evaluate[{name[t]/. sol}, {t, 0, 250}], PlotRange-> All, DisplayFunction -> Identity, PlotLabel -> name]; pa = pfunc[a]; pb = pfunc[b]; px = pfunc[x]; py = pfunc[y]; Show[GraphicsArray [{{pa, pb}, {px, py}}], ImageSize-> 500] funtion I wrote called "pfunc" does fine, but i was wondering is there a way to automate the pa = pfunc[a]; ... py = pfunc[y]; and Show[GraphicsArray [{{pa, pb}, {px, py}}], ImageSize-> 500] part also? I can't seem to figure out a way to take the output of function to make another function.. and that seems to me what i have to do.. ( i don't even know that make sense to you guys...) 2. once you have everythign in function form, can you write it in one liner format? ( perhaps with some explanations? )