|
8阶以内的用curve fiting里面的东西就行了,超过8阶的怎么办?我想定义一个12阶的fitfype,但这样写出来总是拟合不出来
fo=fitoptions('Method','NonlinearLeastSquares','StartPoint',0.0095*ones(1,26));
fourier12
=fittype('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)+a9*cos(9*x*w)+b9*sin(9*x*w)+a10*cos(10*x*w)+b10*sin(10*x*w)+a11*cos(11*x*w)+b11*sin(11*x*w)+a12*cos(12*x*w)+b12*sin(12*x*w)','independent',{'x'},'options',fo,'coefficients',{'a0','a1','a2','a3','a4','a5','a6','a7','a8','a9','a10','a11','a12','b1','b2','b3','b4','b5','b6','b7','b8','b9','b10','b11','b12','w'},'dependent',{'f'});
这样写有问题吗?为什么我拟合出来的图像根本不对,下面是拟合结果,另一个是用内置的fourier8拟合的结果。
|
|