1

我有 3 组数据:xdata、ydata 和 error_ydata。

我需要根据这样的等式拟合这些数据:

y_fit = c1*sin((2*pi*x_data)/c2 - c3) + c4

其中 c 是常数,以及要查找的参数。

我已经尝试了几个 matlab 函数,如fittypelsqcurvefit,但它们需要非常接近的初始估计值才能使 4 个常数起作用。关键是要找到这些常数,无论您给出的初始估计值是多少。

任何想法?

先感谢您。我最诚挚的问候

4

1 回答 1

0

抱歉,但事实是,非线性估计至少需要不错的起始值。如果您懒得提供它们,那么至少在某些时间随机crapola 会得到结果。

这些工具需要非常接近的估计吗?恕我直言,几乎没有,但“非常”的定义是一个高度主观的定义。也许您需要了解更多关于优化和您将使用的工具的信息。一旦你这样做了,你就会开始知道如何让它们更好地工作。对工具缺乏了解的工人应该会经常受伤。

你可以做一些阅读。是一个开始的地方。

有一些工具可以使用分区最小二乘法来减少问题。fminspleas就是其中之一。(您还可以在优化 toips 和技巧文件中找到请求。)。但是为了使用该工具,您需要了解它的估计方法,了解它如何将参数分成两类。再次,了解您的工具。

于 2013-05-15T22:36:45.747 回答