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?
>
>