24小时热门版块排行榜    

查看: 768  |  回复: 1

sara_ecust

新虫 (小有名气)

[求助] matlab问题 已有1人参与

Solver stopped prematurely.

lsqnonlin stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 400 (the default value).
程序运行后出现这个问题如何解决?
下面是程序:
function octene300
clear all;clc
format long;
global WF0 x PA0 PB0
F0=[15 17.5 20 22.5 25];
WF01=0.01./0.75*112/0.2./F0;
WF02=0.01./0.75*112/0.15./F0;
WF03=0.01./0.75*112/0.2./F0;
WF0=[WF01;WF02;WF03];
x1=[0.706437072 0.664245006 0.646259394 0.621726302 0.592621525];
x2=[0.718029406 0.68794238 0.671240637 0.6540687 0.611399535];
x3=[0.741205864 0.715903989 0.690602114 0.663064058 0.635526002];
x=[x1;x2;x3];
PA01=10.94593968;
PA02=8.105903925;
PA03=10.87159518;
PA0=[PA01 PA02 PA03];
PB01=0.480085074;
PB02=0;
PB03=0;
PB0=[PB01 PB02 PB03];




beta0=[1 1 1 1 1];
lb=[0 0 0 0 0];
ub=[inf inf inf inf inf];
[beta,resnorm,resid,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@OptObjFunc,beta0,lb,ub,[])
ci = nlparci(beta,resid,jacobian);
beta

%拟合效果图(实验与拟合的比较)
WF0c1=KineticsEqs(beta,x(1,,PA0(1),PB0(1));
F0c1=0.01*112./WF0c1/0.75/0.2;
WF0c2=KineticsEqs(beta,x(2,,PA0(2),PB0(2));
F0c2=0.01*112./WF0c2/0.75/0.15;
WF0c3=KineticsEqs(beta,x(3,,PA0(3),PB0(3));
F0c3=0.01*112./WF0c3/0.75/0.2;
plot(F0c1,x1,'k-',F0c2,x2,'r-',F0c3,x3,'g-',F0,x1,'ko', F0,x2,'ro', F0,x3,'go')
legend('0.2-0.15','0.15-0','0.2-0');xlabel('Flow rate of model oil  mL/h','FontSize',12);ylabel('1-octene Conversion','FontSize',12); xlim([10, 30]);
figure
plot(F0,F0,'k-',F0,F0c1,'bo',F0,F0c2,'go',F0,F0c3','ro')



% 残差关于拟合值的残差图
figure
plot(WF0c1,resid(:,1),'*',WF0c2,resid(:,2),'*',WF0c3,resid(:,3),'*')
xlabel('WF0')
ylabel('残差R')
refline(0,0)


% 参数辨识结果
fprintf('Estimated Parameters:\n')
fprintf('\tk = %.4f ± %.4f\n',beta(1),ci(1,2)-beta(1))
fprintf('\tn = %.2f ± %.2f\n',beta(2),ci(2,2)-beta(2))
fprintf('\ts = %.2f ± %.2f\n',beta(3),ci(3,2)-beta(3))
fprintf('\tq = %.2f ± %.2f\n',beta(4),ci(4,2)-beta(4))
fprintf('\tp = %.2f ± %.2f\n',beta(5),ci(5,2)-beta(5))
% ------------------------------------------------------------------
function f = OptObjFunc(beta,x,WF0)
global WF0 x PA0 PB0
WF1=KineticsEqs(beta,x(1,,PA0(1),PB0(1));
WF2=KineticsEqs(beta,x(2,,PA0(2),PB0(2));
WF3=KineticsEqs(beta,x(3,,PA0(3),PB0(3));
f1=WF0(1,-WF1;
f2=WF0(2,-WF2;
f3=WF0(3,-WF3;
f=[f1 f2 f3]


% ------------------------------------------------------------------
function WF = KineticsEqs(beta,x,PA0,PB0)
WF=(1+beta(4).*PB0)/(beta(1)+beta(2))/beta(3)./PA0.*log(1./(1-x))+x./(beta(1)+beta(2))+(beta(4)*0.22987+beta(5)-beta(5)*0.22987)/(beta(1)+beta(2))/beta(3).*(-x-log(1-x));
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

CelestialCYJ

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
sara_ecust: 金币+20, ★★★★★最佳答案 2015-01-03 22:36:13
添加代码options=optimoptions(@lsqnonlin,'MaxFunEvals',1000);~~~~~~~~~~修改代码lsqnonlin(@OptObjFunc,beta0,lb,ub,options)
2楼2014-12-28 15:28:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sara_ecust 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上项目filecode邪修 +3 西山十月 2026-08-09 3/150 2026-08-09 19:39 by Tide man
[基金申请] 关于代码变化问题,想知道的进来 +14 且听虎啸 2026-08-07 20/1000 2026-08-09 18:03 by 天神眷顾
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 好奇怪的filecode +3 布布和一二 2026-08-08 4/200 2026-08-08 17:46 by zhanghaozhu
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:27 by oEVWOejN9taj
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:22 by oEVWOejN9taj
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 qTvzQBRAHjCi 2026-08-07 5/250 2026-08-08 17:02 by oEVWOejN9taj
[博后之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:02 by oEVWOejN9taj
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:47 by oEVWOejN9taj
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:42 by oEVWOejN9taj
[基金申请] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 14:27 by oEVWOejN9taj
[基金申请] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[基金申请] 娱乐 +6 Tide man 2026-08-03 6/300 2026-08-07 22:40 by 铁帽子农民
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
信息提示
请填处理意见