声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1890|回复: 5

[编程技巧] 请教有两组数据需要同时拟合应该怎么办?

[复制链接]
发表于 2009-4-21 07:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
matlab的cftool每次只能填一个function。有两组数据点,[x1,y1]是20个点,[y2,x2]是另外20个点,两个函数的系数是共享的,需要拟合出的参数为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;
如果matlab做不了,有没有其他工具可以实现呢?谢谢!

[ 本帖最后由 chinapenguin 于 2009-4-21 07:40 编辑 ]
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-4-21 20:32 | 显示全部楼层

回复 楼主 chinapenguin 的帖子

自己顶一个
数据如下: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 01:15 | 显示全部楼层
你把x1,x2合并成一组数据再拟合不行么?
发表于 2009-4-22 09:05 | 显示全部楼层
从表达式看差不多,合并成一起试试
 楼主| 发表于 2009-4-22 11:20 | 显示全部楼层
可是两组数据点数不一样呀?而且即使点数一样,怎么合并啊?相加,还是相乘呢?这样就把二元变成四元了吧,matlab是不是只能处理二元的拟合啊
发表于 2009-4-22 15:35 | 显示全部楼层
第一时间我亦如同3/4F两位一样, 认为合并即可!
但仔细一看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在2F给的数据, 重复情况亦多! 数值差距亦大! 直觉怪怪的!
个人水平专业有限, 建议楼主说清楚些, 最好是交代原始问题!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-10-1 09:38 , Processed in 0.053778 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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