合并两个数据集以组合图表

时间:2013-08-26 20:18:04

标签: algorithm

假设我有两个像这样的x和y点的列表。

Dataset 1
[[1.0,2.0],
 [2.0,2.4],
 [3.0,2.8],
 [4.0,3.5],
 [5.0,4.0]]

Dataset 2
[[2.4,1.0],
 [2.8,1.0],
 [3.1,1.0],
 [4.0,1.0]]

我想将它们一起添加,结果如下所示

[[1.0,2.0],
 [2.0,2.4],
 [2.4,2.6],
 [2.4,3.6],
 [2.8,3.7],
 [3.0,3.8],
 [3.1,3.9],
 [4.0,4.5],
 [4.0,3.5],
 [5.0,4.0]]

因此,通过组合下面的红色和蓝色图表,结果应该是灰线。 有没有可用于实现此目的的已知算法?

enter image description here

2 个答案:

答案 0 :(得分:0)

你知道你正在处理线性关系吗?或者您的数据可以表示任意关系。为简单起见,我们假设您正在处理线性数据。

  1. 获取您的第一个数据集,并将其放入一行。
  2. 编写一个Java函数,以返回在步骤1中派生出其等式的行上任意x的y值。
  3. 集合2看起来像典型的步骤或脉冲函数(这些是非分析函数,即通常的约定,例如适用于微积分的约定无效)。您可以为此编写Java函数

    static double stepFunction(double x){      返回(x <= 2.2 || x> 4.0)          ? 0.0          :1.0  }

  4. 你的情节只是两个函数的总和,即

    y2(x)= y1(x)+ stepFunction(x)

答案 1 :(得分:0)

如果他们不共享相同的坐标,则无法添加两组数字对...

尝试将两个点集解释为插值,并为可添加两个数据集的函数重新定义公共域,例如[1.0:0.1:5.0]