2013-08-26 51 views
-1

假設我有兩個列表,其中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

你的例子似乎不符合這裏的圖片。 –

+1

基督,當你在將來舉一個例子時,請盡力確保它沒有嚴重缺陷和不準確。我不明白爲了讓你的問題變得明智而對它進行實質性的編輯。 –

+0

在這裏完全猜測,但似乎你想1)認識到數據集2的y值始終爲1,但只在2.4和4的x值之間,然後2)將1加到任意值的y指向數據集1,其中x在2.4和4之間。至少,這就是圖片的樣子(有點)。否則,由於你的x值在兩組中不匹配,所以確定你想要的東西有點困難... – twalberg

回答

0

你知道你正在處理的線性關係?或者你的數據可以代表任意的關係。爲了簡單起見,我們假設您正在處理線性數據。

  1. 把你的第一個數據集,並適合一條線。
  2. 寫一個Java函數對於任意的x上返回其方程已在步驟1衍生
  3. 集2個看起來像一個典型的步驟或脈衝功能(這些都是非分析功能,即通常的慣例線的y值如適用於微積分的那些是無效的)。你可以這樣寫一個Java函數

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

  4. 你的情節是簡單的兩個函數的總和,即

    Y2(x)= Y1(x)的+階躍函數(X)

0

可以如果它們不共享相同的座標,則不添加兩組數字對...

嘗試將您的兩個點集解釋爲插值,並重新定義兩個數據集可以爲的函數的公共域例如添加[1.0:0.1:5.0]