雙線性插值

雙線性插值:顧名思義就是兩個方向的線性插值加起來。即:分別在x軸和y軸都做一遍線性插值,就是雙線性插值。


線性插值:即一維狀態下的插值,在數軸上的表示就是有兩個點A,B,此時若想向A,B間插入一個值(點)C,之間將C插入到A,B之間的連線上即可,即C的座標爲線段AB對應的中點座標,若A,B均有對應的值,則C的取值爲A、B取值的平均數。

例:A(0,0;0),B(0,10;10),向A、B中插值C,則此時C應爲(0,5;5)


雙線性插值:瞭解了什麼叫線性插值,那麼雙線性插值就不難理解了,此時A,B不變,插入的C跟A,B不在同一條直線上,此時在座標系上的表現就是由一維數軸轉化到了二維座標系中,此時只要分別做X軸和Y軸的線性插值就可以了,如圖,已知Q12,Q22,Q11,Q21,但是要插值的點爲P點,這就要用雙線性插值了,首先在x軸方向上,對R1和R2兩個點進行插值,這個很簡單,然後根據R1和R2對P點進行插值,這就是所謂的雙線性插值。

【維基百科詞條解釋】

雙線性插值,又稱爲雙線性內插。在數學上,雙線性插值是有兩個變量的插值函數的線性插值擴展,其核心思想是在兩個方向分別進行一次線性插值。

假如我們想得到未知函數 f 在點 P=\left( x, y\right) 的值,假設我們已知函數 f 在 Q_{11} = \left( x_1, y_1 \right)Q_{12} = \left( x_1, y_2 \right)Q_{21} = \left( x_2, y_1 \right), 及 Q_{22} = \left( x_2, y_2 \right) 四個點的值。

首先在 x 方向進行線性插值,得到

f(R_1) \approx \frac{x_2-x}{x_2-x_1} f(Q_{11}) + \frac{x-x_1}{x_2-x_1} f(Q_{21}) \quad\mbox{Where}\quad R_1 = (x,y_1),

f(R_2) \approx \frac{x_2-x}{x_2-x_1} f(Q_{12}) + \frac{x-x_1}{x_2-x_1} f(Q_{22}) \quad\mbox{Where}\quad R_2 = (x,y_2).

然後在 y 方向進行線性插值,得到

f(P) \approx \frac{y_2-y}{y_2-y_1} f(R_1) + \frac{y-y_1}{y_2-y_1} f(R_2).

這樣就得到所要的結果 f \left( x, y \right),

f(x,y) \approx \frac{f(Q_{11})}{(x_2-x_1)(y_2-y_1)} (x_2-x)(y_2-y) + \frac{f(Q_{21})}{(x_2-x_1)(y_2-y_1)} (x-x_1)(y_2-y)

+ \frac{f(Q_{12})}{(x_2-x_1)(y_2-y_1)} (x_2-x)(y-y_1) + \frac{f(Q_{22})}{(x_2-x_1)(y_2-y_1)} (x-x_1)(y-y_1).

如果選擇一個座標系統使得 f 的四個已知點座標分別爲 (0, 0)、(0, 1)、(1, 0) 和 (1, 1),那麼插值公式就可以化簡爲

f(x,y) \approx f(0,0) \, (1-x)(1-y) + f(1,0) \, x(1-y) + f(0,1) \, (1-x)y + f(1,1) xy.

或者用矩陣運算表示爲

f(x,y) \approx \begin{bmatrix} 1-x & x \end{bmatrix} \begin{bmatrix} f(0,0) & f(0,1) \\ f(1,0) & f(1,1) \end{bmatrix} \begin{bmatrix} 1-y \\ y \end{bmatrix}

與這種插值方法名稱不同的是,這種插值方法的結果通常不是線性的,它的形式是

b_1 + b_2 x + b_3 y + b_4 x y. \,

常數的數目都對應於給定的 f 的數據點數目

b_1 = f(0,0)

b_2 = f(1,0) - f(0,0)

b_3 = f(0,1) - f(0,0)

b_4 = f(1,1) - f(1,0) - f(0,1) + f(0,0)

線性插值的結果與插值的順序無關。首先進行 y 方向的插值,然後進行 x 方向的插值,所得到的結果是一樣的。

【參考】http://www.cnblogs.com/linkr/p/3630902.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章