Re: NDSolve Question
- To: mathgroup at smc.vnet.net
- Subject: [mg86488] Re: NDSolve Question
- From: Jerry <Jer75811 at yahoo.com>
- Date: Wed, 12 Mar 2008 00:14:54 -0500 (EST)
- References: <fr5nrk$1ia$1@smc.vnet.net>
Sir, the + signs are still missing so something must be wrong on my end. Thanks for your patience. Bob Hanlon wrote: > The e-mail that was quoted in your reply was not what I sent. Some characters (plus signs) got lost on the way. The function was modified to x[t] plus 2 in the DSolve example and to q plus 2 in definition of f. I have resent the input/output. > > 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 your suggestions but I never get a plot unless >> I use the init. condition x[0] == 1 as suggested by >> jwmerrill. So I guess I still don't understand the issues. >> Thanks. >> >> Bob Hanlon wrote: >>> 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. >>>>> >>> > >