找回密码
 注册
Simdroid-非首页
查看: 156|回复: 2

关于自定义非线性拟合的一个例子!!!

[复制链接]
发表于 2006-10-23 12:59:52 | 显示全部楼层 |阅读模式 来自 河南郑州
1stopt 代码如下:
Parameter b(0:1);
Variable x, y;
Function y=(9642+b0)/(0.8*9642*b0)-exp(-0.4*b0*x/b1/60)/(0.8*b0);
Data;
0        0.0001172
15       0.0001172
45       0.0001250
105      0.0001250
225      0.0001276
465     0.0001328
705      0.0001328
945       0.0001328
1185     0.0001328
1425    0.0001328
1665      0.0001354
1905     0.0001380
2145   0.0001380
2385      0.0001380
2625    0.0001406
2865     0.0001406
3105    0.0001406
3345  0.0001406
3585    0.0001406
3825    0.0001458
4065     0.0001458
4365    0.0001458
拟合 出结果如下
b0                 -3893.77896415015
b1                 2307828.20139652
原始报告给出拟合数据如下
b0                 49650
b1                 308200
     我如何调整也不能拟合出它给出的解,这个问题怎么解决啊?哪位高人知道如何处理,或用别的软件能处理也行,自定义拟合公式 y=(9642+b0)/(0.8*9642*b0)-exp(-0.4*b0*x/b1/60)/(0.8*b0)。(x,y)取值如上所示。小弟不胜感激中!!!!
发表于 2006-10-23 17:09:35 | 显示全部楼层 来自 北京西城
Simdroid开发平台
一般而言,拟合的目标是残差平方和最小. 将原始报告的参数代入验算,最小残差为: 1.21069E-5, 而将1stOpt拟合出的参数代入,最小残差为: 4.22351E-6, 很显然, 如果纯粹从计算角度看,1stOpt的拟合结果比原报告好. 如果要追求与原报告一样,只能根据具体情况加约束条件,或改变目标函数的形式, 另外再仔细检查一下拟合公式.
 楼主| 发表于 2006-10-23 17:52:41 | 显示全部楼层 来自 河南郑州
不知shamohu兄是做哪方面工作的,我上面哪组数据是做岩石蠕变试验得出来的,所求的b0,b1也为岩石的蠕变参数,公式应该没错,因为用来验证其他几组试验都与原来的报告相符。但其中有几组不对。以下是我将报告中参数直接代入拟合公式得出的结果。相关系数也有0.94。
     此外,还有一个非常重要的问题,就是我直接代入报告给出参数得出的计算值y与原报告给出的计算值y差别比较大。
    迭代数: 16
计算用时(时:分:秒:微秒): 00:00:00:469
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 1.21069030142183E-5
残差平方和(SSE): 3.22469621310515E-9
相关系数(R): 0.940564591872439
相关系数之平方(R^2): 0.884661751484168
决定系数(DC): -1.23051508493147
卡方系数(Chi-Square): 1.1411082286775E-5
F统计(F-Statistic): 153.403014675177
                                                 y计算值
1        0.0001172          0.0001296
2        0.0001172                     0.0001300
3        0.000125        0.0001308
4        0.000125        0.0001323
5        0.0001276        0.0001350
6        0.0001328        0.0001395
7        0.0001328        0.0001430
8        0.0001328        0.0001457
9        0.0001328        0.0001478
10        0.0001328        0.0001494
11        0.0001354        0.0001506
12        0.000138        0.0001516
13        0.000138        0.0001523
14        0.000138        0.0001529
15        0.0001406        0.0001533
16        0.0001406        0.0001537
17        0.0001406        0.0001539
18        0.0001406        0.0001541
19        0.0001406        0.0001543
20        0.0001458        0.0001544
21        0.0001458        0.0001545
22        0.0001458        0.0001546
谢谢sha兄指点!
另,如果要加约束条件,1stopt1.0可以做到么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-9 04:29 , Processed in 0.048594 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表