       Re: Joining InterpolatingFunctions into Piecewise - doman?

• To: mathgroup at smc.vnet.net
• Subject: [mg83579] Re: Joining InterpolatingFunctions into Piecewise - doman?
• From: dh <dh at metrohm.ch>
• Date: Fri, 23 Nov 2007 05:36:33 -0500 (EST)
• References: <fi133t\$cq8\$1@smc.vnet.net>

```
Hi Janos,

note that Piecewise has the attribute HoldAll. However, you want to

evaluate the body of Pieceweise before feeding it to Piecewise. I do

this with "tt":

f[ini_,tlast_]:=Module[{from=tlast,to=tlast+1,X},{X=(x/.NDSolve[{x'[t]==-0.5

x[t],ini},x,{t,from,to}])[],to,X[to]}]

nl=NestList[f[x[#[]]==#[],#[]]&,{zzz,0,2.0},3];

tt=Transpose[{Table[nl[[k,1]][t],{k,2,4}],Table[k<=t<k+1,{k,0,2}]}];

Plot[Piecewise[tt],{t,0,3}]

hope this helps, Daniel

janos wrote:

> I would like to solve a diff eq on a very large interval, therefore I

> solve it on successive intervals.

> When putting the results together I get a _relatively_ good figure and

> an error message.

> Note that there is a hole on the graph of the function. Any other

> solution to join InterpolatingFunction objects would be appreciated.

>

> Thank you, Janos

>

> f[ini_, tlast_] :=

>  Module[{from = tlast, to = tlast + 1,

>    X}, {X = (x /.

>        NDSolve[{x'[t] == -0.5 x[t], ini}, x, {t, from, to }])[],

>    to, X[to]}]

> nl = NestList[f[x[#[]] == #[], #[]] &, {zzz, 0, 2.0}, 3];

> full[t_] :=

>  Piecewise[

>   Transpose[{Table[nl[[k, 1]][t], {k, 2, 4}],

>     Table[k <= t < k + 1, {k, 0, 2}]}]]

> Plot[full[t], {t, 0, 3}]

>

```

• Prev by Date: Re: Interpolating arrays
• Next by Date: Button[label, action] Change Font?
• Previous by thread: Joining InterpolatingFunctions into Piecewise - doman?
• Next by thread: How can I find roots in Mathematica 6?