Problem: Plotting list of {InterpolatingFunction[]}
- To: mathgroup at smc.vnet.net
- Subject: [mg2548] Problem: Plotting list of {InterpolatingFunction[]}
- From: Patrick Jemmer <paddy at sun4.bham.ac.uk>
- Date: Mon, 20 Nov 1995 01:13:09 -0500
- Organization: The University of Birmingham, UK.
Hello all: I am solving a set of DEs using NDSolve to produce a list of interpolating functions, where the list is called ans: In[5]:= ans Out[5]= {{source[t] -> InterpolatingFunction[{0., 1.}, <>][t], > sink[t] -> InterpolatingFunction[{0., 1.}, <>][t], > conc[t] -> InterpolatingFunction[{0., 1.}, <>][t], > a1[t] -> InterpolatingFunction[{0., 1.}, <>][t], > b1[t] -> InterpolatingFunction[{0., 1.}, <>][t]}} I then substitute with the list sp={source[t], sink[t], ... } intpf =sp/. ans Out[6]= {InterpolatingFunction[{0., 1.}, <>][t], > InterpolatingFunction[{0., 1.}, <>][t], > InterpolatingFunction[{0., 1.}, <>][t], > InterpolatingFunction[{0., 1.}, <>][t], > InterpolatingFunction[{0., 1.}, <>][t]} I am then trying to plot these together: Plot[intpf,{t,0,1}]In[7]:= Plot[intpf,{t,0,1}] Plot::plnr: CompiledFunction[{t}, intpf, -CompiledCode-][t] is not a machine-size real number at t = 0.. Plot::plnr: CompiledFunction[{t}, intpf, -CompiledCode-][t] is not a machine-size real number at t = 0.0416667. Plot::plnr: CompiledFunction[{t}, intpf, -CompiledCode-][t] is not a machine-size real number at t = 0.0833333. General::stop: Further output of Plot::plnr will be suppressed during this calculation. and an empty plot.... If I extract each component In[8]:= aa=intpf[[1]] Out[8]= InterpolatingFunction[{0., 1.}, <>][t] Everything works fine and i can plot the whole lot on one graph... What's going on? Thanks, patrick. (e-mail duplicates of any help would be appreciated, as I don't know whether I'll have access to usenet for a few days). paddy at tc.mols.susx.ac.uk but I just get the message