24小时热门版块排行榜    

查看: 2078  |  回复: 12

xiexuewang

金虫 (小有名气)

[交流] 【求助】二元函数拟合 已有6人参与

t,c0,c每组35个数据
t=[0 24 48 60 72 84 96 0 24 48 60 72 84 96 0 24 48 60 72 84 96 0 24 48 60 72 84 96 0 24 48 60 72 84 96];
c0=[25 25 25 25 25 25 25 50 50 50 50 50 50 50 75 75 75 75 75 75 75 100 100 100 100 100 100 100 150 150 150 150 150 150 150];
c=[25 24.6 21.9 14.3 9 6 4 50 46 40 26 22 17 14 75 73 69.7 63.6 50.9 31 26.3 100 97.9 92.4 83.3 58.3 41.6 30 150 148 142 120.7 109.5 86.8 54];

拟合函数形式:c=(A(1)*c0+A(2))*(A(3)*exp(A(4)*t)+A(5)*exp(A(6)*t)
求解A1-A6的值

[ Last edited by xiexuewang on 2010-5-13 at 14:05 ]
回复此楼

» 猜你喜欢

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

没有不劳而获,任何成就都是汗水浇灌的结果
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaojun376

金虫 (小有名气)


zzuwangshilei(金币+1):帮助他人解决问题 2010-05-12 19:25:27
你这好像不是拟合,是参数估计,你是想求A的值是吧,那就用lsqnonlin寻找最优值
在交流中共同进步!
2楼2010-05-12 18:05:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiexuewang

金虫 (小有名气)

是啊,我是想求A的值,就是不会用lsqnonlin函数啊,
没有不劳而获,任何成就都是汗水浇灌的结果
3楼2010-05-12 21:04:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiexuewang

金虫 (小有名气)

zzuwangshilei:具体的步骤,一般要自己做的,别人给出的是建议或思路 2010-05-13 15:30:45
用matlab求出A1-A6的值,给出具体的步骤,先谢了
没有不劳而获,任何成就都是汗水浇灌的结果
4楼2010-05-12 21:08:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rewind

至尊木虫 (正式写手)


robert2020(金币+1):谢谢提供建议,欢迎常来仿真模拟版交流。 2010-05-13 07:51:44
引用回帖:
Originally posted by xiexuewang at 2010-05-12 16:09:46:
t,c0,c每组35个数据
t=[0        24        48        60        72        84        96 0        24        48        60        72        84        96 0        24        48        60        72        84        96 0        24        48        60        72        84        96 0        24        48        60        72        84        96];
c0=[25        25        25        25        25 25 25 50        50        50        50        50 50 50 75        75        75        75        75 75 75 100         ...

您的C值是什么?要是二元函数拟合的话 结果矩阵应该是35*35的吧
在外种地...
5楼2010-05-12 21:14:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiexuewang

金虫 (小有名气)

zzuwangshilei:鼓励继续讨论问题,欢迎常来仿真模拟版交流 2010-05-13 09:35:17
c=f(c0,t), c是和c0,t相关的数啊,应该是c=function==(A(1)*c0+A(2))*(A(3)*exp(A(4)*t)+A(5)*exp(A(6)*t)
没有不劳而获,任何成就都是汗水浇灌的结果
6楼2010-05-12 22:09:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rewind

至尊木虫 (正式写手)

★ ★
robert2020(金币+2):鼓励交流经验~~ 2010-05-13 12:17:31
zzuwangshilei:积极参与讨论,欢迎常来 2010-05-13 15:31:32
引用回帖:
Originally posted by xiexuewang at 2010-05-12 22:09:23:
c=f(c0,t), c是和c0,t相关的数啊,应该是c=function==(A(1)*c0+A(2))*(A(3)*exp(A(4)*t)+A(5)*exp(A(6)*t)

要是那样的话 就不是拟合问题 可以使用非线性回归求解

matlab里面有个自带例子

调用命令为:

load reaction

beta = nlinfit(reactants,rate,@hougen,beta)

照做改下就可以了 祝一切顺利
在外种地...
7楼2010-05-13 10:20:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师


robert2020(金币+1):谢谢提供意见,欢迎常来仿真模拟版交流。 2010-05-13 22:36:40
c=(A(1)*c0+A(2))*(A(3)*exp(A(4)*t)+A(5)*exp(A(6)*t)
这个式子不正确!!
如果是c=(A(1)*c0+A(2))*(A(3)*exp(A(4)*t)+A(5)*exp(A(6)*t)  )
也会有无数个解,因为可以提取因式,直接影响到A的六个数值的大小.
8楼2010-05-13 19:42:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiexuewang

金虫 (小有名气)

zzuwangshilei:积极参与讨论,欢迎常来 2010-05-14 08:07:04
只要满足数据的条件就可以了,最重要的是给出满足条件的函数就行,
没有不劳而获,任何成就都是汗水浇灌的结果
9楼2010-05-13 21:01:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hopingzou

金虫 (著名写手)


zzuwangshilei(金币+1):提供问题的解决结果,欢迎参与讨论 2010-05-14 16:04:20
抽空帮你做了一下,仅供参考。觉得这个拟合模型未必是最好的!
10楼2010-05-14 15:01:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiexuewang 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见