2017-02-22 97 views
-3

我需要用php插值點,你知道任何庫嗎?傳統的搜索不能讓我找到任何好的結果。線性插值庫與PHP

我有一個表格,列x和y的值。

X   Y 
10  676 
20  894 
30  1100 
40  1200 
50  1000 

我想知道是否有一個函數可以幫助線性插值。例如,我想要對應於X = 35的Y的插值。

感謝

+0

*問題,要求我們建議還是找一本書,工具,軟件庫,教程或其他異地資源是題外話* –

+0

你很可能不得不自己實現這個或者切換到一個有這樣的庫的語言。 – apokryfos

回答

3

這就是簡單的數學 - 無需使用任何圖書館都沒有。

如果你想的XY值,你必須要找到最大的價值小於Xx0)和最低值大於Xx0)。 如果這兩個值相等,則不必執行任何操作,只需返回表中的Y值即可。

否則,取兩個對應的Y值(y0y1)並對它們進行插值。

d = (x - x0)/(x1 - x0) // value in the range of [0; 1] 
y = y0 * (1 - d) + y1 * d // your interpolated value 

在你的x = 35 =>x0 = 30情況下,x1 = 40

d = (35 - 30)/(40 - 30) // 0.5 
y = 1100 * (1 - 0.5) + 1200 * 0.5 // 1150