กลับไปหน้าบทความ

อ่าน 9 นาที

การประมาณค่าแบบสปลายน์

ใน สาขา คณิตศาสตร์ของการวิเคราะห์เชิงตัวเลขการประมาณค่าแบบสปลายน์เป็นรูปแบบหนึ่งของการประมาณ ค่า โดยที่ตัวประมาณค่าคือ พหุนามแบบแบ่งส่วน ชนิดพิเศษที่เรียกว่าสปลายน์กล่าวคือ

การประมาณค่าแบบสปลายน์

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

การแนะนำ

การประมาณค่าในช่วงด้วยเส้นโค้งลูกบาศก์ระหว่างจุดแปดจุด ภาพเขียนทางเทคนิคที่วาดด้วยมือสำหรับการต่อเรือเป็นตัวอย่างทางประวัติศาสตร์ของการประมาณค่าในช่วงด้วยเส้นโค้งลูกบาศก์ โดยภาพเขียนเหล่านั้นสร้างขึ้นโดยใช้ไม้บรรทัดที่ยืดหยุ่นได้ซึ่งงอตามจุดที่กำหนดไว้ล่วงหน้า

เดิมที คำว่า "สปลายน์" (spline)หมายถึงไม้บรรทัดยืดหยุ่นที่ดัดงอให้ผ่านจุดหรือปม ที่กำหนดไว้ล่วงหน้าจำนวนหนึ่ง ซึ่งใช้ในการเขียนแบบทางเทคนิคสำหรับการต่อเรือและการก่อสร้างด้วยมือ ดังแสดงในรูป

เราต้องการสร้างแบบจำลองเส้นโค้งประเภทเดียวกันโดยใช้ชุดสมการทางคณิตศาสตร์ สมมติว่าเรามีลำดับของปมตั้งแต่ ถึง โดยจะมีพหุนามกำลังสามระหว่างปมแต่ละคู่ที่อยู่ติดกันและเชื่อมต่อปมทั้งสองเข้าด้วยกัน โดยที่ดังนั้นจะมีพหุนามจำนวน พหุนาม โดยพหุนามแรกเริ่มต้นที่และพหุนามสุดท้ายสิ้นสุดที่

ความโค้งของเส้นโค้งใดๆถูกกำหนดโดย

โดยที่และคืออนุพันธ์อันดับที่หนึ่งและอันดับที่สองของเทียบกับ ตามลำดับเพื่อให้เส้นโค้งสปลายน์มีรูปร่างที่ลดการโค้งงอให้น้อยที่สุด (ภายใต้เงื่อนไขที่ต้องผ่านจุดเชื่อมต่อทั้งหมด) เราจะกำหนดให้และมีความต่อเนื่องทุกที่ รวมถึงที่จุดเชื่อมต่อด้วย พหุนามแต่ละตัวที่ต่อเนื่องกันจะต้องมีค่าเท่ากัน (ซึ่งเท่ากับค่า y ของจุดข้อมูลที่สอดคล้องกัน) อนุพันธ์ และอนุพันธ์อันดับที่จุดเชื่อมต่อ ซึ่งหมายความว่า

วิธีนี้จะทำได้ก็ต่อเมื่อใช้พหุนามดีกรี 3 (พหุนามกำลังสาม) หรือสูงกว่าเท่านั้น วิธีการแบบดั้งเดิมคือการใช้พหุนามดีกรี 3 พอดี ซึ่งก็คือส ปลายกำลังสาม

นอกเหนือจากเงื่อนไขทั้งสามข้างต้นแล้วสปลายลูกบาศก์ธรรมชาติยังมีเงื่อนไขเพิ่มเติมอีกว่า

นอกเหนือจากเงื่อนไขหลักสามข้อข้างต้นแล้วสปลายลูกบาศก์แบบยึดแน่นยังมีเงื่อนไขเพิ่มเติมคือและโดยที่คืออนุพันธ์ของฟังก์ชันที่แทรกเข้าไป

นอกเหนือจากเงื่อนไขหลักสามประการข้างต้นแล้วสปลายที่ไม่ใช่ปมยังมีเงื่อนไขที่และ[ 2 ]

อัลกอริทึมในการหาเส้นโค้งสปลายลูกบาศก์แบบแทรกสอด

เราต้องการหาพหุนามแต่ละตัวที่กำหนดให้โดยจุดต่างๆ ที่ผ่าน จุด เพื่อทำเช่นนี้ เราจะพิจารณาเพียงส่วนหนึ่งของเส้นโค้งซึ่งจะประมาณค่าจากจุด ไปยังจุด ส่วนนี้จะมีค่าความชันและที่จุดปลาย หรือกล่าวให้แม่นยำยิ่งขึ้นคือ

สมการฉบับเต็มสามารถเขียนในรูปแบบสมมาตรได้

ที่ไหน

