       Re: Some problems with DSolve and NDSolve

• To: mathgroup at smc.vnet.net
• Subject: [mg19769] Re: Some problems with DSolve and NDSolve
• From: Paul Abbott <paul at physics.uwa.edu.au>
• Date: Fri, 17 Sep 1999 01:36:33 -0400
• Organization: University of Western Australia
• References: <7rnjb1\$ejs@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Chee Lim Cheung wrote:

> I was somewhat surprised that DSolve is unable to solve the following
> relatively innocuous system of 1st-order ODEs:
>
> DSolve[{2 i1[t] + 2 (i1'[t] - i2'[t]) == 80 t E^(-2t), 4 i2[t] + 2 (i2'[t]
> - i1'[t]) == 0, i1 == 0, i2 == 0}, {i1[t],i2[t]}, t]
>
> The normally reliable NDSolve also falls down on the following:
>
> NDSolve[{2 i1[t] + 2(i1'[t] - i2'[t]) == 80 t E^(-2t), 4 i2[t] + 2(i2'[t] -
> i1'[t]) == 0, i1 == 0, i2 == 0}, {i1[t], i2[t]}, {t, 0, 1}]
>
> What is wrong?

Not sure. Looks like a problem with Solve (not DSolve or NDSolve)
failing to correctly reduce the equations to simplest form.  Here follows a
Notebook which obtains the solution via Eliminate.

Notebook[{
Cell["Here are the equations,", "Text"],

Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"\[ScriptCapitalE]", "=",
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{\(2\ \(\(i\_1\)(t)\)\), "+",
RowBox[{"2", " ",
RowBox[{"(",
RowBox[{
RowBox[{
SubsuperscriptBox["i", "1", "\[Prime]",
MultilineFunction->None], "(", "t", ")"}], "-",
RowBox[{
SubsuperscriptBox["i", "2", "\[Prime]",
MultilineFunction->None], "(", "t", ")"}]}],
")"}]}]}],
"==", \(80\ t\ \[ExponentialE]\^\(\(-2\)\ t\)\)}], ",",
RowBox[{
RowBox[{\(4\ \(\(i\_2\)(t)\)\), "+",
RowBox[{"2", " ",
RowBox[{"(",
RowBox[{
RowBox[{
SubsuperscriptBox["i", "2", "\[Prime]",
MultilineFunction->None], "(", "t", ")"}], "-",
RowBox[{
SubsuperscriptBox["i", "1", "\[Prime]",
MultilineFunction->None], "(", "t", ")"}]}],
")"}]}]}], "==", "0"}]}], "}"}]}], ";"}],

Cell["and the initial conditions,", "Text"],

Cell[BoxData[
\(TraditionalForm\`\(ic = {\(i\_1\)(0) == 0, \(i\_2\)(0) ==
0};\)\)], "Input"],

Cell[TextData[{
"We can use ",
StyleBox["Eliminate", "Input"],
" to determine ",
Cell[BoxData[
":"
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{"Eliminate", "[",
RowBox[{"\[ScriptCapitalE]", ",",
RowBox[{
SubsuperscriptBox["i", "2", "\[Prime]",
MultilineFunction->None], "(", "t", ")"}]}], "]"}],

Cell[BoxData[
40\ \[ExponentialE]\^\(\(-2\)\ t\)\ t - \(i\_1\)(t)\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
i\_2 -> Function[t,
Evaluate[\(i\_2\)(t) /.
First[Solve[%, \(i\_2\)(t)]]]]\)], "Input"],

Cell[BoxData[
Function[t,
1\/2\ \((40\ \[ExponentialE]\^\(\(-2\)\ t\)\ t - \(i\_1\)(
t))\)]\)], "Output"]
}, Open  ]],

Cell["\<\
Substituting this back into the equations we see that they are \
consistent:\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\(TraditionalForm\`\[ScriptCapitalE] /. % // Simplify\)], "Input"],

Cell[BoxData[
FormBox[
RowBox[{"{",
RowBox[{
RowBox[{
RowBox[{\(2\ \(\(i\_1\)(t)\)\), "+",
RowBox[{"3", " ",
RowBox[{
SubsuperscriptBox["i", "1", "\[Prime]",
MultilineFunction->None], "(", "t", ")"}]}]}],
"==", \(40\ \[ExponentialE]\^\(\(-2\)\ t\)\)}], ",",
RowBox[{\(40\ \[ExponentialE]\^\(\(-2\)\ t\)\), "==",
RowBox[{\(2\ \(\(i\_1\)(t)\)\), "+",
RowBox[{"3", " ",
RowBox[{
SubsuperscriptBox["i", "1", "\[Prime]",
MultilineFunction->None], "(", "t", ")"}]}]}]}]}], "}"}],
}, Open  ]],

Cell[TextData[{
"Now we can use ",
StyleBox["DSolve", "Input"],
" to determine ",
Cell[BoxData[
":"
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
t]\)], "Input"],

Cell[BoxData[
t) -> \[ExponentialE]\^\(\(-2\)\ t\)\ \((\(-10\) +
10\ \[ExponentialE]\^\(\(4\ t\)/3\))\)}}\)], "Output"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
i\_1 -> Function[t, Evaluate[\(i\_1\)(t) /. First[%]]]\)], "Input"],

Cell[BoxData[
Function[t, \[ExponentialE]\^\(\(-2\)\ t\)\ \((\(-10\) +
10\ \[ExponentialE]\^\(\(4\ t\)/3\))\)]\)], "Output"]
}, Open  ]],

Cell["\<\
We check to see that both equations and initial conditions are \
satisfied.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\(TraditionalForm\`Join[\[ScriptCapitalE], ic] //. {s\_1, s\_2} //
Simplify\)], "Input"],

Cell[BoxData[
}, Open  ]],

Cell["Here is a plot of the two solutions:", "Text"],

Cell[BoxData[
Evaluate[{\(i\_1\)(t), \(i\_2\)(t)} //. \[InvisibleSpace]{s\_1,
s\_2}], {t, 0, 1},
PlotStyle -> {Hue, Hue[1\/3]}];\)\)], "Input"],

Cell[TextData[{
"Note the use of ",
StyleBox["//.", "Input"],
" because ",
Cell[BoxData[
" is expressed in terms of ",
Cell[BoxData[
"."
}], "Text"]
}
]

____________________________________________________________________
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://physics.uwa.edu.au/~paul

God IS a weakly left-handed dice player
____________________________________________________________________

```

• Prev by Date: Re: Mathematica can't win against Tiger Woods
• Next by Date: Re: Some problems with DSolve and NDSolve
• Previous by thread: Re: Some problems with DSolve and NDSolve
• Next by thread: Re: Some problems with DSolve and NDSolve