24小时热门版块排行榜    

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

1135725495

铁杆木虫 (著名写手)

[求助] 求解微分方程组的参数 已有2人参与

求解K1,K2,a, m
方程组为:
CB'=-K1*CB^a*(k1/k2*CB^a)^m
CH'=K2*(K1/K2*CB^a)^m
t         CB         CH
60        10.9237        0
90        10.7462        0
120        10.4357        0.03778
135        10.1695        0.0432
150        9.7481        0.1203
165        9.2346        0.21242
180        8.6613        0.34579
195        8.0058        0.56225
210        7.2423        0.83487
225        6.4188        1.12793
240        5.5353        1.38079
255        4.5768        1.869
270        4.0146        2.5
285        3.5703        3.01
300        3.1158        3.54452
330        2.4438        4.312
360        1.9878        4.70402
390        1.6668        4.8548
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lu_yu_lan

新虫 (初入文坛)

【答案】应助回帖

参考:http://www.forcal.net/yyhz/luwffcnh.htm
代码:
!!!using["IMSL","luopt","math"]; //使用命名空间
f(t,CB,CH,dCB,dCH::K1,K2,a,m)=
{
  dCB=-K1*CB^a*(K1/K2*CB^a)^m,
  dCH=K2*(K1/K2*CB^a)^m
};
目标函数(_K1,_K2,_a,_m : i,s,tyz : tyArray,tA,max,K1,K2,a,m)=
{
     K1=_K1, K2=_K2, a=_a, m=_m,   //传递优化变量,函数f中要用到K1,K2,a,m
     tyz=ode[@f,tA,ra1(10.9237,0)],
     i=0, s=0, while{++i<max, s=s+[tyz(i,1)-tyArray(i,1)]^2+[tyz(i,2)-tyArray(i,2)]^2},
     s
};
main(::tyArray,tA,max)=
{
     tyArray=matrix{          //存放实验数据ti,yi
         "60        10.9237        0
90        10.7462        0
120        10.4357        0.03778
135        10.1695        0.0432
150        9.7481        0.1203
165        9.2346        0.21242
180        8.6613        0.34579
195        8.0058        0.56225
210        7.2423        0.83487
225        6.4188        1.12793
240        5.5353        1.38079
255        4.5768        1.869
270        4.0146        2.5
285        3.5703        3.01
300        3.1158        3.54452
330        2.4438        4.312
360        1.9878        4.70402
390        1.6668        4.8548"
     },
    len[tyArray,0,&max], tA=tyArray(all:0), //用len函数取矩阵的行数,tA取矩阵的列
    ClearImslErr(),             //清空IMSL错误输出
    ERSET(0,0,0),               //关闭IMSL所有警告
    Opt[@目标函数,optwaysimdeep, optwayconfra],              //Opt函数全局优化
    ERSET(0,2,2), ERSET(0,1,0)   //恢复IMSL警告
};

结果(K1,K2,a,m,目标函数值):

2.007221403771439e-002    3.477931047132456e-002    0.7598653691173753        -1.205432420176749        18.90800296978626
3楼2016-09-16 17:31:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
1135725495: 金币+5, 有帮助 2016-09-11 17:37:52
1stOpt试了下,或许还有更好的结果:

均方差(RMSE): 0.681320279985844
残差平方和(SSE): 15.7827090132796
相关系数(R): 0.971338834557611
相关系数之平方(R^2): 0.943499131519738
修正R平方(Adj. R^2): 0.930539243440337
确定系数(DC): 0.890053744503595
F统计(F-Statistic): 87.6923836038994

参数                  最佳估算
--------------------        -------------
k1        0.00556462413275392
a        -0.471720992027294
k2        0.000955248259076988
m        3.39014801069688
2楼2016-09-06 23:02:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lu_yu_lan

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by dingd at 2016-09-06 23:02:57
1stOpt试了下,或许还有更好的结果:

均方差(RMSE): 0.681320279985844
残差平方和(SSE): 15.7827090132796
相关系数(R): 0.971338834557611
相关系数之平方(R^2): 0.943499131519738
修正R平方(Adj. R^2):  ...

