อ่าน 9 นาที
การประมาณค่าแบบสปลายน์
ใน สาขา คณิตศาสตร์ของการวิเคราะห์เชิงตัวเลขการประมาณค่าแบบสปลายน์เป็นรูปแบบหนึ่งของการประมาณ ค่า โดยที่ตัวประมาณค่าคือ พหุนามแบบแบ่งส่วน ชนิดพิเศษที่เรียกว่าสปลายน์กล่าวคือ
การประมาณค่าแบบสปลายน์
ใน สาขา คณิตศาสตร์ของการวิเคราะห์เชิงตัวเลขการประมาณค่าแบบสปลายน์เป็นรูปแบบหนึ่งของการประมาณ ค่า โดยที่ตัวประมาณค่าคือ พหุนามแบบแบ่งส่วน ชนิดพิเศษที่เรียกว่าสปลายน์กล่าวคือ แทนที่จะใช้พหุนามดีกรีสูงตัวเดียวมาปรับให้เข้ากับค่าทั้งหมดในคราวเดียว การประมาณค่าแบบสปลายน์จะใช้พหุนามดีกรีต่ำมาปรับให้เข้ากับชุดย่อยเล็กๆ ของค่า ตัวอย่างเช่น การใช้พหุนามกำลังสามเก้าตัวมาปรับให้เข้ากับจุดแต่ละคู่จากทั้งหมดสิบจุด แทนที่จะใช้พหุนามดีกรีเก้าตัวเดียวมาปรับให้เข้ากับจุดทั้งหมด การประมาณค่าแบบสปลายน์มักเป็นที่นิยมมากกว่าการประมาณค่าแบบพหุนามเนื่องจากข้อผิดพลาดในการประมาณค่าสามารถทำให้มีขนาดเล็กได้แม้จะใช้พหุนามดีกรีต่ำสำหรับสปลายน์[ 1 ]การประมาณค่าแบบสปลายน์ยังช่วยหลีกเลี่ยงปัญหาของปรากฏการณ์รันเกซึ่งอาจเกิดการแกว่งระหว่างจุดเมื่อทำการประมาณค่าโดยใช้พหุนามดีกรีสูง
การแนะนำ

