[Date Index]
[Thread Index]
[Author Index]
Re: Delay Differential Equations
*To*: mathgroup at smc.vnet.net
*Subject*: [mg8823] Re: Delay Differential Equations
*From*: Paul Abbott <paul at physics.uwa.edu.au>
*Date*: Mon, 29 Sep 1997 02:39:48 -0400
*Organization*: University of Western Australia
*Sender*: owner-wri-mathgroup at wolfram.com
Matthias Weiss wrote:
> Can I solve DDE of the form
>
> x'(t) = F(t, x(t), x(t-a))
>
> with NDSolve? It appears it is not able to refer back to its own
> solution while it is still in progress.
See The Mathematica Journal 5(3): 25 and 6(1): 25-26. I have appended
a Notebook below.
Cheers,
Paul
____________________________________________________________________
Paul Abbott Phone: +61-8-9380-2734
Department of Physics Fax: +61-8-9380-1014
The University of Western Australia
Nedlands WA 6907 mailto:paul at physics.uwa.edu.au
AUSTRALIA http://www.pd.uwa.edu.au/~paul
God IS a weakly left-handed dice player
____________________________________________________________________
Notebook[{
Cell[CellGroupData[{
Cell["Delay Differential Equation", "Section"],
Cell[TextData[{
"Differential equations involving delay such as ",
Cell[BoxData[
\(TraditionalForm
\`\(q\^\[Prime]\)[t] \[Equal] \(-q[t]\) + q[t - 2]\)]],
", with the initial conditions ",
Cell[BoxData[
\(TraditionalForm\`q[0] \[Equal] 1\)]],
" and ",
Cell[BoxData[
\(TraditionalForm\`q[t_\ /; \ t\ < \ 0] = 0\)]],
", can be solved iteratively in an elegant way using ",
Cell[BoxData[
FormBox[
StyleBox["FixedPoint",
"Input"], TraditionalForm]]],
". After entering"
}], "Text",
CellTags->{"FixedPoint", "delay differential equation"}],
Cell[BoxData[
\(TraditionalForm
\`Off(NDSolve::"\<ndnum\>", InterpolatingFunction::"\<dmval\>")\)],
"Input",
CellTags->"Off"],
Cell[TextData[{
"to suppress the warning messages that arising during intermediate \
computations prior to reaching the fixed point, we use ",
StyleBox["FixedPoint", "Input"],
" to solve the equation iteratively:"
}], "Text"],
Cell[CellGroupData[{
Cell[BoxData[
FormBox[
RowBox[{"\[ScriptQ]", "=",
RowBox[{"FixedPoint", "(",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"NDSolve", "(",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{
SuperscriptBox["q", "\[Prime]",
MultilineFunction->None], "(", "t",
")"}],
"==", \(If(t < 2, 0, #1 (\(t - 2\))) -
q(t)\)}],
",", \(q(0) == 1\)}], "}"}], ",", "q", ",",
\({t, 0, 7}\)}], ")"}], ")"}],
"\[LeftDoubleBracket]",
\(1, 1, 2\), "\[RightDoubleBracket]"}], "&"}], ",",
"0"}],
")"}]}], TraditionalForm]], "Input"],
Cell[BoxData[
FormBox[
TagBox[
RowBox[{"InterpolatingFunction", "(",
RowBox[{
RowBox[{"(", GridBox[{
{"0.`", "7.`"}
},
ColumnAlignments->{Decimal}], ")"}], ",",
"\<\"<>\"\>"}],
")"}],
False,
Editable->False], TraditionalForm]], "Output"]
}, Open ]],
Cell[BoxData[
\(TraditionalForm
\`\(Plot(\[ScriptQ](t), {t, 0, 7}, PlotRange \[Rule] {All, {0, 1}});
\)\)], "Input"],
Cell[TextData[{
"Here we use ",
Cell[BoxData[
FormBox[
StyleBox[\(PlotRange \[Rule] {All, {0, 1}}\),
"Input"], TraditionalForm]]],
" to control the plot range in the ",
StyleBox["x",
FontSlant->"Italic"],
" and ",
StyleBox["y",
FontSlant->"Italic"],
" directions separately."
}], "Text",
CellTags->"PlotRange"],
Cell["It is easy to check how well the equation is satisfied:", "Text"],
Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"Plot", "(",
RowBox[{
RowBox[{"Evaluate", "(",
RowBox[{
\(-\(If(t < 2, 0, \[ScriptQ](t - 2))\)\), "+",
\(\[ScriptQ](t)\), "+",
RowBox[{
SuperscriptBox["\[ScriptQ]", "\[Prime]",
MultilineFunction->None], "(", "t", ")"}]}], ")"}],
",",
\({t, 0, 7}\), ",", \(PlotRange \[Rule] {\(-0.001\),
0.001}\)}],
")"}], ";"}], TraditionalForm]], "Input"],
Cell[TextData[{
"We can use ",
Cell[BoxData[
FormBox[
StyleBox["Nest",
"Input"], TraditionalForm]]],
" instead of ",
Cell[BoxData[
FormBox[
StyleBox["FixedPoint",
"Input"], TraditionalForm]]],
" if we are sure of the number of iterations needed."
}], "Text"]
}, Open ]]
}
]
Prev by Date:
**Re: 1) Line[] in Log plots 2) Directories with the MacOS**
Next by Date:
**Mathematica 3.0.0 on WinNT 4: Bug in Show[]**
Previous by thread:
**Re: Delay Differential Equations**
Next by thread:
**Re: Delay Differential Equations**
| |