Re: 'Changing' parameters in an expression
- To: mathgroup at smc.vnet.net
- Subject: [mg60554] Re: [mg60528] 'Changing' parameters in an expression
- From: "David Park" <djmp at earthlink.net>
- Date: Tue, 20 Sep 2005 05:19:14 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Matt, If you want a parameter, define your equation this way... Clear[eqn] eqn[a_] := Derivative[1][x][t] == x[t]*(x[t] - a) Then plot with... Plot[Part[eqn[1/2], 2], {x[t], 0, 6}]; Actually, I'm a little surprised it worked with that iterator. Generally it would be best to use Evaluate on the first argument of Plot. David Park djmp at earthlink.net http://home.earthlink.net/~djmp/ From: Matt [mailto:anonmous69 at netscape.net] To: mathgroup at smc.vnet.net 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