24小时热门版块排行榜    

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

forestsong12

银虫 (小有名气)

[求助] 1stopt软件拟合非线性方程,计算结果全为0,这是为什么已有2人参与

Parameters T;
Variable x,y;
Function y= 3.741832*10^-16/(exp(0.01438786/(T*x*10^-3))-1)/(x*10^-3)^5;
Data;
405.425        19197
424.055        14239
441.669        11853
463.348         6832.2
541.255        4912.8
566.321        3806.9
609.001        2420.1
711.297        1356.1
744.153        810.13
764.477        613.14
804.786        412.09
852.208        315.52
900.307        463.06


迭代数: 33
计算用时(时:分:秒:微秒): 00:00:00:319
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 7875.40731737143
残差平方和(SSE): 806286525.388597
相关系数(R): 0.985793202644828
相关系数之平方(R^2): 0.971788238380747
决定系数(DC): -0.75817360362487
卡方系数(Chi-Square): 67231.0399999996
F统计(F-Statistic): 378.908299540322

参数        最佳估算
----------        -------------
T                  27.2788094020072

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

No        实测值y        计算值y
1        19197        0.0000000
2        14239        0.0000000
3        11853        0.0000000
4        6832.2        0.0000000
5        4912.8        0.0000000
6        3806.9        0.0000000
7        2420.1        0.0000000
8        1356.1        0.0000000
9        810.13        0.0000000
10        613.14        0.0000000
11        412.09        0.0000000
12        315.52        0.0000000
13        463.06        0.0000000
回复此楼

» 猜你喜欢

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

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

forestsong12

银虫 (小有名气)

引用回帖:
2楼: Originally posted by dingd at 2014-07-07 09:39:07
注意指数为负时的写法:

y= 3.741832*10^-16/(exp(0.01438786/(T*x*10^-3))-1)/(x*10^-3)^5;
改为
y= 3.741832*10^(-16)/(exp(0.01438786/(T*x*10^(-3)))-1)/(x*10^(-3))^5;

改了也不对 会不会是数据对不上啊
3楼2014-07-07 09:48:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
forestsong12: 金币+10, 有帮助, 非常感谢 2014-07-10 08:59:36
注意指数为负时的写法:

y= 3.741832*10^-16/(exp(0.01438786/(T*x*10^-3))-1)/(x*10^-3)^5;
改为
y= 3.741832*10^(-16)/(exp(0.01438786/(T*x*10^(-3)))-1)/(x*10^(-3))^5;
2楼2014-07-07 09:39:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
引用回帖:
3楼: Originally posted by forestsong12 at 2014-07-07 09:48:43
改了也不对 会不会是数据对不上啊...

公式本身不合适。
先来看你的数据
x    y
405.425        19197
424.055        14239
441.669        11853
463.348         6832.2
541.255        4912.8
566.321        3806.9
609.001        2420.1
711.297        1356.1
744.153        810.13
764.477        613.14
804.786        412.09
852.208        315.52
900.307        463.06
你给出方程简化得:
y=3.741832*0.1*(x^(-5)) / (exp(14.38786/T/x)-1)

注意x是几百数量级的,那么式中3.741832*0.1*(x^(-5))将是非常小的数,至少小于10^-11,4^5与9^5相差50倍;而y是数百到几万的数值,那么显然 exp(14.38786/T/x)-1  这一项应当是非常接近于0的数,也就是说 exp(14.38786/T/x)这一项应当非常接近于1,这要求T非常大;如前述,3.741832*0.1*(x^(-5))在x整个变化范围中数值变化达50倍,而至于指数函数而言,其变化范围是很窄的。
也就是,不可能存在合适的T值能满足高拟合的质量。
至于你说y的计算值为0的问题,在1stopt算法设置中,以简面体爬山法计算,可得:
相关系数(R): 0.985799655457293
相关系数之平方(R^2): 0.971800960699717
决定系数(DC): -0.758172807118177
卡方系数(Chi-Square): 67230.9893136268
F统计(F-Statistic): 379.084211127347

参数        最佳估算
----------        -------------
T                  117315023909293

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

No        实测值y        计算值y
1        19197        0.0038974
2        14239        0.0032564
3        11853        0.0027671
4        6832.2        0.0022845
5        4912.8        0.0012269
6        3806.9        0.0010237
7        2420.1        0.0007655
8        1356.1        0.0004113
9        810.13        0.0003434
10        613.14        0.0003083
11        412.09        0.0002510
12        315.52        0.0001996
13        463.06        0.0001603
从结果中可见,T的估算值非常大。
简而概之,就是公式不合适。此外,在拟合的时候,公式输入能化简就化简,有利于避免诸如过拟合之类的问题,从而得到高质量的拟合结果。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2014-07-07 18:47:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见