matlab lsqnonlin安装,lsqnonlin非线性拟合

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.

如何解决呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值