24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2629  |  回复: 3

zhl717

铜虫 (小有名气)

[求助] 1st opt拟合方程——————求助!!已有1人参与

有高版本1st opt的大神帮忙跑下,谢谢!!!


Test1;
Parameters a,b,c,d,e,f,g,h;
SharedModel;
Variable t,X,P,S;
ODEFunction
X'=a*X*(1-X/b)*(1+S/c)^(-1);
P'=d*X'+e*X;
S'=f*X'+g*P'+h*X;
Data;
t,X,P,S;
0   0.35  0      99.8
12  2.75  0.55   88.96
24  4.6   3.72   73.49
36  6.27  8.19   61.57
48  8.07  14.12  47.38
60  9.73 19.37  33.63
72  10.41 22.54  24.65
84  10.7  27.61  11.19
96  10.53 32.49  3.2
108 10.56 35.62  0
120 10.59 37.58  0
132 10.4  38.44  0
144 10.77 39.88  0
回复此楼
加油!!!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

皓小天

木虫之王 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
zhl717: 金币+10, ★★★很有帮助 2015-09-06 09:53:54
首先这个不是sharemodel,而且你代码写的也有错。你的ode方程可以简化形式的,把第一个X’代入第二个ode方程,把第二个新的方程和第一个方程代入第三个方程,那么整个问题就简化成一个微分方程了。方程如下:
S'=f*(a*X*(1-X/b)*(1+S/c)^(-1))+g*(d*(a*X*(1-X/b)*(1+S/c)^(-1))+e*X)+h*X
代码改成如下:
Parameters a,b,c,d,e,f,g,h;
Variable t,X,P,S;
ODEFunction
S'=f*(a*X*(1-X/b)*(1+S/c)^(-1))+g*(d*(a*X*(1-X/b)*(1+S/c)^(-1))+e*X)+h*X;
Data;
0   0.35  0      99.8
12  2.75  0.55   88.96
24  4.6   3.72   73.49
36  6.27  8.19   61.57
48  8.07  14.12  47.38
60  9.73 19.37  33.63
72  10.41 22.54  24.65
84  10.7  27.61  11.19
96  10.53 32.49  3.2
108 10.56 35.62  0
120 10.59 37.58  0
132 10.4  38.44  0
144 10.77 39.88  0
结果如下:
均方差(RMSE):1.70125017832388
残差平方和(SSE):34.7310260309643
相关系数(R): 0.998920481960877
相关系数之平方(R^2): 0.997842129280951
确定系数(DC): 0.996942448980196
F统计(F-Statistic): 186.89093582654

参数                  最佳估算
--------------------        -------------
a        -0.307553362555249
b        11.7009599853419
c        -0.0108960231582921
d        17354.8847310689
e        -0.526630322610445
f        0.0237395701129598
g        -0.824893382148287
h        -0.326710215811974

====== 结果输出 ======

文件: 数据文件-1
No        t        目标 s        计算 s
1        12        88.96        90.6377657133101
2        24        73.49        77.4840744651627
3        36        61.57        61.5302531902025
4        48        47.38        45.0285350315543
5        60        33.63        33.8481939424802
6        72        24.65        25.1096267702726
7        84        11.19        11.1348638405025
8        96        3.2        0.0109328172964804
9        108        0        0.0109000671739397
10        120        0        0.0109000671739397
11        132        0        0.0109000671739397
12        144        0        0.0109000671739397
请不要站内找我要书,如果需要请到书籍板块求助
2楼2015-08-30 22:34:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhl717

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 皓小天 at 2015-08-30 22:34:38
首先这个不是sharemodel,而且你代码写的也有错。你的ode方程可以简化形式的,把第一个X’代入第二个ode方程,把第二个新的方程和第一个方程代入第三个方程,那么整个问题就简化成一个微分方程了。方程如下:
S'=f ...

谢谢啊,但是我这个是要拟合三条曲线,各自有各自的意义,这样一搞最后只剩s了啊
加油!!!
3楼2015-09-06 10:24:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhl717

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by 皓小天 at 2015-08-30 22:34:38
首先这个不是sharemodel,而且你代码写的也有错。你的ode方程可以简化形式的,把第一个X’代入第二个ode方程,把第二个新的方程和第一个方程代入第三个方程,那么整个问题就简化成一个微分方程了。方程如下:
S'=f ...

参数值也不太合理,可能是我方程有问题,你在帮我拟合一下这个吧,感激不尽啊

http://muchong.com/bbs/viewthread.php?tid=9291567
加油!!!
4楼2015-09-06 10:49:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zhl717 的主题更新
信息提示
请填处理意见