MathGroup Archive 2011

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

Search the Archive

NDSolve in matrix form

  • To: mathgroup at
  • Subject: [mg120460] NDSolve in matrix form
  • From: gcarlson <gcarlson at>
  • Date: Sun, 24 Jul 2011 03:19:03 -0400 (EDT)
  • Delivered-to:

I am trying to numerically solve systems of ODEs using Mathematica 7.

The desired accuracy that I am striving for depends on the number of 
solution functions so I want to structure my solution algorithm to 
allow different numbers of solution functions. Solving the problem as 
a system of ODEs in matrix form seems the logical choice:

      dX/dt = f[X[t]],

where f[X[t]] is a specified function, and X[t] is a vector of 
solution functions {x1[t],x2[t],...}. The initial conditions are 
specified by a vector X[0] = {x1[0],x2[0],...}.

In my problem, the number of solution functions will usually vary from 
3 to 7, but could be any number.

One approach that doesn't work is:

      f := {f[[1]][t], f[[2]][t], f[[3]][t]}
      fInit := {0, 0, 2}
      mat := {(-3*f[[1]][t] - f[[2]][t]), 26.5*f[[1]][t] - f[[2]][t] - 
f[[1]][t]*f[[3]][t], f[[1]][t]*f[[2]][t] - f[[3]][t]}
      solution =  NDSolve[{Derivative[1][f][t] == mat, f[0] == fInit}, 
f, {t, 0, 17}]

I don't know if the problem is in the way f is specified or in my 
expression for NDSolve.

I'd appreciate any assistance.

Thanks and regards,


  • Prev by Date: NDSolve in matrix form
  • Next by Date: Re: random variables
  • Previous by thread: Re: NDSolve in matrix form
  • Next by thread: Re: NDSolve in matrix form