You need to enable JavaScript to run this app. 如何仅水平右移曲线实现无垂直偏移的双曲线重叠拟合
优惠活动
大模型
产品
解决方案
定价
更多

如何仅水平右移曲线实现无垂直偏移的双曲线重叠拟合

仅水平平移实现两条曲线拟合的落地方法

约束与目标

  • 拟合规则严格限定:仅允许沿水平(x轴)方向对曲线做整体平移,全程不引入任何垂直方向的位移、缩放调整
  • 最终目标:通过调整水平平移量,让两条给定曲线尽可能完全重叠
  • 典型应用场景:将图中橙色曲线沿x轴向右平移,使其与基准曲线匹配

绘图效果

已知数据集

y1 = [1.2324, 1.4397, 1.5141, 1.7329, 1.9082, 2.2884, 2.166, 2.8175, 3.1014, 2.8893, 3.673, 4.3875, 4.9817, 5.6906, 6.3667, 7.2854, 8.2703, 9.3432, 10.591, 11.963, 13.579, 15.36, 17.306, 19.508, 21.976, 24.666, 27.692, 31.026, 34.724, 38.702]
y2 = [1.6231, 1.6974, 1.8145, 2.4805, 2.5643, 2.6176, 2.9332, 3.4379, 4.0154, 4.2258, 4.6837, 5.9837, 6.4408, 7.2903, 8.2283, 9.4134, 10.537, 11.947, 13.344, 15.202, 17.073, 19.211, 21.598, 24.216, 27.06, 30.31, 33.933, 37.882, 42.201, 46.978]
x = [0.1, 0.127, 0.161, 0.204, 0.259, 0.329, 0.418, 0.53, 0.672, 0.853, 1.08, 1.37, 1.74, 2.21, 2.81, 3.56, 4.52, 5.74, 7.28, 9.24, 11.7, 14.9, 18.9, 24.0, 30.4, 38.6, 48.9, 62.1, 78.8, 100.0]

具体实现步骤

  1. 定义匹配误差计算逻辑
    给待平移的曲线设定一个水平偏移量Δ,平移后曲线的x坐标为x_trans = x + Δ。因为x为非等间隔采样,需要先对原曲线和平移后曲线分别做线性插值,统一映射到同一段连续的x轴采样网格上,逐点计算两个y值的差平方和作为当前Δ的总拟合误差。整个计算过程不修改任何y值,完全符合水平平移的约束。

    注意:不能直接用原始采样点做差计算误差,非等间隔的采样位置偏差会导致误差计算结果完全失真。

  2. 搜索最优平移量
    首先根据两条曲线的整体形态,预估Δ的合理搜索范围(比如对比同斜率特征点的水平位置差,排除明显不可能的偏移区间)。由于误差函数是关于Δ的单峰函数,不存在局部最优问题,可以先用粗网格(步长为x轴总范围的1/100)扫描出误差最低的大致区间,再缩小步长做精细搜索,就能快速定位到让拟合误差最小的Δ值。也可以直接用黄金分割法在预估区间内求解最优Δ,计算效率更高。

  3. 结果校验
    找到最优Δ后,将待平移曲线的所有x坐标统一加上这个偏移值,可视化对比两条曲线的重叠程度,确认没有引入任何垂直方向的调整,满足初始约束要求。


内容的提问来源于stack exchange,提问作者Maxim Princen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 20:54:03