注册 登录
编程论坛 Matlab

关于曲线拟合的初始值设置问题!

jiajia4212 发布于 2007-01-10 22:52, 2131 次点击
我做了一个曲线拟合,要求曲线的参数,假设为a,b,c,如果我的数据非常多,那么对初始值a,b,c的初值设置会对最后求出来的a,b,c结果影响很大,请问,matlab是不是这样的呢(我是初学)?我应该怎么做?其实其中的c值根据物理规律是有一定范围的,但是我拟合出来效果很好,但是c值就是没有在那个范围内,要我不断调整它们的初值,才有可能碰到那个范围内,这样费了我很多时间,请问有没有更好的办法呢?
7 回复
#2
hitzhang2007-01-12 14:55
添加约束
#3
jiajia42122007-01-15 19:35
能不能说具体点呢?是不是把这几个参数限定在一定的范围内?都要限制吗
#4
hitzhang2007-01-18 18:15
我不太了解你的具体问题
不过应该是向你说的那样
你可以试一试fmincon函数
相关的约束优化函数很多
你可以把你的具体问题发上来
大家帮你参考一下
#5
youyouyou12007-08-19 19:48
推荐使用1stOpt,曲线拟合方面,应是面前最好的。
#6
尘埃1222007-08-20 11:38
MATLAB 参数拟合过程中,参数初值确实对结果影响比较大

至今没有很好的克服方法,所以需要合理的设置参数,也可以利用不同的参数优化方法对参数拟合,比较最终结果 :)

当然你也可以利用1spOPT拟合,比较两者结果
#7
zhdgzhdg2007-08-26 06:43

初值的设置完全是凭经验的,比如化学反应速率常数的范围,慢反应和快速反应就相差很多,在范围内取两个极端值试试就可。

1