主題
Search

三次樣條


CubicSpline

三次樣條是由分段三次樣條構成的多項式,這些多項式穿過一組m控制點。每個多項式的二階導數通常在端點處設定為零,因為這提供了一個邊界條件,完成了m-2方程組。這產生了一個所謂的“自然”三次樣條,並導致一個簡單的三對角系統,可以很容易地求解以給出多項式的係數。然而,這種選擇不是唯一可能的,並且可以使用其他邊界條件來代替。

三次樣條在 Wolfram 語言 中實現為BSplineCurve[pts,SplineDegree ->3].

考慮一組 n+1 點的一維樣條 (y_0,y_1,...,y_n)。根據 Bartels et al. (1998, pp. 10-13),設樣條的第 i 段表示為

 Y_i(t)=a_i+b_it+c_it^2+d_it^3,
(1)

其中 t 是引數 t in [0,1]i=0, ..., n-1。那麼

Y_i(0)=y_i=a_i
(2)
Y_i(1)=y_(i+1)=a_i+b_i+c_i+d_i.
(3)

對每個區間中的 y_i(t) 求導,得到

Y_i^'(0)=D_i=b_i
(4)
Y_i^'(1)=D_(i+1)=b_i+2c_i+3d_i.
(5)

求解 (2)-(5) 中的 a_ib_ic_id_i,得到

a_i=y_i
(6)
b_i=D_i
(7)
c_i=3(y_(i+1)-y_i)-2D_i-D_(i+1)
(8)
d_i=2(y_i-y_(i+1))+D_i+D_(i+1).
(9)

現在要求二階導數在點處也匹配,因此

Y_(i-1)(1)=y_i
(10)
Y_(i-1)^'(1)=Y_i^'(0)
(11)
Y_i(0)=y_i
(12)
Y_(i-1)^('')(1)=Y_i^('')(0),
(13)

對於內部點,以及端點滿足

Y_0(0)=y_0
(14)
Y_(n-1)(1)=y_n
(15)

這總共給出了 4(n-1)+2=4n-2 個方程,用於求解 4n未知數。為了獲得另外兩個條件,要求端點處的二階導數為零,因此

Y_0^('')(0)=0
(16)
Y_(n-1)^('')(1)=0.
(17)

重新排列所有這些方程(Bartels et al. 1998, pp. 12-13)得到以下優美的對稱三對角系統

 [2 1     ; 1 4 1    ;  1 4 1   ;   1 4 1  ; | ... ... ... ... ... ...;     1 4 1;      1 2][D_0; D_1; D_2; D_3; |; D_(n-1); D_n]=[3(y_1-y_0); 3(y_2-y_0); 3(y_3-y_1); |; 3(y_(n-1)-y_(n-3)); 3(y_n-y_(n-2)); 3(y_n-y_(n-1))].
(18)

如果曲線是閉合的,則系統變為

 [4 1     1; 1 4 1    ;  1 4 1   ;   1 4 1  ; | ... ... ... ... ... ...;     1 4 1; 1     1 4][D_0; D_1; D_2; D_3; |; D_(n-1); D_n]=[3(y_1-y_n); 3(y_2-y_0); 3(y_3-y_1); |; 3(y_(n-1)-y_(n-3)); 3(y_n-y_(n-2)); 3(y_0-y_(n-1))].
(19)

參見

貝塞爾曲線, 樣條, 薄板樣條

使用 探索

參考文獻

Bartels, R. H.; Beatty, J. C.; 和 Barsky, B. A. "Hermite and Cubic Spline Interpolation." Ch. 3 in An Introduction to Splines for Use in Computer Graphics and Geometric Modelling. San Francisco, CA: Morgan Kaufmann, pp. 9-17, 1998.Burden, R. L.; Faires, J. D.; 和 Reynolds, A. C. Numerical Analysis, 6th ed. Boston, MA: Brooks/Cole, pp. 120-121, 1997.Press, W. H.; Flannery, B. P.; Teukolsky, S. A.; 和 Vetterling, W. T. "Cubic Spline Interpolation." §3.3 in Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed. Cambridge, England: Cambridge University Press, pp. 107-110, 1992.

在 上引用

三次樣條

請引用為

Weisstein, Eric W. "Cubic Spline." 來自 Web 資源。 https://mathworld.tw/CubicSpline.html

主題分類