แต่และ คืออะไร ? ในการหาค่าวิกฤตเหล่านี้ เราต้องพิจารณาว่า

ดังนั้นจึงสรุปได้ว่า

เมื่อกำหนดt = 0และt = 1ตามลำดับในสมการ ( 5 ) และ ( 6 ) จะได้จาก ( 2 ) ว่าอนุพันธ์อันดับแรกq′ ( x 1 ) = k 1และq′ ( x 2 ) = k 2และอนุพันธ์อันดับสองด้วย

ถ้าตอนนี้( x i , y i ), i = 0, 1, ..., nเป็น จุด n + 1จุด และ

โดยที่i = 1, 2, ..., nและเป็นพหุนามดีกรีสามจำนวนn ตัวที่ประมาณค่า yในช่วงx i −1xx iสำหรับi = 1, ..., nโดยที่q′ i ( x i ) = q′ i +1 ( x i )สำหรับi = 1, ..., n  − 1 แล้ว พหุนามทั้ง n ตัวนี้ จะรวมกันเป็นฟังก์ชันที่หาอนุพันธ์ได้ในช่วงx 0xx nและ

สำหรับi = 1, ..., nโดยที่

ถ้าลำดับk 0 , k 1 , ..., k nเป็นเช่นนั้น และนอกจากนี้q′′ i ( x i ) = q′′ i +1 ( x i )เป็นจริงสำหรับi = 1, ..., n  − 1 แล้ว ฟังก์ชันที่ได้จะมีอนุพันธ์อันดับสองต่อเนื่องด้วย

จาก ( 7 ), ( 8 ), ( 10 ) และ ( 11 ) สรุปได้ว่ากรณีนี้เกิดขึ้นก็ต่อเมื่อ

สำหรับi = 1, ..., n  1 ความสัมพันธ์ ( 15 ) เป็น สมการเชิงเส้น n − 1สำหรับ ค่า k 0 , k 1 , ..., k n จำนวน n + 1ค่า

สำหรับไม้บรรทัดยืดหยุ่นซึ่งเป็นแบบจำลองสำหรับการแทรกสอดสปลายน์ พบว่าทางด้านซ้ายของ "ปม" ซ้ายสุดและทางด้านขวาของ "ปม" ขวาสุด ไม้บรรทัดสามารถเคลื่อนที่ได้อย่างอิสระและจะมีรูปร่างเป็นเส้นตรงที่มีq′′ = 0เนื่องจากq′′ควรเป็นฟังก์ชันต่อเนื่องของxดังนั้น "สปลายน์ธรรมชาติ" นอกเหนือจาก สมการเชิงเส้น n − 1 ( 15 ) ควรมี

เช่นว่า

ในที่สุด ( 15 ) ร่วมกับ ( 16 ) และ ( 17 ) จะประกอบเป็น สมการเชิงเส้น n + 1 สมการที่กำหนดพารามิเตอร์k 0 , k 1 , ..., k n ได้ อย่างเฉพาะ เจาะจง

นอกจากนี้ยังมีเงื่อนไขปลายอื่นๆ อีก ได้แก่ "สปลายแบบยึดแน่น" (clamped spline) ซึ่งระบุความชันที่ปลายของสปลาย และ "สปลายแบบไม่มีปม" (not-a-knot spline) ซึ่งกำหนดให้ค่าอนุพันธ์อันดับสามต้องต่อเนื่องที่ จุด x 1และx n −1ด้วย สำหรับสปลายแบบ "ไม่มีปม" สมการเพิ่มเติมจะเป็นดังนี้:

ที่ไหน.

ตัวอย่าง

การประมาณค่าในช่วงด้วยเส้นโค้งสปลายลูกบาศก์ "ธรรมชาติ" ระหว่างสามจุด

ในกรณีที่มีจุดสามจุด ค่าของจะหาได้จากการแก้ระบบสมการเชิงเส้นสามแถว

กับ

สำหรับสามแต้ม

เข้าใจแล้ว

และจาก ( 10 ) และ ( 11 ) ว่า

ในรูป ฟังก์ชันสปลายน์ที่ประกอบด้วยพหุนามลูกบาศก์สองตัวและกำหนดโดย ( 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# สำหรับการประมาณค่าแบบเส้นโค้งลูกบาศก์
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Spline_interpolation&oldid=1325889537 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การประมาณค่าแบบสปลายน์

ใน สาขา คณิตศาสตร์ของการวิเคราะห์เชิงตัวเลขการประมาณค่าแบบสปลายน์เป็นรูปแบบหนึ่งของการประมาณ ค่า โดยที่ตัวประมาณค่าคือ พหุนามแบบแบ่งส่วน ชนิดพิเศษที่เรียกว่าสปลายน์กล่าวคือ

การแนะนำ

เดิมที คำว่า "สปลายน์" (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}}