24小时热门版块排行榜    

查看: 4002  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zoe070721

银虫 (小有名气)

[求助] 用lsqnonlin拟合已知活度系数模型,残差大,无法获得最优解,请大神看看代码的问题! 已有2人参与

求助各位大神!!!
       小虫妹在拟合已知NRTL模型时(如图片),用matlab中最小二乘法来拟合实验数据,以求得模型中的两个参数△g12,△g21,目标方程设为OF。
编入的代码如下,运行之后,输出如下,感觉残差值比较大,拟合值好像是局部最优解,而不是全局最优; 改变初始值,对参数值的影响也很大,
初始值的设置也是个难题。
       请大神看看,问题该如何解决???

       另求版内大神是否有高版本1stOp能否代跑一下,给出个初值或者最优解,小虫妹不胜感激,可追加金币!!!

function OF=ObjFunBinary(x)   %目标函数
format long
T=[278.15,283.15,288.15,293.15,298.15,303.15,308.15,313.15,318.15];
x1=[0.01217,0.01457,0.01704,0.02085,0.02337,0.02707,0.03041,0.03377,0.03766];

x2=1-x1;
R=8.3145;
H=19.76;
Tm=454.8;
gamma_exp=exp(H/R*(1/Tm-1./T))./x1;
a=x(1);g1=x(2);g2=x(3);%x(1)根据文献一般取0.2、0.3或者0.47
t12=g1./(R*T);
t21=g2./(R*T);
G12=exp(-a.*t12);
G21=exp(-a.*t21);
lngama1=x2.^2.*(t21.*G21.^2./(x1+x2.*G21).^2+t12.*G12./(x2+x1.*G12).^2);
gamma_cal=exp(lngama1);
OF=gamma_cal-gamma_exp;

beta0 = [0.31 2000 8000];  %参数初始值
options.Algorithm = 'levenberg-marquardt';
[beta,resnorm,residual,exitflag,output]=lsqnonlin(@ObjFunBinarynew,beta0,[],[],options)


输出的结果是

Local minimum possible.

lsqnonlin stopped because the final change in the sum of squares relative to
its initial value is less than the default value of the function tolerance.

<stopping criteria details>


beta =

   1.0e+04 *

   0.000044925534703   1.158249518250641   1.085523151964263


resnorm =

   3.233501964174955


residual =

  Columns 1 through 7

  -0.835682305165847   0.375853525304237   0.641305366330478   0.765737066136275   0.366439803004162   0.007880991932048  -0.337551041065019

  Columns 8 through 9

  -0.624403280363090  -0.870680738315109


exitflag =

     3


output =

       iterations: 37
        funcCount: 168
         stepsize: 23.651354916984875
     cgiterations: []
    firstorderopt: 0.093957635054323
        algorithm: 'levenberg-marquardt'
          message: 'Local minimum possible.

lsqnonlin stopped because the final change in the sum of squares relative to
its initial value...'

用lsqnonlin拟合已知活度系数模型,残差大,无法获得最优解,请大神看看代码的问题!
1305562_1333620757_902.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yz457694

铁杆木虫 (正式写手)

试着调options,也可以自己构造目标函数(最小二乘),然后用单纯形法实现,参考matlab里面的fminsearch函数帮助

发自小木虫Android客户端

» 本帖已获得的红花(最新10朵)

5楼2017-06-12 12:58:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

cxsysss

银虫 (小有名气)

我使用过isqnonlin这个函数,不过没用过1stop,可以尝试一下,如果你时间不是很急的话

发自小木虫Android客户端
珍惜时间
2楼2017-06-05 08:52:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zoe070721

银虫 (小有名气)

引用回帖:
2楼: Originally posted by cxsysss at 2017-06-05 08:52:39
我使用过isqnonlin这个函数,不过没用过1stop,可以尝试一下,如果你时间不是很急的话

非常感谢,可以试一下
3楼2017-06-05 09:12:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zoe070721

银虫 (小有名气)

自己顶一下,求大神帮帮忙
4楼2017-06-06 10:04:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 ASdOkHsho7FD 2026-08-28 5/250 2026-08-29 14:24 by jCd0dEvKHShX
[公派出国] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ASdOkHsho7FD 2026-08-28 5/250 2026-08-29 14:23 by jCd0dEvKHShX
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ASdOkHsho7FD 2026-08-28 7/350 2026-08-29 14:15 by jCd0dEvKHShX
[论文投稿] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ASdOkHsho7FD 2026-08-28 4/200 2026-08-29 14:13 by jCd0dEvKHShX
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ASdOkHsho7FD 2026-08-28 5/250 2026-08-29 11:49 by jCd0dEvKHShX
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ASdOkHsho7FD 2026-08-28 9/450 2026-08-29 11:18 by jCd0dEvKHShX
[基金申请] 中青基了要发朋友圈吗? +3 349506619 2026-08-28 3/150 2026-08-29 10:49 by 木风9012
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-29 10:18 by winsaint
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 ASdOkHsho7FD 2026-08-28 7/350 2026-08-29 09:26 by G6APbkg8SA6w
[基金申请] 有没有仍没收到信息的 +3 德尚中行 2026-08-27 3/150 2026-08-28 15:24 by rongshuxia
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
信息提示
请填处理意见