MATLAB-自定义函数拟合(lsqcurvefit)

  • Post author:
  • Post category:其他

1. lsqcurvefit函数

 格式:lsqcurvefit(f,a,x,y)

f: 符号函数,句柄,如果是以m文件的形式调用时,别忘记加@,这里需要注意的是 f 函数的返回值是和y匹对的,即拟合参数的标准是(f-y)^2取最小值。

a: 最开始预估的值(预拟合的未知参数的估计值)

x: 自变量的值

y: 因变量的值

拟合函数常数项初值的选取问题

      因为初值对拟合速度甚至结果有一定的影响,因此这里就简单说一下确定数学模型后,拟合非线性问题时,初值选取的问题。

1. 如果已知数学模型,有一定的物理意义,则建议根据物理意义选取。

2. 当无法确定初值时,且你的数学模型有导数(如果求导模型很复杂甚至没有导数,则可进行简单的差分构造),则可以采用如下的办法进行。

步骤:

1. 求出拟合函数的一阶导数(如果有必要,可求更高阶的导数)。

2. 使用已知数据求出近似点的一阶导数。

3. 代入一阶导数函数以及原函数求出初值近似值。

例题:自定义函数如下,通过x,y数据拟合


版权声明:本文为Hou_____原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。