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

อ่าน 6 นาที

วิธีเซแคนท์

ในการวิเคราะห์เชิงตัวเลขวิธีเซแคนต์เป็นอัลกอริทึมการหาค่ารากที่ใช้รากของเส้นเซแคนต์ ตามลำดับ เพื่อประมาณค่ารากของฟังก์ชันf ได้ดียิ่งขึ้น วิธีเซแคนต์สามารถคิดได้ว่าเป็นการ ประมาณค่า

วิธีเซแคนท์

การวนซ้ำสองครั้งแรกของวิธีซีแคนต์ เส้นโค้งสีแดงแสดงฟังก์ชันfและเส้นสีน้ำเงินคือเส้นซีแคนต์ สำหรับกรณีนี้ วิธีซีแคนต์จะไม่ลู่เข้าสู่รากที่มองเห็นได้

ในการวิเคราะห์เชิงตัวเลขวิธีเซแคนต์เป็นอัลกอริทึมการหาค่ารากที่ใช้รากของเส้นเซแคนต์ ตามลำดับ เพื่อประมาณค่ารากของฟังก์ชันf ได้ดียิ่งขึ้น วิธีเซแคนต์สามารถคิดได้ว่าเป็นการ ประมาณค่า ความแตกต่างจำกัดของวิธีของนิวตันดังนั้นจึงถือว่าเป็นวิธีควาซี-นิวตันในทางประวัติศาสตร์ วิธีนี้เป็นวิวัฒนาการของวิธีตำแหน่งเท็จซึ่งมีมาก่อนวิธีของนิวตันกว่า 3000 ปี[ 1 ]

วิธีการ

วิธีซีแคนต์เป็นวิธีเชิงตัวเลขแบบวนซ้ำสำหรับการหาค่าศูนย์ของฟังก์ชันfโดยกำหนดค่าเริ่มต้นสองค่าคือx₀ และ x₁ วิธีนี้จะดำเนินการตามความสัมพันธ์เวียนเกิด

นี่คือความสัมพันธ์เวียนเกิดอันดับสองแบบไม่เชิงเส้น ซึ่งกำหนดไว้อย่างชัดเจนเมื่อกำหนดค่าfและค่าเริ่มต้นสองค่าคือx 0และx 1โดยในอุดมคติแล้ว ควรเลือกค่าเริ่มต้นให้ใกล้เคียงกับค่าศูนย์ที่ต้องการ

การได้มาซึ่งวิธีการ

เริ่มต้นด้วยค่าเริ่มต้นx 0และx 1เราสร้างเส้นตรงผ่านจุด( x 0 , f ( x 0 ))และ( x 1 , f ( x 1 ))ดังแสดงในภาพด้านบน ในรูปแบบจุดต่อจุด[ 2 ]สมการของเส้นตรงนี้คือ

รากของฟังก์ชันเชิงเส้น นี้ ซึ่งก็คือค่าของxที่ทำให้y = 0คือ

จากนั้นเราใช้ค่าx ใหม่นี้ เป็นx 2และทำซ้ำกระบวนการ โดยใช้x 1และx 2แทนx 0และx 1เราดำเนินการตามกระบวนการนี้ต่อไป เพื่อหาค่าx 3 , x 4เป็นต้น จนกว่าเราจะได้ระดับความแม่นยำที่สูงเพียงพอ (ความแตกต่างระหว่างx nและx n −1 มีค่าน้อยเพียงพอ ):

การบรรจบกัน

การวนซ้ำของวิธีเซแคนต์จะลู่เข้าสู่รากของถ้าค่าเริ่มต้นและอยู่ใกล้กับรากมากพอและมีพฤติกรรมที่ดี เมื่อสามารถหาอนุพันธ์ได้สองครั้งอย่างต่อเนื่องและรากที่กล่าวถึงเป็นรากเดี่ยว กล่าวคือ มีความซ้ำซ้อน 1 ลำดับการลู่เข้าจะเป็นอัตราส่วนทองคำ[ 3 ]การลู่เข้านี้เป็นแบบซูเปอร์ลิเนียร์แต่เป็นแบบซับควาดราติก

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