เดิมที คำว่า "สปลายน์" (spline)หมายถึงไม้บรรทัดยืดหยุ่นที่ดัดงอให้ผ่านจุดหรือปม ที่กำหนดไว้ล่วงหน้าจำนวนหนึ่ง ซึ่งใช้ในการเขียนแบบทางเทคนิคสำหรับการต่อเรือและการก่อสร้างด้วยมือ ดังแสดงในรูป
เราต้องการสร้างแบบจำลองเส้นโค้งประเภทเดียวกันโดยใช้ชุดสมการทางคณิตศาสตร์ สมมติว่าเรามีลำดับของปมตั้งแต่ ถึง โดยจะมีพหุนามกำลังสามระหว่างปมแต่ละคู่ที่อยู่ติดกันและเชื่อมต่อปมทั้งสองเข้าด้วยกัน โดยที่ดังนั้นจะมีพหุนามจำนวน พหุนาม โดยพหุนามแรกเริ่มต้นที่และพหุนามสุดท้ายสิ้นสุดที่
ความโค้งของเส้นโค้งใดๆถูกกำหนดโดย
โดยที่และคืออนุพันธ์อันดับที่หนึ่งและอันดับที่สองของเทียบกับ ตามลำดับเพื่อให้เส้นโค้งสปลายน์มีรูปร่างที่ลดการโค้งงอให้น้อยที่สุด (ภายใต้เงื่อนไขที่ต้องผ่านจุดเชื่อมต่อทั้งหมด) เราจะกำหนดให้และมีความต่อเนื่องทุกที่ รวมถึงที่จุดเชื่อมต่อด้วย พหุนามแต่ละตัวที่ต่อเนื่องกันจะต้องมีค่าเท่ากัน (ซึ่งเท่ากับค่า y ของจุดข้อมูลที่สอดคล้องกัน) อนุพันธ์ และอนุพันธ์อันดับที่จุดเชื่อมต่อ ซึ่งหมายความว่า
วิธีนี้จะทำได้ก็ต่อเมื่อใช้พหุนามดีกรี 3 (พหุนามกำลังสาม) หรือสูงกว่าเท่านั้น วิธีการแบบดั้งเดิมคือการใช้พหุนามดีกรี 3 พอดี ซึ่งก็คือส ปลายกำลังสาม
นอกเหนือจากเงื่อนไขทั้งสามข้างต้นแล้วสปลายลูกบาศก์ธรรมชาติยังมีเงื่อนไขเพิ่มเติมอีกว่า
นอกเหนือจากเงื่อนไขหลักสามข้อข้างต้นแล้วสปลายลูกบาศก์แบบยึดแน่นยังมีเงื่อนไขเพิ่มเติมคือและโดยที่คืออนุพันธ์ของฟังก์ชันที่แทรกเข้าไป
นอกเหนือจากเงื่อนไขหลักสามประการข้างต้นแล้วสปลายที่ไม่ใช่ปมยังมีเงื่อนไขที่และ[ 2 ]
อัลกอริทึมในการหาเส้นโค้งสปลายลูกบาศก์แบบแทรกสอด
เราต้องการหาพหุนามแต่ละตัวที่กำหนดให้โดยจุดต่างๆ ที่ผ่าน จุด เพื่อทำเช่นนี้ เราจะพิจารณาเพียงส่วนหนึ่งของเส้นโค้งซึ่งจะประมาณค่าจากจุด ไปยังจุด ส่วนนี้จะมีค่าความชันและที่จุดปลาย หรือกล่าวให้แม่นยำยิ่งขึ้นคือ
สมการฉบับเต็มสามารถเขียนในรูปแบบสมมาตรได้
| 1 |
ที่ไหน
| 2 |
| 3 |
| 4 |
แต่และ คืออะไร ? ในการหาค่าวิกฤตเหล่านี้ เราต้องพิจารณาว่า
ดังนั้นจึงสรุปได้ว่า
| 5 |
| 6 |
เมื่อกำหนดt = 0และt = 1ตามลำดับในสมการ ( 5 ) และ ( 6 ) จะได้จาก ( 2 ) ว่าอนุพันธ์อันดับแรกq′ ( x 1 ) = k 1และq′ ( x 2 ) = k 2และอนุพันธ์อันดับสองด้วย
| 7 |
| 8 |
ถ้าตอนนี้( x i , y i ), i = 0, 1, ..., nเป็น จุด n + 1จุด และ
| 9 |
โดยที่i = 1, 2, ..., nและเป็นพหุนามดีกรีสามจำนวนn ตัวที่ประมาณค่า yในช่วงx i −1 ≤ x ≤ x iสำหรับi = 1, ..., nโดยที่q′ i ( x i ) = q′ i +1 ( x i )สำหรับi = 1, ..., n − 1 แล้ว พหุนามทั้ง n ตัวนี้ จะรวมกันเป็นฟังก์ชันที่หาอนุพันธ์ได้ในช่วงx 0 ≤ x ≤ x nและ
| 10 |
| 11 |
สำหรับi = 1, ..., nโดยที่
| 12 |
| 13 |
| 14 |
ถ้าลำดับk 0 , k 1 , ..., k nเป็นเช่นนั้น และนอกจากนี้q′′ i ( x i ) = q′′ i +1 ( x i )เป็นจริงสำหรับi = 1, ..., n − 1 แล้ว ฟังก์ชันที่ได้จะมีอนุพันธ์อันดับสองต่อเนื่องด้วย
จาก ( 7 ), ( 8 ), ( 10 ) และ ( 11 ) สรุปได้ว่ากรณีนี้เกิดขึ้นก็ต่อเมื่อ
| 15 |
สำหรับi = 1, ..., n − 1 ความสัมพันธ์ ( 15 ) เป็น สมการเชิงเส้น n − 1สำหรับ ค่า k 0 , k 1 , ..., k n จำนวน n + 1ค่า
สำหรับไม้บรรทัดยืดหยุ่นซึ่งเป็นแบบจำลองสำหรับการแทรกสอดสปลายน์ พบว่าทางด้านซ้ายของ "ปม" ซ้ายสุดและทางด้านขวาของ "ปม" ขวาสุด ไม้บรรทัดสามารถเคลื่อนที่ได้อย่างอิสระและจะมีรูปร่างเป็นเส้นตรงที่มีq′′ = 0เนื่องจากq′′ควรเป็นฟังก์ชันต่อเนื่องของxดังนั้น "สปลายน์ธรรมชาติ" นอกเหนือจาก สมการเชิงเส้น n − 1 ( 15 ) ควรมี
เช่นว่า
| 16 |
| 17 |
ในที่สุด ( 15 ) ร่วมกับ ( 16 ) และ ( 17 ) จะประกอบเป็น สมการเชิงเส้น n + 1 สมการที่กำหนดพารามิเตอร์k 0 , k 1 , ..., k n ได้ อย่างเฉพาะ เจาะจง
นอกจากนี้ยังมีเงื่อนไขปลายอื่นๆ อีก ได้แก่ "สปลายแบบยึดแน่น" (clamped spline) ซึ่งระบุความชันที่ปลายของสปลาย และ "สปลายแบบไม่มีปม" (not-a-knot spline) ซึ่งกำหนดให้ค่าอนุพันธ์อันดับสามต้องต่อเนื่องที่ จุด x 1และx n −1ด้วย สำหรับสปลายแบบ "ไม่มีปม" สมการเพิ่มเติมจะเป็นดังนี้:
ที่ไหน.
ตัวอย่าง