带入参数后为什么是如下结果,不知哪里有什么问题?

            60.        10.9237             0.
            90.        10.4374       0.255129
           120.        9.89908       0.531102
           135.        9.60554       0.678648
           150.        9.29215       0.833842
           165.        8.95519       0.997972
           180.         8.5897        1.17273
           195.        8.18881        1.36041
           210.        7.74256        1.56429
           225.        7.23555        1.78928
           240.        6.64186        2.04341
           255.        5.91159        2.34155
           270.        4.92268        2.71809
           285.          3.116        3.31463
           300.        -1.#IND        -1.#IND
           330.        -1.#IND        -1.#IND
           360.        -1.#IND        -1.#IND
           390.        -1.#IND        -1.#IND
4楼2016-09-17 08:11:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lu_yu_lan

新虫 (初入文坛)

【答案】应助回帖

如果怀疑t=60时初值的准确性,可将t=60时的初值也作为拟合参数。
代码:

!!!using["IMSL","luopt","math"]; //使用命名空间
f(t,CB,CH,dCB,dCH::K1,K2,a,m)=
{
   dCB=-K1*CB^a*(K1/K2*CB^a)^m,
   dCH=K2*(K1/K2*CB^a)^m
};
目标函数(_K1,_K2,_a,_m,CB60,CH60 : tyz : tyArray,tA,K1,K2,a,m)=
{
      K1=_K1, K2=_K2, a=_a, m=_m,      //传递优化变量,函数f中要用到K1,K2,a,m
      tyz=ode[@f,tA,ra1(CB60 ,CH60)],  //补充CB60,CH60为优化参数
      sum[(tyArray-tyz).^2.0,0]
};
main(::tyArray,tA)=
{
      tyArray=matrix{          //存放实验数据ti,yi
          "60        10.9237        0
90        10.7462        0
120        10.4357        0.03778
135        10.1695        0.0432
150        9.7481        0.1203
165        9.2346        0.21242
180        8.6613        0.34579
195        8.0058        0.56225
210        7.2423        0.83487
225        6.4188        1.12793
240        5.5353        1.38079
255        4.5768        1.869
270        4.0146        2.5
285        3.5703        3.01
300        3.1158        3.54452
330        2.4438        4.312
360        1.9878        4.70402
390        1.6668        4.8548"
      },
    tA=tyArray(all:0), //用tA取矩阵的列
    ClearImslErr(),    //清空IMSL错误输出
    ERSET(0,0,0),      //关闭IMSL所有警告
    Opt[@目标函数,optwaysimdeep, optwayconfra,optrange, -1e5,1e5, -1e5,1e5, -1e5,1e5, -1e5,1e5, 10.0,15.0, 0.0,0.03778],  //Opt函数全局优化
    ERSET(0,2,2), ERSET(0,1,0)   //恢复IMSL警告
};

结果(K1,K2,a,m,CB60,CH60,目标函数值):

1.323582077985482e-002    3.022295480133575e-002    0.9970827404206801        -0.8620485362713961       12.34254172021993         2.767575346307145e-008    13.27488182003417
5楼2016-09-17 10:07:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-28 09:33 by winsaint
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 8/400 2026-08-28 08:26 by lfy8008
[基金申请] 国自然面上复盘~欢迎讨论 (金币+5) +11 晴天加油 2026-08-26 12/600 2026-08-28 01:22 by li09465290@
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 XLGfUIdOmEAO 2026-08-27 4/200 2026-08-27 22:26 by 3RAFyYXYSwGS
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +7 苏东坡二世 2026-08-23 7/350 2026-08-27 18:14 by 瞬息宇宙
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 怎么看青基中了没有啊 +5 叶九微 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 02:01 by Ie9AyIAvGbvs
[基金申请] 系统查不到 +10 董八千 2026-08-26 10/500 2026-08-26 16:30 by Equinoxhua
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
信息提示
请填处理意见