การเปรียบเทียบกับวิธีการค้นหารากอื่นๆ

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

สูตรเวียนเกิดของวิธีซีแคนต์สามารถหาได้จากสูตรของวิธีนิวตัน

โดยใช้ การประมาณ ค่าความแตกต่างจำกัดสำหรับค่าเล็กๆ:

วิธีซีแคนต์สามารถตีความได้ว่าเป็นวิธีการที่ใช้การประมาณแทนอนุพันธ์ ดังนั้นจึงเป็นวิธีการแบบกึ่งนิวตัน

หากเราเปรียบเทียบวิธีของนิวตันกับวิธีซีแคนต์ เราจะเห็นว่าวิธีของนิวตันลู่เข้าได้เร็วกว่า (อันดับ 2 เทียบกับอันดับอัตราส่วนทองคำφ  ≈ 1.6) [ 3 ]อย่างไรก็ตาม วิธีของนิวตันต้องประเมินทั้งและอนุพันธ์ของมันในทุกขั้นตอน ในขณะที่วิธีซีแคนต์ต้องประเมินเพียง เท่านั้นดังนั้น วิธีซีแคนต์อาจเร็วกว่าในทางปฏิบัติในบางครั้ง ตัวอย่างเช่น หากเราสมมติว่าการประเมินใช้เวลาเท่ากับการประเมินอนุพันธ์ของมัน และเราละเลยต้นทุนอื่นๆ ทั้งหมด เราสามารถทำสองขั้นตอนของวิธีซีแคนต์ (ลดลอการิทึมของข้อผิดพลาดด้วยปัจจัยφ 2  ≈ 2.6) ด้วยต้นทุนเท่ากับหนึ่งขั้นตอนของวิธีของนิวตัน (ลดลอการิทึมของข้อผิดพลาดด้วยปัจจัย 2) ดังนั้น วิธีซีแคนต์จึงเร็วกว่า ในมิติที่สูงขึ้น ชุดอนุพันธ์ย่อย ทั้งหมด ที่จำเป็นสำหรับวิธีของนิวตัน นั่นคือเมทริกซ์จาโคเบียนอาจมีค่าใช้จ่ายในการคำนวณสูงกว่าตัวฟังก์ชันเองมาก อย่างไรก็ตาม หากเราพิจารณาการประมวลผลแบบขนานสำหรับการประเมินอนุพันธ์ วิธีของนิวตันอาจเร็วกว่าในแง่ของเวลาการประมวลผล แม้ว่าโดยรวมแล้วจะยังคงต้องใช้การคำนวณมากกว่าก็ตาม

ข้อควรพิจารณาในทางปฏิบัติ

ในทางคณิตศาสตร์ วิธีการเซแคนท์สองรูปแบบต่อไปนี้เทียบเท่ากัน: และ

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

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

การสรุปทั่วไป

วิธีของบรอยเดนเป็นการขยายวิธีเซแคนต์ไปสู่มิติที่มากกว่าหนึ่งมิติ

กราฟต่อไปนี้แสดงฟังก์ชันfด้วยเส้นสีแดง และเส้นตัดสุดท้ายด้วยเส้นสีน้ำเงินหนา ในกราฟ จุดตัดแกน xของเส้นตัดดูเหมือนจะเป็นค่าประมาณที่ดีของรากของฟังก์ชัน f

ตัวอย่างการคำนวณ

ด้านล่างนี้คือตัวอย่างการใช้งานวิธีเซแคนต์ในภาษาโปรแกรม Python

จาก นั้นจึงนำไปใช้เพื่อหาค่ารากของฟังก์ชันf ( x ) = − 612โดยใช้จุดเริ่มต้นและ

