Re: Re: Solving differential equations with parameters
- To: mathgroup at smc.vnet.net
- Subject: [mg79826] Re: [mg79822] Re: Solving differential equations with parameters
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Mon, 6 Aug 2007 03:33:29 -0400 (EDT)
- Reply-to: hanlonr at cox.net
Use Part or Flatten to remove the undesired brace sol = y /. NDSolve[{y'[x] == 1/2 y[x], y[0.01] == 0.1}, y, {x, 0.01, 1}][[1]]; You need to add in the x-coordinate to get anything useful from the Plot g = Table[{i, sol[i]}, {i, 0.01, 1, 0.01}]; ListPlot[g] However, you can Plot an InterpolatingFunction without building a Table. Plot[sol[x], {x, 0.01, 1}] Bob Hanlon ---- Ivan <darknails at gmail.com> wrote: > On Aug 4, 12:07 pm, Ivan <darkna... at gmail.com> wrote: > > Hi, I am trying to solve the differential equations like > > > > y'[x]= - Sin[ p*x + y[x] ] > > > > where p is a parameter. Now I want to solve the equation with respect > > to x for a range of values of p, instead for just a single p. > > What is the best way to do it? > > I now have a way to do it but there is another problem.. > > I use the Table command (I change the function for the sake of > demonstration) > > sol = NDSolve[{y'[x]==1/2y[x],y[0.01]==0.1}, y, {x, 0.01,1}]; > > g=Table[ {y[i*0.01]/.sol}, {i,100} ]; > > ListPlot[g]; > > The error message is gptn: Coordindate .. in ... is not a floating- > point number. > > The problem seems to be that y[x]/.sol generate not a "normal" number, > instead, the number is is a brace {...}. > > Can anyone help me? > >