MathGroup Archive 2003

[Date Index] [Thread Index] [Author Index]

Search the Archive

Vector components as functions in DSolve

  • To: mathgroup at smc.vnet.net
  • Subject: [mg42431] Vector components as functions in DSolve
  • From: "Dr. Wolfgang Hintze" <weh at snafu.de>
  • Date: Mon, 7 Jul 2003 03:05:57 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

I would like to generalize to an arbitrary number L of dimensions the 
following simple procedure in two dimensions:

Defining a 2x2 matrix, e.g.

In[66]:=
A = {{0, -1}, {1, 0}};

and a vector of two functions of time t

In[67]:=
r[t] = {x[t], y[t]};

I put up a system of ordinary differential equations

In[77]:=
equ = D[r[t], t] == -A . r[t]

Out[77]=
{Derivative[1][x][t], Derivative[1][y][t]} ==
   {y[t], -x[t]}

and solve it using DSolve

In[78]:=
DSolve[equ, r[t], t]

Out[78]=
{{x[t] -> C[1]*Cos[t] + C[2]*Sin[t],
    y[t] -> C[2]*Cos[t] - C[1]*Sin[t]}}

The generalization of the vector r[t] should be something like

In[87]:=
L = 5; s = Array[f[t], {L}]

Out[87]=
{f[t][1], f[t][2], f[t][3], f[t][4], f[t][5]}

or

In[88]:=
L = 5; s = Array[f, {L}][t]

Out[88]=
{f[1], f[2], f[3], f[4], f[5]}[t]

I would then like to use

In[65]:=
DSolve[D[s, t] == A . s, s, t]

but nothing of the kind will work.

My question is simple: how do I treat a system of ordinary differential 
equations of the form

d(Vector of functions of t)/dt
= function of the vector of functions of t)

in Mathematica?

Any hints welcome.

Wolfgang


  • Prev by Date: RE: Startup Commands
  • Next by Date: how make it faster?
  • Previous by thread: Re: can I use some user(self)defined function in Mathematica symbolic computation?
  • Next by thread: Re: Vector components as functions in DSolve