我有3组数据:xdata,ydata和error_ydata。
我需要根据这样的等式拟合这些数据:
y_fit = c1*sin((2*pi*x_data)/c2 - c3) + c4
其中c是常量,以及要查找的参数。
我已经尝试过几个matlab函数,比如 fittype 或 lsqcurvefit ,但它们需要非常接近的初始估计才能使4个常量起作用。关键在于找到这些常数,无论你给出的初始估计是什么。
有什么想法吗?
提前谢谢你。 我最好的问候
答案 0 :(得分:0)
很抱歉,但事实是,非线性估算需要至少合适的起始值。如果您无法提供它们,那么至少应该有一些时间来随机抽取结果。
这些工具是否需要非常接近的估算?勉强如此恕我直言,但“非常”的定义是一个非常主观的定义。也许您需要了解有关优化和您将使用的工具的更多信息。一旦你这样做,你就会开始知道如何让它们更好地工作。一个对工具缺乏了解的工人应该经常受到伤害。
你可能会做一些阅读。 Here是一个值得一去的地方。
有一些工具可以使用分区最小二乘法减少问题。 fminspleas就是一个。 (您也可以在优化toips和tricks文件中找到请求。)。但是为了使用该工具,您需要了解其估算方法,了解它如何将参数分为两类。再次,了解您的工具。