【问题标题】:Math - Curve Optimizing, Filtering, Smoothing数学 - 曲线优化、过滤、平滑
【发布时间】:2021-04-26 02:37:04
【问题描述】:

我已经在 C# 软件上工作了一段时间,以优化 CNC 铣床的测量点,以修复合金轮毂。 不幸的是,我无处可去。该软件的目标是分析测量结果、平滑数据噪声、插入曲线和去除直线上的测量点。

要保留原始轮廓。最后我应用了 Savitzky-Golay 过滤器和 Akima 插值。 不幸的是,这些方法不能在整个曲线上应用一个值,因为这会破坏轮廓。由于我缺乏知识,我无法自动分割轮廓以便将程序应用于各个段。

一个需要优化的例子可以像这样

很遗憾,不能手动选择曲线段,因为客户希望自动化尽可能完整。

如果有人有任何可以帮助我的想法,我将不胜感激。 非常感谢您的努力。

[编辑] 我应该提一下,如果您知道其他语言的解决方案,例如 python,我是开放的。

【问题讨论】:

  • 我可能会建议雇用一个知道自己在做什么的人。听起来可能很刺耳,但您所描述的内容需要大量专业知识。即使你让某件事情正常工作,你怎么知道它在做正确的事情?
  • 我的建议可能是在 excel 中做一些初步的调查工作。绘制一些数据并尝试应用您提到的方法。找到一种方法来证明这些方法(这些方法是否有任何基于 Web 的在线实现?)。然后,一旦你有一个经过验证的方法,你可能会考虑转向用 C# 编码它
  • 最后阅读How to Ask - 问一个更具体的问题,展示你编写的代码,你期望发生什么以及没有发生什么
  • 感谢 cmets。不幸的是,我不能发布代码,因为它是一个客户项目。我的观点是基本上有一种方法可以继续工作。也许你描述的专家在这里,可以给我一些思考。这不是因为我懒惰,不想自己解决问题。我只需要精神上的支持,因为我正处于无法取得成功的地步。
  • 听起来您需要更多方法的帮助,而不是代码。还有其他堆栈交换站点可能更适合您的问题(例如数学站点)

标签: c# math filtering interpolation curve-fitting


【解决方案1】:

这个问题比较适合stats.stackexchange.com,不过无论如何这里有一些注释。

我的建议是将其构建为找到最佳分段连续近似值。这是假设您知道可能有哪些部分。问题是嵌套搜索:给定断点 A 和 B(看起来只有两个,根据图片判断),估计 (0, A)、(A, B) 和 (B) 上的最佳拟合曲线, 结尾)。现在将这三个部分的错误加起来,并将其放在与 (A, B) 关联的列表中。

然后对所有可能的对 (A, B) 重复此操作。这为您提供了一个查找表:对于每个 (A, B) 对,您知道假设断点的总误差。现在只需在表格中搜索最小的总误差,就可以得到:与最小总误差相关的断点位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    相关资源
    最近更新 更多