Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

NDSolve in matrix form

  • To: mathgroup at smc.vnet.net
  • Subject: [mg120464] NDSolve in matrix form
  • From: Glenn Carlson <g.crlsn at gmail.com>
  • Date: Sun, 24 Jul 2011 03:19:46 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

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,

Glenn




  • Prev by Date: TransformedDistribution -- odd problem
  • Next by Date: NDSolve in matrix form
  • Previous by thread: Re: TransformedDistribution -- odd problem
  • Next by thread: Re: NDSolve in matrix form