我写了一个简单的代码来解决稳态发酵问题。由于变量太多,它看起来很多。
function y = f (x)
mumax = 1.10; %h-1
Ksx = 1.32; %gl^-1
Pix=1.39; %gl^-1
Pmx=49.9; %gl^-1
Kix=304; %gl^-1
Pis=47.1; %gl^-1
Pms=95.5; %gl^-1
Kis=140; %gl^-1
qsmax=3.42; %gg^-1h^-1
Kss=2.05; %gl^-1
alp=0.39;
qpmax=3.02; %gg^-1h^-1
Ksp=2.05; %gl^-1
Kip=140; %gl^-1
Pip=47.1; %gl^-1
Pmp=95.5; %gl^-1
F=240;
S=40;
V=120;
D=0.5;
mu= (mumax*x(2)) / (Ksx+x(2));
y=[x(1)*(-D+mu*(1-(x(3)-Pix)/(Pmx-Pix))*(Kix/(Kix+x(2))));
D*(S-x(2))-(qsmax*(x(2)/(Kss+x(2)))*(1-((x(3)-Pis)/(Pms-Pis)))*(Kis/(Kis+x(2))))*x(1);
-x(3)*D+x(1)*(-D+mu*(1-(x(3)-Pix)/(Pmx-Pix))*(Kix/(Kix+x(2))))*alp+qpmax*(x(2)/(Ksp+x(2)))*(1-(x(3)-Pip)/(Pmp-Pip))*x(1)*(Kip/(Kip+x(2)));];
endfunction
[x, fval, info] = fsolve (@f, [2; 10; 30])
我将 D 定义为 0.5 但实际上我需要 D 在 0 和 1 之间的区间内的解决方案,然后绘制所有 x(1),x(2),x(3) 与 D。我尝试了类似
对于 i=0:0.1:1 D=num2str(i)
但它不工作也许我把它用错了方式?最好将所有内容保存到一个矩阵中以轻松绘制它。