Re: Some problems with DSolve and NDSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg19770] Re: Some problems with DSolve and NDSolve
- From: Eckhard Hennig <hennig at itwm.uni-kl.de>
- Date: Fri, 17 Sep 1999 01:36:33 -0400
- Organization: ITWM
- References: <7rnjb1$ejs@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
>Hi MathGroupers,
>
>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] == 0, i2[0] == 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] == 0, i2[0] == 0}, {i1[t], i2[t]}, {t, 0, 1}]
>
>What is wrong?
The problem is that NDSolve can handle only explicit systems of differential
equations, i.e. ODE's of the form
(x1', x2', ..., xn') == f(x1, x2, ..., xn),
but your equations are given in implicit form:
f(x1, x2, ..., xn, x1', x2', ..., xn') == 0
To solve your equations, you either have to rewrite them in explicit form or
use a solver for differential-algebraic equations (DAE's). You may want to
check out the function NDAESolve, which is included in the circuit analysis
toolbox Analog Insydes (a free evaluation version is available on the web;
see my signature).
In[1]:=
<<AnalogInsydes`
In[2]:=
sol = NDAESolve[{{2 i1[t] + 2(i1'[t] - i2'[t]) == 80 t E^(-2t),
4 i2[t] + 2(i2'[t] - i1'[t]) == 0}, {i1[t], i2[t]}},
{t, 0, 1},InitialSolution->{i1->0,i2->0}]
Out[2]=
{{i1->InterpolatingFunction[{{0,1.00137}},"<>"],
i2->InterpolatingFunction[{{0,1.00137}},"<>"]}}
In[3]:=
TransientPlot[sol,{i1[t],i2[t]},{t,0,1}]
-- Eckhard
-----------------------------------------------------------
Dipl.-Ing. Eckhard Hennig mailto:hennig at itwm.uni-kl.de
Institut fuer Techno- und Wirtschaftsmathematik e.V. (ITWM)
Erwin-Schroedinger-Strasse, 67663 Kaiserslautern, Germany
Voice: +49-(0)631-205-3126 Fax: +49-(0)631-205-4139
http://www.itwm.uni-kl.de/as/employees/hennig.html
ITWM - Makers of Analog Insydes for Mathematica
http://www.itwm.uni-kl.de/as/products/ai
-----------------------------------------------------------