Re: Re: NDSolve Question
- To: mathgroup at smc.vnet.net
- Subject: [mg86385] Re: [mg86357] Re: NDSolve Question
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Mon, 10 Mar 2008 02:02:41 -0500 (EST)
- Reply-to: hanlonr at cox.net
f[q_?NumericQ] := q;
This function is not very useful as an example since
DSolve[{x'[t] == x[t], x[0] == 0}, x[t], t][[1]]
{x[t] -> 0}
With a slight change
DSolve[{x'[t] == x[t] + 2, x[0] == 0}, x[t], t][[1]]
{x[t] -> 2*(-1 + E^t)}
f[q_?NumericQ] := q + 2;
Note that NumericQ is better than NumberQ so that f will evaluate with arguments like Pi or E
f[3 Pi]
2 + 3*Pi
sol = NDSolve[{x'[t] == f[x[t]], x[0] == 0}, x, {t, 0, 1}][[1]];
Plot[x[t] /. sol, {t, 0, 1}]
Bob Hanlon
---- Jerry <Jer75811 at yahoo.com> wrote:
> Sir, I tried this and I only get plot axes, no graph.
>
> f[q_?NumberQ] := q
> sol = NDSolve[{x'[t] == f[x[t]], x[0] == 0}, {x}, {t, 0, 1}]
> Plot[x[t] /. sol, {t, 0, 1}]
>
> In place of {x} in sol I tried x and x[t] with no change.
> In Plot I tried x instead of x[t], no help.
>
> Can you give me a successful example? Thanks.
>
>
>
>
> David Park wrote:
> > I found the answer, which is to use:
> >
> > f[q_?NumberQ]:= ...
> >
> > which prevents an initial evaluation.
> >
>