这是目标函数f(t)=d*(b-exp(-t/c))*exp(-2*a*log(b*exp(t/c)-1)),已知f(t),t,各一百组数据,需求出拟合参数a,b,c,d。我试了一下最小二乘法,但是没弄出来,用matlab的cftool说函数太复杂做不成,所以只能自己编程,求教!我邮箱号[email protected]谢了
你知道为什么lsqcurvefit函数在拟合时其拟合结果与初值有关?谢了先
追答用lsqcurvefit()函数和nlinfit()函数进行拟合结果与初值选定有很大的关系。所以你想得到好的拟合函数,就得耐心地去设定和运行,才能获得好的结果。
追问嗯,刚才在网上见别人说lsqcurvefit函数所用的算法是局部收敛的,真无语,我试了好久,用rand()函数寻找初值,试了一下午,结果还行方差在3×10^-6左右,看了拟合图觉得还行,哈哈,谢谢你的回答