def secant_method ( f , x0 : int , x1 : int , iterations : int ) -> float : """คืนค่ารากที่คำนวณโดยใช้วิธีซีแคนต์""" for i in range ( iterations ): x2 = x1 - f ( x1 ) * ( x1 - x0 ) / float ( f ( x1 ) - f ( x0 )) x0 , x1 = x1 , x2 # ใช้เกณฑ์การหยุดที่นี่ (ดูด้านล่าง) return x2def f_example ( x ): return x ** 2 - 612root = secant_method ( f_example , 10 , 30 , 5 )print ( f "Root: { root } " ) # Root: 24.738633748750722

การมีเกณฑ์การหยุดที่ดีข้างต้นนั้นสำคัญมาก มิฉะนั้นเนื่องจากความแม่นยำเชิงตัวเลขที่จำกัดของตัวเลขจุดลอยตัว อัลกอริทึมอาจส่งคืนผลลัพธ์ที่ไม่ถูกต้องหากทำงานซ้ำมากเกินไป ตัวอย่างเช่น ลูปข้างต้นสามารถหยุดได้เมื่อถึงเงื่อนไขใดเงื่อนไขหนึ่งต่อไปนี้ก่อน: abs(x0 - x1) < tolหรือabs(x0/x1-1) < tolหรือabs(f(x1)) < tol [ 4 ]

หมายเหตุ

  1. ^ Papakonstantinou, Joanna; Tapia, Richard (2013). "ที่มาและวิวัฒนาการของวิธีการเซแคนต์ในมิติเดียว" . American Mathematical Monthly . 120 (6): 500– 518. doi : 10.4169/amer.math.monthly.120.06.500 . JSTOR  10.4169/amer.math.monthly.120.06.500 . S2CID  17645996 .
  2. ^ Marsden, Jerrold (1985). Calculus I. Springer-Verlag New York Inc. หน้า 31. ISBN 978-1-4612-5024-1.
  3. ^ a b Chanson, Jeffrey R. (3 ตุลาคม 2024). "ลำดับการบรรจบกัน" . LibreTexts Mathematics . สืบค้นเมื่อ3 ตุลาคม 2024 .
  4. ^ "บทเรียน MATLAB สำหรับหลักสูตรเบื้องต้น ตอนที่ 1.3: วิธีการหาเส้นตัด "

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Secant_method&oldid=1352744232 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ วิธีเซแคนท์

ในการวิเคราะห์เชิงตัวเลขวิธีเซแคนต์เป็นอัลกอริทึมการหาค่ารากที่ใช้รากของเส้นเซแคนต์ ตามลำดับ เพื่อประมาณค่ารากของฟังก์ชันf ได้ดียิ่งขึ้น วิธีเซแคนต์สามารถคิดได้ว่าเป็นการ ประมาณค่า

วิธีการ

วิธีซีแคนต์เป็นวิธีเชิงตัวเลขแบบวนซ้ำสำหรับการหาค่าศูนย์ของฟังก์ชัน f โดยกำหนดค่าเริ่มต้นสองค่าคือ x₀ และ x₁ วิธี นี้ จะ ดำเนิน การตาม ความสัมพันธ์เวียนเกิด

การได้มาซึ่งวิธีการ

เริ่มต้นด้วยค่าเริ่มต้น x 0 และ x 1 เราสร้างเส้นตรงผ่านจุด ( x 0 , f ( x 0 )) และ ( x 1 , f ( x 1 )) ดังแสดงในภาพด้านบน ในรูปแบบจุดต่อจุด [ 2 ] สมการของเส้นตรงนี้คือ

การบรรจบกัน

การวนซ้ำของวิธีเซแคนต์จะลู่เข้าสู่รากของถ้าค่าเริ่มต้นและอยู่ใกล้กับรากมากพอและมีพฤติกรรมที่ดี เมื่อสามารถหาอนุพันธ์ได้สองครั้งอย่างต่อเนื่องและรากที่กล่าวถึงเป็นรากเดี่ยว กล่าวคือ มีความซ้ำซ้อน 1 ลำดับ การลู่เข้า จะเป็น อัตราส่วนทองคำ [ 3 ]...