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] ====