确定参数范围的问题
函数关系式为:y=a1*exp(-x/b)+a2*cos(x)现在有(x,y)8组或者更多,即
x=[0
pi/4
2*pi/4
3*pi/4
5*pi/4
6*pi/4
7*pi/4
2*pi]
对应
y=[2.6111
1.5679
0.9551
1.7766
2.9097
3.4808
3.5557
3.2658]
求a1、b、a2的取值范围? 我初步的想法是:固定一个参数,画另外两个的相图,xy每组值可以给出一个范围,察看交集即可
但这样只得到图示,解析处理似乎可以对照下规划问题 一般用曲线拟合的方法,你可以找找这方面的资料。
[ 本帖最后由 eight 于 2007-6-15 23:16 编辑 ] >> F=inline('x(1)*exp(xdata/x(2))+x(3)*cos(xdata)','x','xdata');
xdata =(0:8) *pi/4;% example xdata
xdata(5)=[];
ydata =; % example ydata
= lsqcurvefit(F, , xdata, ydata)
Optimization terminated: relative function value
changing by less than OPTIONS.TolFun.
x =
1.5783 7.7519 0.2303
res =
2.5994
拟合出的不是范围而是结果,最小二乘拟合在函数原型已知的情况下,效果好事非常好的。
如果达不到要求,可以修改精度。helpsqcurvefit
页:
[1]