ในกรณีที่มีจุดสามจุด ค่าของจะหาได้จากการแก้ระบบสมการเชิงเส้นสามแถว
กับ
สำหรับสามแต้ม
เข้าใจแล้ว
ในรูป ฟังก์ชันสปลายน์ที่ประกอบด้วยพหุนามลูกบาศก์สองตัวและกำหนดโดย ( 9 ) จะแสดงอยู่
ดูเพิ่มเติม
- อะคิมา สไปลน์
- การแทรกสอดแบบวงกลม
- สปลายเฮอร์ไมต์ลูกบาศก์
- สปลายแคทมุล-รอมแบบเข้าสู่ศูนย์กลาง
- การประมาณค่าแบบสปลายน์แบบไม่ต่อเนื่อง
- การแทรกสอดลูกบาศก์แบบโมโนโทน
- สปลายบีเชิงตรรกะที่ไม่สม่ำเสมอ
- การประมาณค่าแบบหลายตัวแปร
- การประมาณค่าพหุนาม
- สปลายเรียบ
- เวฟเล็ตสปลายน์
- ร่องสไปลน์แผ่นบาง
- สปลายโพลีฮาร์มอนิก
อ่านเพิ่มเติม
- Schoenberg, Isaac J. (1946). "การมีส่วนร่วมในปัญหาการประมาณข้อมูลที่มีระยะห่างเท่ากันโดยใช้ฟังก์ชันวิเคราะห์: ตอนที่ A.—เกี่ยวกับปัญหาการปรับเรียบหรือการไล่ระดับ สูตรการประมาณเชิงวิเคราะห์ชั้นแรก"วารสารคณิตศาสตร์ประยุกต์ 4 ( 2): 45– 99. doi : 10.1090/qam/15914 .
- Schoenberg, Isaac J. (1946). "การมีส่วนร่วมในปัญหาการประมาณค่าข้อมูลที่มีระยะห่างเท่ากันโดยใช้ฟังก์ชันวิเคราะห์: ตอนที่ B.—เกี่ยวกับปัญหาการสอดแทรกแบบ Osculatory สูตรการประมาณค่าเชิงวิเคราะห์ประเภทที่สอง"วารสารคณิตศาสตร์ประยุกต์ 4 ( 2): 112– 141. doi : 10.1090/qam/16705 .
ลิงก์ภายนอก
- เครื่องมือคำนวณและแสดงผลการประมาณค่าแบบ Cubic Spline ออนไลน์ (พร้อมซอร์สโค้ด JavaScript)
- "การแทรกสอดแบบสปลายน์" , สารานุกรมคณิตศาสตร์ , EMS Press , 2001 [1994]
- เส้นโค้งลูกบาศก์แบบไดนามิกด้วย JSXGraph
- การบรรยายเกี่ยวกับทฤษฎีและการปฏิบัติของการประมาณค่าแบบสปลายน์
- เอกสารที่อธิบายขั้นตอนการประมาณค่าแบบเส้นโค้งลูกบาศก์ (cubic spline interpolation) อย่างละเอียด แต่ใช้ได้เฉพาะกับจุดเชื่อมต่อที่มีระยะห่างเท่ากันเท่านั้น
- สูตรคำนวณเชิงตัวเลขในภาษาซี ไปที่บทที่ 3 ส่วนที่ 3-3
- หมายเหตุเกี่ยวกับเส้นโค้งลูกบาศก์
- ข้อมูลเกี่ยวกับการประมาณค่าแบบสปลายน์ (รวมถึงโค้ดในภาษา Fortran 77)
- TinySpline: ไลบรารี C แบบโอเพนซอร์สสำหรับสปลายน์ ซึ่งใช้การประมาณค่าแบบสปลายน์ลูกบาศก์
- SciPy Spline Interpolation: แพ็กเกจ Python ที่ใช้การประมาณค่าแบบแทรกสอด (interpolation)
- การประมาณค่าแบบลูกบาศก์: ไลบรารีโอเพนซอร์ส C# สำหรับการประมาณค่าแบบเส้นโค้งลูกบาศก์
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การประมาณค่าแบบสปลายน์
ใน สาขา คณิตศาสตร์ของการวิเคราะห์เชิงตัวเลขการประมาณค่าแบบสปลายน์เป็นรูปแบบหนึ่งของการประมาณ ค่า โดยที่ตัวประมาณค่าคือ พหุนามแบบแบ่งส่วน ชนิดพิเศษที่เรียกว่าสปลายน์กล่าวคือ
การแนะนำ
เดิมที คำว่า "สปลายน์" (spline) หมายถึงไม้บรรทัดยืดหยุ่นที่ดัดงอให้ผ่านจุดหรือ ปม ที่กำหนดไว้ล่วงหน้าจำนวนหนึ่ง ซึ่งใช้ในการเขียน แบบทางเทคนิค สำหรับ การต่อเรือ และการก่อสร้างด้วยมือ ดังแสดงในรูป
อัลกอริทึมในการหาเส้นโค้งสปลายลูกบาศก์แบบแทรกสอด
เราต้องการหาพหุนามแต่ละตัวที่กำหนดให้โดยจุดต่างๆ ที่ผ่าน จุด เพื่อทำเช่นนี้ เราจะพิจารณาเพียงส่วนหนึ่งของเส้นโค้งซึ่งจะประมาณค่าจากจุด ไปยังจุด ส่วนนี้จะมีค่าความชันและที่จุดปลาย หรือกล่าวให้แม่นยำยิ่งขึ้นคือ q i ( x ) {\displaystyle q_{i}(x)} ( x 0 , y 0 )...
ตัวอย่าง
ในกรณีที่มีจุดสามจุด ค่าของจะหาได้จากการแก้ ระบบสมการเชิงเส้นสามแถว k 0 , k 1 , k 2 {\displaystyle k_{0},k_{1},k_{2}}