Re: How to Scale and vary plot for a Differential Equation
- To: mathgroup at smc.vnet.net
- Subject: [mg127411] Re: How to Scale and vary plot for a Differential Equation
- From: Rahul Chakraborty <rahul.6sept at gmail.com>
- Date: Mon, 23 Jul 2012 01:03:12 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20120720074852.62B9B685F@smc.vnet.net>
Dear Sir,
1). Regarding the last program of plotting DE there is one problem
that i'm facing.The issue is, when i open the file first time the
program shows lots of errors which vanishes after i run the program
using Shift + Enter. I close the file and reopens the errors appears
again.
The list of errors as under:
NDSolve::deqn: Equation or list of equations expected instead of True
in the first argument {0.\[VeryThinSpace]+0.5[t]==0,0.5[0]==1/2,True}
. >>
ReplaceAll::reps: {0.\[VeryThinSpace]+0.5[t]==0,0.5[0]==1/2,True}
is neither a list of replacement rules nor a valid dispatch table,
and so cannot be used for replacing. >>
ReplaceAll::reps: {0.\[VeryThinSpace]+0.5[t]==0,0.5[0]==1/2,True}
is neither a list of replacement rules nor a valid dispatch table,
and so cannot be used for replacing. >>
ReplaceAll::reps: {0.\[VeryThinSpace]+0.5[0.]==0,0.5[0]==1/2,True}
is neither a list of replacement rules nor a valid dispatch table,
and so cannot be used for replacing. >>
General::stop: Further output of ReplaceAll::reps will be suppressed
during this calculation. >>
General::ivar: 0.00033557046979865775` is not a valid variable. >>
General::ivar: 0.00033557046979865775` is not a valid variable. >>
General::ivar: 0.3359060402684564` is not a valid variable. >>
General::stop: Further output of General::ivar will be suppressed
during this calculation. >>
2). Also in case of the previous plot of 1st order DE there appers a warning
K$$::shdw: Symbol K$$ appears in multiple contexts {System`,Global`};
definitions in context System` may shadow or be shadowed by other
definitions. >>
and the variable K appears as Global` K and it does not increment in
Autorun mode.
Kindly advice me.
Regards,
rc
On 7/22/12, Bob Hanlon <hanlonr357 at gmail.com> wrote:
> DSolve[{x''[t] + \[Mu] (x[t] x[t] - 1) x'[t] + x[t] == 0, x[0] ===
1/2,
> x'[0] == 0}, x[t], t][[1]]
>
> {x[t] + \[Mu]*(-1 + x[t]^2)*
> Derivative[1][x][t] +
> Derivative[2][x][t] == 0,
> x[0] == 1/2, Derivative[1][x][
> 0] == 0}
>
> In this case, DSolve did not solve the DE (returned unevaluated) so
> NDSolve must be used. To use NDSolve, \[Mu] must have a numeric
> value so the NDSolve must be inside of the Manipulate.
>
> Manipulate[sol = NDSolve[
> {x''[t] + \[Mu] (x[t] x[t] - 1) x'[t] + x[t] == 0,
> x[0] == 1/2, x'[0] == 0}, x[t],
> {t, 0, 50}][[1]];
> ParametricPlot[Evaluate[
> {x[t] /. sol, Log[D[x[t] /. sol, t]]}],
> {t, 0, 50},
> Frame -> True,
> Axes -> False,
> FrameLabel -> {"x", Overscript["x", "."]}, AspectRatio -> 1,
> PlotRange -> {{0, 2.5}, {-6, 4.5}},
> PlotPoints -> 150],
> {{\[Mu], 1}, 1, 50, 0.1,
> Appearance -> "Labeled"}]
>
>
> Bob Hanlon
>
>
> On Sat, Jul 21, 2012 at 1:20 PM, Rahul Chakraborty
> <rahul.6sept at gmail.com> wrote:
>> Dear Bob,
>>
>> Sir, I've tried the same code for another DE. Everything is same just
>> changed the equations and initial conditions. Its giving an error, i
>> couldn't debug it.
>>
>> Clear[x];
>> DSolve[{x''[t]+\[Mu]
>> (x[t]x[t]-1)x'[t]+x[t]==0,x[0]==1/2,x'[0]==0},x[t],t][[1]]//=
Quiet
>> {x[t]->x[t]+\[Mu] (-1+x[t]^2)
>> (x^\[Prime])[t]+(x^\[Prime]\[Prime])[t]==0,x[0]==1/2,x'[0]===
0}
>> Manipulate[Module[{sol},sol={x[t]->{x[t]+\[Mu] (-1+x[t]^2)
>> (x^\[Prime])[t]+(x^\[Prime]\[Prime])[t]==0,x[0]==1/2,x'[0]===
0}};ParametricPlot[Evaluate[{x[t]/.sol,Log[D[x[t]/.sol,t]]}],{t,0,50},Frame=
->True,Axes->False,FrameLabel->{"x",Log[Overscript[x,"."]]},AspectRatio->1,=
PlotRange->{{0,10.1},{-6,10.1}}]],{{\[Mu],1},1,50,0.01,Appearance->"Labeled=
"}]
>>
>> ERROR: ParametricPlot::exclul: {Im[(x^\[Prime])[t]+2 x[t]
>> (<<1>>^(<<1>>))[<<1>>]^2+(-1+Power[<<2>>])
>> (x^\[Prime]\[Prime])[t]+(x^(3))[t]==0]-0} must be a list of equaliti=
es
>> or real-valued functions. >>
>>
>> Kindly advice.
>>
>> Regards,
>>
>> rc
>>
>> On 7/21/12, Bob Hanlon <hanlonr357 at gmail.com> wrote:
>>> It is not required. If you don't like it, don't use it. Adjust
>>> PlotRange to taste.
>>>
>>>
>>> Bob Hanlon
>>>
>>>
>>> On Sat, Jul 21, 2012 at 12:57 AM, Rahul Chakraborty
>>> <rahul.6sept at gmail.com> wrote:
>>>> Dear Bob,
>>>>
>>>> Thanks.
>>>>
>>>> But one query, why it is required to use Log in " Log[D[x[t] /. sol,
>>>> t]". Because in simple plot without Manipulate it is not required.
>>>>
>>>>
>>>> Regards,
>>>> rc
>>>>
>>>> On 7/21/12, Bob Hanlon <hanlonr357 at gmail.com> wrote:
>>>>> You appear to be confusing the syntax of DSolve with that of NDSolve.
>>>>> DSolve can be used to solve the DE once rather than repeatedly inside
>>>>> the manipulate.
>>>>>
>>>>> DSolve[{x'[t] - r x[t] (1 - x[t]/K) == 0,
>>>>> x[0] == 1/2}, x[t], t][[1]] // Quiet
>>>>>
>>>>> {x[t] -> (E^(r*t)*K)/(-1 + E^(r*t) + 2*K)}
>>>>>
>>>>> Manipulate[
>>>>> Module[{sol},
>>>>> sol = {x[t] -> (E^(r*t)*K)/(-1 + E^(r*t) + 2*K)};
>>>>> ParametricPlot[
>>>>> Evaluate[{
>>>>> x[t] /. sol,
>>>>> Log[D[x[t] /. sol, t]]}],
>>>>> {t, 0, 50},
>>>>> Frame -> True,
>>>>> Axes -> False,
>>>>> FrameLabel -> {"x", Log[Overscript[x, "."]]},
>>>>> AspectRatio -> 1,
>>>>> PlotRange -> {{0, 5.1}, {-6, 2.1}}]],
>>>>> {{r, 1}, 1, 5, 0.01, Appearance -> "Labeled"},
>>>>> {{K, 1}, 1, 5, 0.01, Appearance -> "Labeled"}]
>>>>>
>>>>>
>>>>> Bob Hanlon
>>>>>
>>>>>
>>>>> On Fri, Jul 20, 2012 at 3:48 AM, Rahul Chakraborty
>>>>> <rahul.6sept at gmail.com> wrote:
>>>>>> Dear all,
>>>>>>
>>>>>> Kindly guide me for the above mentioned subject. I did try to code i=
t
>>>>>> but
>>>>>> needs guidance.The code as below
>>>>>>
>>>>>> Clear[x];
>>>>>> k[x_]=Manipulate[DynamicModule[{r:=1,K:=1},{Slider[Dynamic[r]]=
,Slider[Dynamic[K]]},eqn=x'[t]-r
>>>>>> x[t]
>>>>>> (1-x[t]/K)==0//Quiet,sol=First@DSolve[{eqn,x[0]==1/2},x[t]=
,{t,0,50}],[ParametricPlot[Evaluate[{x[t]/.sol,D[x[t]/.sol,t]}],{t,0,50},Fr=
ame->True,AxesLabel->{"x",Overscript[x,"."]},AspectRatio->1],ImageSize->
>>>>>> Scaled[r,K]],{r,1,5},{K,1,5},Initialization:>
>>>>>> {r:=1,K:=1},SaveDefinitions-> True]]
>>>>>>
>>>>>> Regards,
>>>>>> rahul
>>>
>
- References:
- How to Scale and vary plot for a Differential Equation
- From: Rahul Chakraborty <rahul.6sept@gmail.com>
- How to Scale and vary plot for a Differential Equation