clear all;clc
global v R T yh2oin ycoin yco2in yh2in kp ycoout
t=[448.69 449.03 450.18 450.71 450.47 430.01 430.31 430.03 430.17 427.29 410.13 410.08 410.37 410.00 409.96 390.00 390.00 389.99 390.00 390.00];%反应温度
T=t+273.15;%绝对温度K
R=8.314;%气体常数
kp=exp(4575./T-4.33);%平衡常数
ycoin =[0.09865 0.13296 0.18299 0.23883 0.13809 0.13918 0.15477 0.14327 0.16374 0.13077 0.10624 0.11253 0.19904 0.20900 0.19895 0.12235 0.17431 0.14712 0.18064 0.16864];%进口CO含量
yh2oin=[0.52349 0.45073 0.39759 0.33124 0.45811 0.30844 0.39573 0.51067 0.54215 0.32203 0.48650 0.54179 0.32176 0.42416 0.32176 0.41059 0.32107 0.50444 0.48270 0.31474];%进口H2O含量
yco2in=[0.09440 0.08103 0.07302 0.05747 0.09028 0.11332 0.11931 0.04328 0.05115 0.10654 0.06181 0.03400 0.13821 0.09236 0.13688 0.04807 0.07740 0.07265 0.09696 0.08260];%进口CO2含量
yh2in=[0.09363 0.14281 0.17864 0.22005 0.13013 0.20040 0.20556 0.10088 0.10997 0.20593 0.17479 0.13200 0.16644 0.09602 0.17151 0.14214 0.13702 0.18113 0.16127 0.13905];%进口H2含量
v=[21.3952 18.2224 15.0234 13.5257 19.5599 14.5256 18.8683 19.0081 20.6600 16.2300 18.4185 20.6734 13.9253 15.8444 13.9233 16.3679 13.9538 20.7244 17.0155 14.2337];%总原料流量
ycoout=[0.07304 0.08526 0.12500 0.16207 0.08445 0.10695 0.13233 0.10264 0.11417 0.09878 0.09192 0.08657 0.17122 0.17377 0.17204 0.10501 0.14913 0.13370 0.15282 0.14068];%出口CO含量
k0=[3.5e5 8.4e4 0.9 0.6 -0.5 -0.04]; % k(指前因子、活化能、反应级数)初始向量
lb=[1e5 3e4 0 0 -1 -0.1];
ub=[1e6 1.5e5 1 1 0.5 0.5];% k上下限
tspan =[0 0.6091];
[k,resnorm,residual,exitflag]=lsqnonlin(@ObjFunc,k0,lb,ub);
%————————————————————————————————————————
function dydw = Euqations(w,yco,k) % w催化剂质量
global v R T yh2oin ycoin yco2in yh2in kp ycoout
dydw=-22.4./v*k(1).*exp(-k(2)/R.*T).*(yco').^k(3).*(yh2oin-(ycoin-yco')).^k(4).*(yco2in+(ycoin-yco')).^k(5).*(yh2in+(ycoin-yco')).^k(6).*(1-(yco2in-(ycoin-yco').*yh2in-(ycoin-yco'))./(kp.*yco'.*yh2oin-(ycoin-yco')));% 反应速率
dydw=dydw';
%——————————————————————
function f=ObjFunc(k) % 目标函数
global v R T yh2oin ycoin yco2in yh2in kp ycoout
tspan =[0 0.6091]; % 即催化剂装填量/g
[w yco] = ode45(@Euqations,tspan,ycoin,[],k);%4,5阶龙格库塔法求解
ycow=yco(end,:);%出口CO含量
f=ycoout-ycow;
现在要拟合一个函数的值,程序能运行,但是结果就是初始值,没有进行迭代,显示:
Initial point is a local minimum.
Optimization completed because the size of the gradient at the initial point
is less than the default value of the function tolerance.
如何解决呢?