回 帖 发 新 帖 刷新版面

主题:lsqcurvefit函数的应用

各位浏览此贴的老鸟们好,我是菜鸟。有一个问题不很明白,在用matlab对数据进行分析时。我有一系列数据,需用自定义的函数关系进行模拟,进而求出自定义函数关系式中的系数。如


①、首先建立M文件;---自定义函数关系式
②、在命令窗口中输入自变量和因变量的取值,然后定义初始值,例如:
>>F=x(1)*xdata.^2+x(2)sin(xdata)+x(3)*xdata^3      %预定义函数关系式
>>xdata=[3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4];    %定义自变量
>>ydata=[16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3];    %定义因变量
>>x0=[10,10,10];      %初始估计值
>>[x,renorm]=lsqcurvefit(@myfun,x0,xdata,ydata)    %确定待定系数
③、将得出的系数代入预定义函数式中,写出数学模型。

在上述过程中,在第二步中,对x的初始值如何定义?我始终想不太明白。请各位哥哥姐姐赐教啊。

回复列表 (共1个回复)

沙发

通常我们都是选取全是1作为起点的,但是其实为了得到更好的结果,我们得到结果以后,可以把结果附近的值作为一个初始值,再次进行最小二乘法曲线拟合的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册