我用Matlab解了解,可以,下面是代码
函数文件:
function F = myfun(x,xdata)
F = x(1)+x(2)*xdata+x(3).*sin(x(4).*xdata+x(5));
脚本文件:
xdata=[];% 数据 x的值
ydata=[];% 数据 y的值
x0=ones(5,1); % 初始猜测值
x = lsqcurvefit(@myfun,x0,xdata,ydata)
下面是我的试例:
xdata = 0:.1:1;
ydata = xdata + sin(xdata);
x = lsqcurvefit(@myfun;x0,xdata,ydata);
运行结果
Optimization terminated: first-order optimality less than OPTIONS.TolFun,
and no negative/zero curvature detected in trust region model.
x =
-0.0000
1.0000
1.0000
1.0000
0.0000