zhoutianyue 发表于 2008-5-31 11:31

数据的峰值拟合不到怎么办?

我用matlab自带的拟合工具cftool对数据进行拟合时,发现数据的峰值拟合不到,请教各位高手这个问题如何解决?谢谢!
我用的拟合函数类型(type of fit)是傅立叶函数(fourier)类型(我发现也只有这个函数类型拟合出来最接近),拟合函数是:

y=a0 + a1*cos(x*w) + b1*sin(x*w)
          +a2*cos(2*x*w) + b2*sin(2*x*w)
          +a3*cos(3*x*w) + b3*sin(3*x*w)
          +a4*cos(4*x*w) + b4*sin(4*x*w)
          +a5*cos(5*x*w) + b5*sin(5*x*w)
          +a6*cos(6*x*w) + b6*sin(6*x*w)
          +a7*cos(7*x*w) + b7*sin(7*x*w)
          +a8*cos(8*x*w) + b8*sin(8*x*w);
拟合图为:
http://forum.vibunion.com/forum/images/linstyle_free1/attachimg.gif
得到的值为:a0 = -0.7164;   a1 = 42.43;b1 =-55.18;   a2 = 98.55;   b2 = -33.82;   a3 = 106.8;   b3 = 9.419;
                     a4 = 91.37;   b4 = 35.08;   a5 = 73.57;   b5 = 45.34; a6 = 59.13;   b6 = 47.79;   a7 = 48.3;
                      b7 = 46.79; a8 = 40.27;   b8 =44.41;
                     w = 1464;

数据为:(横坐标 t, 纵坐标 x)


[ 本帖最后由 zhoutianyue 于 2008-5-31 11:34 编辑 ]
页: [1]
查看完整版本: 数据的峰值拟合不到怎么办?