Hi updating name,
Sorry for delaying.
Here you can see that actually the data are a (x,y) pair. In my case the data are :
(t, X) for the first differential equation,
(t, S) for the second one,
and
(t,Eta) for the third one.
So I would like to try with the answer that you give before, but changing the data with (x,y) pair.
Like you said before, of course is a " three simultaneous fit" .
Maybe is goind to be helpful for both, and thankyou again.
Here: the wolfram demosntration.
In[23]:= Cinetica2 = ({
{0, 0.04, 16.04, 0.30},
{2, 0.19, 13.52, 0.51},
{4, 0.39, 10.99, 1.22},
{6, 1.11, 8.23, 2.96},
{8, 1.96, 0.37, 6.08},
{10, 2.09, 0.31, 5.82},
{12, 2.41, 0.28, 5.69},
{14, 2.41, 0.26, 5.62}
});
In[24]:= DataX = {{0, 0.04}, {2, 0.19}, {4, 0.39}, {6, 1.11}, {8,
1.96}, {10, 2.09}, {12, 2.41}, {14, 2.41}};
DataS = {{0, 16.04}, {2, 13.52}, {4, 10.99}, {6, 8.23}, {8,
0.37}, {10, 0.31}, {12, 0.28}, {14, 0.26}};
DataEta = {{0, 0.30}, {2, 0.51}, {4, 1.22}, {6, 2.96}, {8, 6.08}, {10,
5.82}, {12, 5.69}, {14, 5.62}};
In[27]:= Manipulate[
Module[{Gompertz, Ks, Yxsg, Ypsg, Yps, Ms, Yo2, Coe},
Ks = 0.025; Yxsg = 0.44; Ypsg = 0.40; Yps = 0.4; Ms = 0.036;
Yo2 = 1.14; Coe = 0.007;
[Mu]v = [Mu]max Su[t]/(Ks + Su[t])*(Cox[t]/(ko + Cox[t]));
Rb1 = ([Mu]vLog[Kx/Yb[t]]Yb[t]);
REt1 = [Alpha]Rb1 + [Beta]Yb[t];
Gompertz = NDSolve[{D[Yb[t], {t, 1}] == ([Mu]vLog[Kx/Yb[t]]Yb[t]),
D[Su[t], {t, 1}] == -(Rb1/Yxsg) - Ms Yb[t] - REt1/Ypsg,
D[Eta[t], {t, 1}] == REt1,
D[Cox[t], {t, 1}] == KlA(Coe - Cox[t]) - ([Mu]v/Yo2)Yb[t],
Yb[0] == 0.1, Su[0] == 15, Eta[0] == 0.36, Cox[0] == 0.007},
{Yb[t], Su[t], Eta[t], Cox[t]}, {t, 0, 15}];
Multicolumn[{
Show[Plot[Evaluate[Yb[t] /. Gompertz], {t, 0, 15},
PlotRange -> All, Frame -> True, PlotStyle -> {Blue, Thick},
FrameLabel -> {"time (h)", "Concentration(g/L)"},
PlotLabel -> "Biomass Production", PlotLegends -> {"[Biomass]"},
PlotTheme -> "Scientific", GridLines -> Automatic,
ImageSize -> Small],
ListPlot[DataX, Filling -> Axis,
PlotMarkers -> Style["[FilledCircle]", 12, Blue],
PlotStyle -> Red, PlotLegends -> {"Experimental data"}]],
Show[Plot[Evaluate[Su[t] /. Gompertz], {t, 0, 15},
PlotRange -> All, Frame -> True, PlotStyle -> {Orange, Thick},
FrameLabel -> {"time (h)", "Concentration(g/L)"},
PlotLabel -> "Substrate Uptake", PlotLegends -> {"[Ethanol]"},
PlotTheme -> "Scientific", GridLines -> Automatic,
ImageSize -> Small],
ListPlot[DataS, Filling -> Axis,
PlotMarkers -> Style["[FilledCircle]", 12, Orange],
PlotStyle -> Red, PlotLegends -> {"Experimental data"}]],
Show[Plot[Evaluate[Eta[t] /. Gompertz], {t, 0, 15},
PlotRange -> All, Frame -> True, PlotStyle -> {Gray, Thick},
FrameLabel -> {"time (h)", "Concentration(g/L)"},
PlotLabel -> "Ethanol Formation", PlotLegends -> {"[Ethanol]"},
PlotTheme -> "Scientific", GridLines -> Automatic,
ImageSize -> Small],
ListPlot[DataEta, Filling -> Axis,
PlotMarkers -> Style["[FilledCircle]", 12, Black],
PlotStyle -> Black, PlotLegends -> {"Experimental data"}]]}, 1]],
Item[Style["Metaboites Formation", Bold, Blue, Italic, 12],
Alignment -> Center],
Item[Style["Ethanol", Bold], Alignment -> Center],
{{[Alpha], 0.25, "alfa"}, 0, 1, 0.01, Appearance -> "Open"},
{{[Beta], 0.01, "beta"}, 0, 1, 0.01, Appearance -> "Open"},
Delimiter,
Item[Style["oxygen transfer coefficient", Bold], Alignment -> Center],
{{KlA, 450, "Kla"}, 0, 500, 10, Appearance -> "Labeled"},
Delimiter, Item[Style["Growth rate", Bold], Alignment -> Center],
{{[Mu]max, 0.9, "[Mu]max"}, 0.05, 1, 0.05, Appearance -> "Labeled"},
Delimiter,
Item[Style["Constant oxygen affinity", Bold], Alignment -> Center],
{{ko, 0.021, "kc"}, 0, 0.03, 0.001, Appearance -> "Labeled"},
Delimiter,
Item[Style["Gompertz Model", Bold, Blue, Italic, 12],
Alignment -> Left],
Item[Style["Maximum biomass concentration", Bold],
Alignment -> Center],
{{Kx, 3, "K"}, 1, 3.5, 0.5, Appearance -> "Labeled"},
TrackedSymbols :> {[Alpha], [Beta], [Mu]max, ko, Kx, KlA},
SynchronousUpdating -> False, ControlPlacement -> Left]
Out[27]= Manipulate[Module[{Gompertz$, Ks$, Yxsg$, Ypsg$, Yps$, Ms$, \
Yo2$, Coe$}, Ks$ = 0.025; Yxsg$ = 0.44; Ypsg$ = 0.4; Yps$ = 0.4; Ms$ \
= 0.036; Yo2$ = 1.14;
Coe$ = 0.007; [Mu]v = [Mu]max(Su[t]/(Ks$ + Su[t]))(Cox[t]/(ko \
+ Cox[t])); Rb1 = [Mu]vLog[Kx/Yb[t]]Yb[t]; REt1 = [Alpha]*Rb1 + \
[Beta]*Yb[t];
Gompertz$ = NDSolve[{D[Yb[t], {t, 1}] == \
[Mu]vLog[Kx/Yb[t]]Yb[t], D[Su[t], {t, 1}] == -(Rb1/Yxsg$) - \
Ms$Yb[t] - REt1/Ypsg$,
D[Eta[t], {t, 1}] == REt1, D[Cox[t], {t, 1}] == KlA(Coe$ - \
Cox[t]) - ([Mu]v/Yo2$)*Yb[t], Yb[0] == 0.1, Su[0] == 15, Eta[0] == \
0.36,
Cox[0] == 0.007}, {Yb[t], Su[t], Eta[t], Cox[t]}, {t, 0, 15}];
Multicolumn[{Show[Plot[Evaluate[Yb[t] /. Gompertz$], {t, 0, 15}, \
PlotRange -> All, Frame -> True, PlotStyle -> {Blue, Thick},
FrameLabel -> {"time (h)", "Concentration(g/L)"}, PlotLabel \
-> "Biomass Production", PlotLegends -> {"[Biomass]"}, PlotTheme -> \
"Scientific",
GridLines -> Automatic, ImageSize -> Small], ListPlot[DataX, \
Filling -> Axis, PlotMarkers -> Style["[FilledCircle]", 12, Blue], \
PlotStyle -> Red,
PlotLegends -> {"Experimental data"}]], \
Show[Plot[Evaluate[Su[t] /. Gompertz$], {t, 0, 15}, PlotRange -> All, \
Frame -> True,
PlotStyle -> {Orange, Thick}, FrameLabel -> {"time (h)", \
"Concentration(g/L)"}, PlotLabel -> "Substrate Uptake", PlotLegends \
-> {"[Ethanol]"},
PlotTheme -> "Scientific", GridLines -> Automatic, ImageSize \
-> Small], ListPlot[DataS, Filling -> Axis, PlotMarkers -> Style["\
[FilledCircle]", 12, Orange],
PlotStyle -> Red, PlotLegends -> {"Experimental data"}]], \
Show[Plot[Evaluate[Eta[t] /. Gompertz$], {t, 0, 15}, PlotRange -> \
All, Frame -> True,
PlotStyle -> {Gray, Thick}, FrameLabel -> {"time (h)", \
"Concentration(g/L)"}, PlotLabel -> "Ethanol Formation", PlotLegends \
-> {"[Ethanol]"},
PlotTheme -> "Scientific", GridLines -> Automatic, ImageSize \
-> Small], ListPlot[DataEta, Filling -> Axis,
PlotMarkers -> Style["[FilledCircle]", 12, Black], PlotStyle \
-> Black, PlotLegends -> {"Experimental data"}]]}, 1]],
Item[Style["Metaboites Formation", Bold, RGBColor[0, 0, 1], Italic, \
12], Alignment -> Center], Item[Style["Ethanol", Bold], Alignment -> \
Center],
{{[Alpha], 0.25, "alfa"}, 0, 1, 0.01, Appearance -> "Open"}, {{\
[Beta], 0.01, "beta"}, 0, 1, 0.01, Appearance -> "Open"}, Delimiter,
Item[Style["oxygen transfer coefficient", Bold], Alignment -> \
Center], {{KlA, 450, "Kla"}, 0, 500, 10, Appearance -> "Labeled"}, \
Delimiter,
Item[Style["Growth rate", Bold], Alignment -> Center], {{[Mu]max, \
0.9, "[Mu]max"}, 0.05, 1, 0.05, Appearance -> "Labeled"}, Delimiter,
Item[Style["Constant oxygen affinity", Bold], Alignment -> Center], \
{{ko, 0.021, "kc"}, 0, 0.03, 0.001, Appearance -> "Labeled"}, \
Delimiter,
Item[Style["Gompertz Model", Bold, RGBColor[0, 0, 1], Italic, 12], \
Alignment -> Left], Item[Style["Maximum biomass concentration", Bold],
Alignment -> Center], {{Kx, 3, "K"}, 1, 3.5, 0.5, Appearance -> \
"Labeled"}, TrackedSymbols :> {[Alpha], [Beta], [Mu]max, ko, Kx, \
KlA},
SynchronousUpdating -> False, ControlPlacement -> Left]