Re: 'Changing' parameters in an expression

*To*: mathgroup at smc.vnet.net*Subject*: [mg60579] Re: [mg60528] 'Changing' parameters in an expression*From*: Bob Hanlon <hanlonr at cox.net>*Date*: Wed, 21 Sep 2005 03:20:12 -0400 (EDT)*Reply-to*: hanlonr at cox.net*Sender*: owner-wri-mathgroup at wolfram.com

eqn=x'[t]==x[t](x[t]-a); soln=DSolve[{eqn, x[0]==x0},x[t],t][[1,1]]//FullSimplify x[t] -> (a*x0)/(E^(a*t)*(a - x0) + x0) eqn/.{soln ,D[soln,t]}//Simplify True You need an initial condition (x0) in order to plot. Assume x0=1/4 (note that x0 must be less than a to avoid a pole) funcs={x[t],eqn[[2]]}/.soln/. {a->1/2,x0->1/4}//Simplify {1/(2 + 2*E^(t/2)), -(E^(t/2)/(4*(1 + E^(t/2))^2))} Plot[Evaluate[funcs],{t,0,6}, PlotStyle->{Blue,Red}]; Bob Hanlon > > From: "Matt" <anonmous69 at netscape.net> To: mathgroup at smc.vnet.net > Date: 2005/09/19 Mon AM 04:45:45 EDT > Subject: [mg60579] [mg60528] 'Changing' parameters in an expression > > Hello, > What follows (at the end) worked for me, however, I'm wondering if > it's the 'right' approach or not. What I mean by 'right' is this: my > eventual approach worked, but there may be another approach that is > more efficient and demonstrates a more wide ranging principal in using > Mathematica, and hence would be applicable in many situations. > > I started off with this: > eqn = x'[t] == x[t](x[t] - a); > > (I am using eqn as the first argument to DSolve, which is why it > appears as it does.) > > I wanted to plot the rhs of eqn with 'a' having a value of 1/2, so > first I tried this: > Plot[eqn[[2]] /. a->1/2, {t, 0, 6}]; > > That didn't work as I got these types of errors: > Plot::plnr : eqn[[2]] /. a -> 1/2 is not a machine-size real number at > t = .... > > over and over again. > > I tried a few other rules with essentially the same results and then I > tried this: > Plot[eqn[[2]] /. {a->1/2, x[t]->x}, {x, 0, 6}]; > > Which worked for me. I'm sure it has something to do with what I'm > asking Plot to work with. It just seems strange to me that DSolve will > work with eqn, but Plot does not. > > Thanks for any help, > > Matt > >