How to obtain model parameters by fitting experimental data to the monod model. monod model.

t= [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 48]
x= [15, 18.3, 22, 23.4, 23.8, 24.1, 24.5, 24.8, 24.87, 24.9, 24.95, 25, 25]
S= [49.7, 28, 26.1, 18.1, 13.7, 10.1, 4.1, 1.2, 0.3, 0.08, 0.05, 0.05, 0.05 ]
P= [0, 5.2, 8.1, 9.3, 10.5, 12.3, 12.8, 13.2, 13.6, 13.8, 13.9, 13.95, 13.95]
I used initial guess values of umax, ks, y1 and y2 as 0.5, 55, 5 and 1.4 respectively. dx/dt= umax*s*x/(ks + s); ds/dt= -y1*umax*s*x/(ks + s) dp/dt= y2*umax*s*x/(ks +s). I used the code provided by star strider on a similar question but I keep getting errors, I also have to fit the data to other fermentation models. Also can simulink be used for the fitting?

7 comentarios

Please post the code you are using.
Copy it from your Editor, paste it either as an edit to your original post or to a Comment here, then use the leftmost button in the CODE part of the toolstrip to format it.
It might be possible to use Simulink to fit it, however I haven’t used Simulink in a while, and never for this sort of problem, so I won’t even attempt that.
.
Hi, O'Brien, the data lengths are not matched: there are 12 data points for t, but 13 for X, S and P, making correction please.
dx/dt = umax*s*x/(ks + s)
ds/dt = -y1*umax*s*x/(ks + s)
dp/dt = y2*umax*s*x/(ks + s)
t = [0 4 8 12 16 20 24 28 32 36 40 44 48 48]
x = [15 18.3 22 23.4 23.8 24.1 24.5 25.62 26.1 26.25 26.26 26.26 26.27]
s = [49.7 28 26.1 18.1 13.7 10.1 4.1 1.2 0.3 0.08 0.05 0.05 0.5]
p = [0 5.2 8.1 9.3 10.5 12.3 12.8 13.2 13.6 13.8 13.9 13.95 13.95]
plot(t,x) hold on plot(t,s) plot(t,p) hold off
umax = 0.5 ks = 57 y1 = 4 y2 = 0.95
%a(1) = x %a(2) = s %a(3) = p f = @(t,a) [umax*a(1)*a(2)/(ks + a(2)); -(y1)*umax*a(1)*a(2)/(ks + a(2)); y2*umax*a(1)*a(2)/(ks + a(2))]; xt0 = [15,49.7,0] [t,a] = ode45(f,[0 48],xt0);
I still need the code you’re using.
That’s the only way to determine what the problem is with it.
.
I tried using that code to numerically integrate the models from 0 to 48 with the guess values for the model parameters. I kept getting errors.... I have to fit the model to the experimental parameters. It was easier to numerically integrate the models using simulink but I dunno how to do the fitting on either Matlab or simulink.
Really new to Matlab and simulink

Iniciar sesión para comentar.

 Respuesta aceptada

Refer to the results below:
Root of Mean Square Error (RMSE): 1.50437634361661
Sum of Squared Residual: 81.4733345963976
Correlation Coef. (R): 0.97672011839718
R-Square: 0.9539821896818
Parameter Best Estimate
-------------------- -------------
umax -0.0619295716977556
ks -88.5509341201568
y1 4.65073776898894
y2 1.33836136350295

2 comentarios

Thanks @Alex Sha..... But the values of umax and ks are supposed to non- negative
If you want all parameters to be positive without upper bound limition, the result will be a bit strange as below:
Root of Mean Square Error (RMSE): 1.70454457017103
Sum of Squared Residual: 104.596998901184
Correlation Coef. (R): 0.976253765588915
R-Square: 0.953071414826535
Parameter Best Estimate
-------------------- -------------
y1 4.78475504434034
y2 1.35947688117111
umax 515071175352863
ks 5.10885251418351E17

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 30 de Jul. de 2021

Comentada:

el 31 de Jul. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by