| 查看: 317 | 回复: 1 | |||
| 当前主题已经存档。 | |||
[交流]
【求助】matlab非线性拟合模型参数
|
|||
|
我是菜鸟,算个模型参数, lny=-0.3915*[m1/2/(1+1.2*m1/2)+1.6667*ln(1+1.2m1/2)]+2*c(1)m+ 0.5*c(2) [1-(1+2*m1/2-2*m)exp(-2*m1/2)] +c(3)*m2 我写的计算程序 function f=Pitzer(c,mdata) f=(-0.3915).*(mdata.^0.5./(1+1.2.*mdata.^0.5)+1.66667.*log(1+1.2.*mdata.^0.5))+2.*c(1).*mdata+0.5.*c(2).*(1-(1+2.*mdata.^0.5-2.*mdata).*exp(-2.*mdata.^0.5))+c(3).*mdata.^2; mdata=[0.0855 0.0879 0.1001 0.1051 0.1273 0.1398 0.1729]; ydata=[-0.2731 -0.2640 -0.2917 -0.2837 0.3202 -0.3369 -0.3411]; c0=[1 1 1]; for i=1:100000 c=lsqcurvefit('Pitzer',c0,mdata,ydata); c0=c; end c 答案应该是-0.0224 0.1749 0.0020 可是我的出来的是 107.1222 -147.8175 -365.6594 请高手指点下,可能公式表达出现了问题,非常感谢!!! [ Last edited by sunxiao on 2009-3-9 at 08:29 ] |
» 猜你喜欢
有没有人能给点建议
已经有3人回复
假如你的研究生提出不合理要求
已经有12人回复
实验室接单子
已经有7人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
参与限项
已经有3人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
hitzhang
木虫 (正式写手)
- 仿真EPI: 1
- 应助: 0 (幼儿园)
- 贵宾: 2.15
- 金币: 1376.7
- 散金: 969
- 红花: 8
- 帖子: 862
- 在线: 226.4小时
- 虫号: 390575
- 注册: 2007-06-02
- 性别: GG
- 专业: 无机非金属类电介质与电解
★ ★ ★
sunxiao(金币+3,VIP+0):欢迎参与讨论,金币奖励 2-26 12:46
sunxiao(金币+3,VIP+0):欢迎参与讨论,金币奖励 2-26 12:46
|
你要拟合的这个方程 lny=-0.3915*[m1/2/(1+1.2*m1/2)+1.6667*ln(1+1.2m1/2)]+2*c(1)m+ 0.5*c(2) [1-(1+2*m1/2-2*m)exp(-2*m1/2)] +c(3)*m2 可以看作线性回归,因为c分别是后3项前面的系数,第一项和c无关。可以这样得到c的最优解: >> mdata=[0.0855 0.0879 0.1001 0.1051 0.1273 0.1398 0.1729]'; >> ydata=[-0.2731 -0.2640 -0.2917 -0.2837 0.3202 -0.3369 -0.3411]'; >> f=[(-0.3915).*(mdata.^0.5./(1+1.2.*mdata.^0.5)+1.66667.*log(1+1.2.*mdata.^0.5)) 2.*mdata 0.5.*(1-(1+2.*mdata.^0.5-2.*mdata).*exp(-2.*mdata.^0.5)) mdata.^2] f = -0.2810 0.1710 0.1061 0.0073 -0.2842 0.1758 0.1084 0.0077 -0.2998 0.2002 0.1196 0.0100 -0.3058 0.2102 0.1240 0.0110 -0.3303 0.2546 0.1426 0.0162 -0.3429 0.2796 0.1525 0.0195 -0.3727 0.3458 0.1766 0.0299 >> c=f(:,2:4)\(ydata-f(:,1)) c = 107.8023 -148.7613 -367.9816 >> 事实证明你得到的结果是正确的!是数据错了还是方程错了我就不了了~~ |
2楼2009-02-26 12:24:04












回复此楼