2012-10-15 93 views
4

我有兩組離散數據,我用Mathematica中的ListPlot繪製爲兩種不同的顏色(紅色和藍色)。我想要找到這兩個點之間的交點(相應的連續曲線),即如圖所示的A點和B點。在Mathematica中找到兩個ListPlot的交點

enter image description here

我已經試過「FindCluster」的方法和跳躍獲取數據線形成的子集,但是這並不能很好地工作。

現在我總是使用'​​GetCoordinate'屬性直接從圖形中獲取數字。有一種方法可以自動完成並且更準確,這將是很好的。

回答

0

我不知道這是否會在你的情況下方便的,但我有時讓數學插值點的名單,然後解決了交集:

 
    findGuesses[pointsTable1_, pointsTable2_] := 
    Block[{interpolatingPolyF1, interpolatingPolyF2}, 
     interpolatingPolyF1 = 
     Function[{x}, Evaluate[InterpolatingPolynomial[pointsTable1, x]]]; 
     interpolatingPolyF2 = 
     Function[{x}, Evaluate[InterpolatingPolynomial[pointsTable2, x]]]; 
     (*Print[Plot[{interpolatingPolyF1[x],interpolatingPolyF2[x]},{x,0,2}]];*) 
     {x, y} /. 
     NSolve[{y == interpolatingPolyF1[x], 
     y == interpolatingPolyF2[x]}, {x, y}, Reals] 
     ] 
+0

這並不在我的情況,因爲工作我不可能插入我擁有的數據(它們是從圖中看出的多值函數)。您提供的解決方案只適用於單值函數。不管怎樣,謝謝你。 – user1746066