kingsword1979 发表于 2006-11-16 15:02

[求助]:利用非线性最小二乘法来优化参数的问题?

各位高手,我修改了一下我的程序,可以运行,但是拟合出来的数据不对,不知道是何缘故?
可运行的程序如下:
首先编制非线性模型m文件(sta67_2m.m:
function dd1=model(beta0,dd2)
a=beta0(1);
b=beta0(2);
c=beta0(3);
d=beta0(4);
e=beta0(5);
f=beta0(6);
g=beta0(7);
h=beta0(8);
k=beta0(9);
l=beta0(10);
dd1=a*sin(2*pi*0.97656*dd2+b)+c*sin(2*pi*1.9531*dd2+d)+e*sin(2*pi*2.9297*dd2+f)+g*sin(2*pi*3.9063*dd2+h)+k*sin(2*pi*4.8828*dd2+l);

然后在命令栏里面输入:
yy=Data(2100*500:2103*500);dd1=yy';
x=0:0.002:3;dd2=x;
beta0=;
nlintool(dd2,dd1,'sta67_2m',beta0);
betafit=nlinfit(dd2,dd1,'sta67_2m',beta0);

betafit=0.039909             -35.47
             -0.044785            0.075721
             -0.13027            0.8733
            0.32827            11.404
             0.40317      -4.0571
然后我将实际dd1值的图形和拟合出来的dd1的图形进行对比(见附图1和附图2),从两图可以看出可以看出图形形状不一样且大小也差的很远,不知道这是怎么回事?
难道我这个命令使用的不对?

[ 本帖最后由 xinyuxf 于 2006-12-23 09:09 编辑 ]

xinyuxf 发表于 2006-11-18 15:06

这样的问题最好去matlab版求助,那里编程高手很多,比较容易得到帮助
页: [1]
查看完整版本: [求助]:利用非线性最小二乘法来优化参数的问题?