Re: {mg3701] Re: Problem with Diff. Equation
- To: mathgroup at smc.vnet.net
- Subject: [mg3711] Re: {mg3701] Re: Problem with Diff. Equation
- From: Dennis M Schneider <dschneid at knox.edu>
- Date: Wed, 10 Apr 1996 02:12:04 -0400
- Sender: owner-wri-mathgroup at wolfram.com
On Mon, 8 Apr 1996, Harald Berndt wrote:
> Jason Krywicki wrote:
> >
> > I was wondering, what is the easiest way to solve a diff. eq. of the form
> > x' = A x, where x = {x1,x2} - some vector and A = {{a,b},{c,d}}. I realize
> > this is a 2D case and a more general solution would be appreciated. Thank
> > you for your help.
>
> You can get a solution by writing out the complete system of
> equations:
>
>
> x[t] = {x1[t],x2[t]}
>
> A = {{a,b},{c,d}}
>
> In[17]:=
> (First[#] == Last[#])& /@ Transpose[{D[#, t]& /@ x[t],
> A.x[t]}]
> (*Somebody know a more elegant way to write this? There's gotta be
> one!*)
> Out[17]=
> {x1'[t] == a x1[t] + b x2[t], x2'[t] == c x1[t] + d x2[t]}
>
> Then:
> DSolve[%, x[t], t]
>
> The general topic of systems of ODEs is discussed in Chapter 10 of
> Abell and Braselton: Differential Equations with Mathematica.
> --
> ______________________________________________________________________
> Harald Berndt, University of California
> Research Specialist Forest Products Laboratory
>
> Phone: 510-215-4224 FAX: 510-215-4299
>
>
In[17] in Harald's solution can be simplified to
Thread[D[x[t],t] == A.x, List]
It seems surprising that the equations must be be threaded across
List before passing them to DSolve. Solve is not so picky. It would be
nice if Solve and DSolve behaved consistently with respect to this issue.
Dennis M. Schneider
Department of Mathematics
Knox College
Galesburg, IL 61401
(309) 341 7420
==== [MESSAGE SEPARATOR] ====