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

请教有两组数据需要同时拟合应该怎么办?

[复制链接]
发表于 2009-4-21 07:31:19 | 显示全部楼层 |阅读模式 来自 美国
本帖最后由 chinapenguin 于 2009-4-21 20:22 编辑

matlab的cftool每次只能填一个function。有两组数据点,两个函数的系数是共享的,需要拟合出的参数为g1,g2,a, b1, b2。fit的结果需要同时满足两个方程。我如果只输入一个方程,拟合得到的参数代入第二个方程,拟合的不好。有没有办法可以同时拟合呢?两个方程如下:

y1*g2+exp(-b1*x1-b2*y1) = 100-x1*g1-a*g2*exp(-b1*x1)/b2;

x2*g1+exp(-b1*y2-b2*x2) = 100-y2*g2-a*g1*exp(-b2*y2)/b1;

数据如下:x1,y1是第一个方程的一组数据,y2,x2是第二个方程的一组数据

x1=[0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        150        851        900        1938        2008        2008        2008        2045        3014        3493        3575        3744.5        8046        21755        28941]

y1=[50.5        41.5        37.5        62        10.5        9        15        26        30        33        35        35        35        41        49        53        54        60        62        70        71        74        113        32.5        22        131.5        54.5        120        125        66        60        90.5        15.5        48        31        38.5        11.5]

y2=[0        0        0        0        22        22        22        22        22        22        22        22        22        22]

x2=[23281        28121        38393        22860        4099        2718        3635        3422        2163        3709        6028        5571        2081        5993]
谢谢!
发表于 2009-4-21 07:57:50 | 显示全部楼层 来自 宁夏银川
Simdroid开发平台
可以利用1stopt来解决你的问题啊!你试试
回复 不支持

使用道具 举报

发表于 2009-4-21 08:02:30 | 显示全部楼层 来自 宁夏银川
你把数据放上来,我帮你跑跑结果!
回复 不支持

使用道具 举报

 楼主| 发表于 2009-4-21 20:17:48 | 显示全部楼层 来自 美国
谢谢楼上的大虾啊。数据如下:x1,y1是第一个方程的一组数据,y2,x2是第二个方程的一组数据

x1=[0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        0        150        851        900        1938        2008        2008        2008        2045        3014        3493        3575        3744.5        8046        21755        28941]

y1=[50.5        41.5        37.5        62        10.5        9        15        26        30        33        35        35        35        41        49        53        54        60        62        70        71        74        113        32.5        22        131.5        54.5        120        125        66        60        90.5        15.5        48        31        38.5        11.5]

y2=[0        0        0        0        22        22        22        22        22        22        22        22        22        22]

x2=[23281        28121        38393        22860        4099        2718        3635        3422        2163        3709        6028        5571        2081        5993]
回复 不支持

使用道具 举报

发表于 2009-4-22 12:10:42 | 显示全部楼层 来自 宁夏银川
优化算法: 准牛顿法(BFGS) + 通用全局优化法
计算结束原因: 达到收敛判定标准
均方差(RMSE): 869.156037754047
残差平方和(SSE): 55901984.1293593
相关系数(R): 0.980481000124448
相关系数之平方(R^2): 0.961342991605039
决定系数(DC): 0.961321064225689
F统计(F-Statistic): 870.398566862771

参数                  最佳估算
--------------------        -------------
a                  -1.66092495398593
g1                 -2633.79597304165
g2                 324.848952846558
b1                 -0.484616439194973
b2                 3516.5536789778

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

No        实测y1        计算y1        实测y2        计算y2
1        0        8.41635798100761        0        409.7495019523
2        0        16.5245919131696        0        336.779699988457
3        0        24.633124002035        0        304.348676893417
4        0        32.7421401638598        0        502.988693350542
5        0        40.8519422433828        22        85.4392710018901
6        0        48.9630203012809        22        73.2776373412498
7        0        57.0761699766242        22        121.924171983811
8        0        65.1926830309419        22        211.109485495174
9        0        73.3146567064532        22        243.540508590215
10        0        81.4454959852897        22        267.863775911496
11        0        89.5907290335406        22        284.079287459016
12        0        97.7593311171922        22        284.079287459016
13        0        105.965874048709        22        284.079287459016
14        0        114.23401592567        22        332.725822101577
15        0        122.602166903463        0        397.587868291659
16        0        131.132687872776        0        430.0188913867
17        0        139.926824992283        0        438.12664716046
18        0        149.148956681437        0        486.773181803022
19        0        159.065959877935        0        502.988693350542
20        0        170.111123210012        0        567.850739540624
21        0        182.987913365261        0        575.958495314385
22        0        198.838445202708        0        600.281762635665
23        150        219.517001766895        0        916.484237812315
24        851        248.034108297126        0        263.809898024615
25        900        289.277509543679        0        178.678462400133
26        1938        351.182714045713        0        1066.47771962688
27        2008        446.633433820206        0        442.180525047341
28        2008        596.547047320897        0        973.238528228636
29        2008        834.884009485016        0        1013.77730709744
30        2045        1216.78089022712        0        535.419716445583
31        3014        1831.75478664032        0        486.773181803022
32        3493        2825.1413749264        0        734.059732902709
33        3575        4432.90070587942        0        125.978049870691
34        3744.5        7038.12622926897        0        389.480112517899
35        8046        11262.7901423483        0        251.648264363975
36        21755        18116.6967484503        0        312.456432667177
37        28941        29239.3160038417        0        93.5470267756504

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-4-22 12:48:35 | 显示全部楼层 来自 黑龙江哈尔滨
你把两个x和两个y搞成向量形式的,重新写一下成矩阵形式不就可以了吗
回复 不支持

使用道具 举报

发表于 2009-4-22 13:38:07 | 显示全部楼层 来自 宁夏银川
这是用你的数据画出来的图像,感觉不是很好!你在看看你的数据

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2009-4-22 15:02:57 | 显示全部楼层 来自 浙江杭州
我也觉得lz的数据有问题

这是用你的数据画出来的图像,感觉不是很好!你在看看你的数据
wanglei5201118 发表于 2009-4-22 13:38
回复 不支持

使用道具 举报

发表于 2009-4-23 08:14:32 | 显示全部楼层 来自 台湾
第一时间我认为合并即可! 但仔细一看LZ的两个式子好像并无相同, 重新排列如下
y1*g2+x1*g1+exp(-b1*x1-b2*y1)+a*g2*exp(-b1*x1)/b2=100
y2*g2+x2*g1+exp(-b1*y2-b2*x2)+a*g1*exp(-b2*y2)/b1=100
敢问LZ式子有无给错?!
还有LZ给的数据, 重复情况亦多! 数值差距亦大! 直觉怪怪的!
个人水平专业有限, 建议楼主说清楚些, 最好是交代原始问题!

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

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

GMT+8, 2024-10-7 09:24 , Processed in 0.066952 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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