MathGroup Archive 1992

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

Search the Archive


Can somebody help me with the following problem
I have the following model and some measured data points.

where y= -(1-y1) s1'(t) -(1-y2) s2'(t)
where s1,s2 are defined by:

s1'[t]== -1/y1 mu1 s1[t] x[t]/(ks1+s1[t]) 
s2'[t]== -1/y2 mu2 s2[t] x[t]/(ks2+s2[t]) 
x'[t]== mu1 s1[t] x[t] / (ks1 + s1[t]) + 
        mu2 s1[t] x[t] / (ks2 + s1[t]) + 
        - kd x[t],

Lets say that rss(params) = sum of least squares(data,f(t,params))
(rss[s1(0),s2(0), mu1,mu2,ks1,ks2])

How can I estimate the parameters?
y1 and y2 and kd are fixed.

I tried to use FindMinimum on rss(params)
with two starting values but that was very slow (in fact I stopped it after
more than 2 hours.
(so probably I implemented something very inefficient (I'm new to Mathematica))

When I tried to use the gradient option of FindMinimum I could give a raw
approximation of the gradient by
by typing 
     rss[1.01 s1(0), s2(0), mu1,mu2,ks1,ks2] - 
     rss[0.99 s1(0), s2(0), mu1,mu2,ks1,ks2]/
     (0.02 s1(0))

But then FindMinimum does not seem able to evaluate this because Mma seems to
evaluate first rss and the replaces the parameters with their actual values,
which in this case should be the other way around because the differential
equation can not be solved symbolically.
Mma complains that s10 (the first parameters) is not a valid initial condition
so I suppose Mma postpones the substitution of the parameters by their actual
values until after the evaluation.
How can I force Mma to do substitute the parameters first and then evaluate.
(And, if somebody has time, (I would really appreciate it) how can I
implement this efficiently, because this is a quite important part of
my thesis in environmental sciences (waste water treatment))

Who can help me???

Marc Van Daele
vdaele at

  • Prev by Date: GraphicsArray
  • Next by Date: Help animation display.
  • Previous by thread: Request--Process Control
  • Next by thread: Help animation display.