函数的拟合(从一个博客看到主要用这两种函数)
格式:lsqcurvefit(f,a,x,y) nlinfit(x,y,f,a)
lsqcurvefit(f,a,x,y)解决非线性最小二乘回归问题
nlinfit(x,y,f,a)解决非线性最小二乘回归问题
在函数拟合的过程中遇到一些问题总结一下,希望能帮到需要的人
问题一:错误使用*内部矩阵维度必须一致
解决办法: f=@(p,x)p(1)+p(2).*x2.*exp(p(3).*x1+p(4));在所有的*前加上.变成.*就好了
问题二:因为一开始选的拟合函数不是特别好也会出现迭代次数到默认最大,但是还结果未到函数定义数量级
解决办法:如何增加迭代次数 options = optimset('MaxFunEvals',8000);
p=lsqcurvefit(f,[1,1,-1,1],[x1;x2],y,lb,ub,options)
lb和ub是上下限,不知道默认传入一个空向量,这次设置迭代次数是8000次