help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: System of ODE's


From: Orsila Heikki
Subject: Re: System of ODE's
Date: Thu, 27 Sep 2001 22:31:59 +0300 (EET DST)

On Wed, 26 Sep 2001, Dennis Bayrock wrote:
>     I am a research scientist involved in modeling yeast fermentations
> for the production of alcohol. I have a system of ODE's to model and am
> wondering if Octave is capable of handling such a system. For eg.
>
>         dX/dt= 1+ dS/dt
>         dS/dt = -2.5 * dX/dt
>         dP/dt = 5 * dS/dt - 3 * dX/dt

Well, that kind of trivial equation sets can be solved easily with little
handwork..

Assume we have equation set:

x1 = a10 + a11 * x1 + a12 * x2 + ... + a1n * xn
x2 = a20 + a21 * x1 + a22 * x2 + ... + a2n * xn
...
xn = an0 + an1 * x1 + an2 * x2 + ... + ann * xn

Denote x = [x1,x2,...,xn]' and b=[a10,a20,...,an0]'

And aij is item from matrix A row i column j.. We get equation:

        x = A*x + b
=>
        (I-A)*x = b
=>
        x = inv(I-A) * b = (say) = c

Now we have that:

x1 = c(1)*t + C1
x2 = c(1)*t + C2
...
xn = c(n)*t + Cn

Parameters C1-Cn must be solved from initial-value information. Let that
be vector C, then C = x(0).

To apply this to your example problem: Let dX/dt = x1, dS/dt = x2
and dP/dt = x3 ...

 b=[1;0;0]
 A=[0,1,0;-2.5,0,0;-3,5,0]

A =

   0.00000   1.00000   0.00000
  -2.50000   0.00000   0.00000
  -3.00000   5.00000   0.00000

 I=eye(3)

 c = inv(I-A)*b

c =

   0.28571
  -0.71429
  -4.42857

=>

 X = x1 =  0.28571 * t + X(0)
 S = x2 = -0.71429 * t + S(0)
 P = x3 = -4.42857 * t + P(0)

I don't have any experience with ODEs so if this is wrong, please tell
me..


Heikki Orsila                   32 bittiä - entä sitten?
address@hidden            http://www.pjoy.fi/lehdet/9212pj.htm
http://www.ee.tut.fi/~orsila    - Petteri Järvinen (1992)



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]