Matlab:如何用某种类型的函数拟合时间序列

Matlab: how to fit time series with a funcion of a certain type

我有一个时间序列,需要用一些易于计算的函数来近似它。看起来该行类似于

(a*x*x + b*x + c) / (d*x + e)

有没有办法自动找到系数(使用 Matlab 或其他),以便获得的函数最适合系列?

提前致谢!

使用 Matlab 的最简单方法(如果您有曲线拟合工具箱)是使用 cftool。这为您提供了一个图形用户界面,您可以在其中导入数据并以最合适的方式播放。

如果您需要将其构建到代码中,那么您可以使用从 cftool 中找到的最佳函数,使用 curvefit 工具箱中的 fit。您可以定义适合

之类的自定义函数
f = @(a, b, c, d, e, x) (a*x.*x + b*x + c) / (d*x + e)
fit(x, y, f, 'StartPoint', [0.,0.,0.,0.,0], 'Robust', 'LAR')