【问题标题】:data fitting in specific equation - matlab特定方程中的数据拟合 - matlab
【发布时间】:2013-05-10 16:03:44
【问题描述】:

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

我需要根据如下等式拟合这些数据:

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

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

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

有什么想法吗?

提前谢谢你。 我最好的问候

【问题讨论】:

  • 使用matlab的曲线拟合工具应该很容易。你试过了吗?您可以应用自己的功能并选择一种方法。

标签: matlab data-fitting


【解决方案1】:

抱歉,但事实是,非线性估计至少需要合适的起始值。如果您懒得提供它们,那么至少可以期待一些时间随机的 crapola 的结果。

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

你可以做一些阅读。 Here 是一个起点。

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

【讨论】:

  • 嗨!谢谢您的答复。当然,我知道,如果我给出的值与真实值相去甚远,则需要一些时间才能给我正确的值,但我不在乎,我只想让它找到它们。
猜你喜欢
  • 2021-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-24
  • 2023-03-28
  • 1970-01-01
相关资源
最近更新 更多