| 查看: 692 | 回复: 4 | ||||
[求助]
求助matlab高手看一下菜鸟写的非线性拟合程序,有关苯胺络合萃取的 已有2人参与
|
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.7小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
Charles201: 金币+30, ★★★★★最佳答案 2015-08-05 15:14:26
感谢参与,应助指数 +1
Charles201: 金币+30, ★★★★★最佳答案 2015-08-05 15:14:26
|
公式有问题吧,过拟合: y=b1*b2*0.0104^(b1-1)*x1/(1+b2*0.0104^b1)/(1+10^(4.67-x2)); 可写成: y=b1*b2*0.0104^(b1-1)/(1+b2*0.0104^b1)/(1+10^(4.67-x2))*x1; 上式中:b1*b2*0.0104^(b1-1)/(1+b2*0.0104^b1)可以用一个参数代替,如b3 等价公式:y=b3/(1+10^(4.67-x2))*x1; 仅有一个参数 |
» 本帖已获得的红花(最新10朵)
2楼2015-08-03 18:22:37
3楼2015-08-03 18:26:06
|
我将m文件改成了如下形式 function y=aniline_1fun(b,x) x1=x(0:0.01:1.00); x2=x(4.00:-0.02:2.00); b3=b1*b2*0.0104^(b1-1)/(1+b2*0.0104^b1); y=b3*x1/(1+10^(4.67-x2)); 主程序: x=[0.10,0.20,0.30,0.40,0.50,0.60; 3.27,2.99,2.86,2.77,2.73,2.70]'; y=[6.49,9.10,12.65,16.96,22.88,28.12]; b3=[0]'; [b,Q]=lsqcurvefit(aniline_1fun,b0,x,y) 但是运行后提示输入参数的数目不足。请问这是什么原因呢? |
4楼2015-08-03 19:39:23
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68123.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
Charles201: 金币+20, ★★★很有帮助 2015-08-05 15:14:38
感谢参与,应助指数 +1
Charles201: 金币+20, ★★★很有帮助 2015-08-05 15:14:38
|
dingd大神这么耐心地讲解,我直接给你结果吧。 我这些结果是用1stOpt软件做的,MATLAB肯定也可以做,在这里不我讨论MATLAB代码。 dingd大神说的过拟合很有道理的。 如果按照双参数公式: y=b1*b2*0.0104^(b1-1)*x1/(1+b2*0.0104^b1)/(1+10^(4.67-x2)) 将会得到无限组结果: b1 -0.480056251311531 b2 -0.110217887023378 ---------- ------------- b1 -1.43102339222656 b2 -0.0013970972484279 ---------- ------------- b1 -0.594292430579858 b2 -0.0652159450286256 ---------- ------------- b1 -0.438212028430683 b2 -0.13357689181283 ---------- ------------- b1 1.03961552899074 b2 -118.681614122118 …… …… 尽管b1和b2变化不定,但是两个参数按照下式计算: b3=b1*b2*0.0104^(b1-1)/(1+b2*0.0104^b1) b3一定都是等于3425.94298397334。 也就是说,楼主最原始的公式是过拟合的。 |

5楼2015-08-04 11:17:06












回复此楼
Charles201