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

อ่าน 10 นาที

การวิเคราะห์เชิงตัวเลข

การวิเคราะห์เชิงตัวเลขคือการศึกษาอัลกอริทึมสำหรับปัญหาของคณิตศาสตร์ต่อเนื่อง อั ลกอริทึมเหล่านี้เกี่ยวข้องกับ ตัวแปร จริงหรือเชิงซ้อน (ตรงข้ามกับคณิตศาสตร์ไม่ต่อเนื่อง )...

การวิเคราะห์เชิงตัวเลข

แผ่นดินเหนียวบาบิโลนYBC 7289 (ประมาณ 1800–1600 ปีก่อนคริสตกาล) พร้อมคำอธิบายประกอบ การประมาณค่ารากที่สองของ 2คือ 4 หลักฐาน หกสิบซึ่งประมาณ 6 หลัก ทศนิยม 1 + 24/60 + 51/60 2 + 10/60 3 = 1.41421296... [ 1 ]

การวิเคราะห์เชิงตัวเลขคือการศึกษาอัลกอริทึมสำหรับปัญหาของคณิตศาสตร์ต่อเนื่อง [ 2 ] อั ลกอริทึมเหล่านี้เกี่ยวข้องกับ ตัวแปร จริงหรือเชิงซ้อน (ตรงข้ามกับคณิตศาสตร์ไม่ต่อเนื่อง ) และโดยทั่วไปจะใช้การประมาณ เชิง ตัวเลข นอกเหนือจากการจัดการเชิงสัญลักษณ์

การวิเคราะห์เชิงตัวเลขมีการประยุกต์ใช้ในทุกสาขาของวิศวกรรมและวิทยาศาสตร์กายภาพ และในศตวรรษที่ 21 ยังรวมถึงวิทยาศาสตร์ชีวภาพและสังคม เช่น เศรษฐศาสตร์ การแพทย์ ธุรกิจ และแม้กระทั่งศิลปะ การเติบโตของกำลังการคำนวณในปัจจุบันทำให้สามารถใช้การวิเคราะห์เชิงตัวเลขที่ซับซ้อนมากขึ้น ซึ่งให้แบบจำลองทางคณิตศาสตร์ที่ละเอียดและสมจริงในวิทยาศาสตร์และวิศวกรรม ตัวอย่างของการวิเคราะห์เชิงตัวเลข ได้แก่ สมการเชิง อนุพันธ์สามัญดังที่พบในกลศาสตร์ดาราศาสตร์ (การทำนายการเคลื่อนที่ของดาวเคราะห์ ดาวฤกษ์ และกาแล็กซี) พีชคณิตเชิงเส้นเชิงตัวเลขในการวิเคราะห์ข้อมูล[ 3 ] [ 4 ] [ 5 ]และ สมการเชิง อนุพันธ์เชิงสุ่มและห่วงโซ่มาร์คอฟสำหรับการจำลองเซลล์ที่มีชีวิตในทางการแพทย์และชีววิทยา

ก่อนยุคคอมพิวเตอร์สมัยใหม่วิธีการเชิงตัวเลขมักอาศัย สูตร การแทรกสอด ด้วยมือ โดยใช้ข้อมูลจากตารางพิมพ์ขนาดใหญ่ ตั้งแต่กลางศตวรรษที่ 20 คอมพิวเตอร์ได้คำนวณฟังก์ชันที่ต้องการแทน แต่สูตรเดียวกันหลายสูตรยังคงถูกนำมาใช้ในอัลกอริธึมซอฟต์แวร์[ 6 ]

มุมมองเชิงตัวเลขมีมาตั้งแต่บันทึกทางคณิตศาสตร์ยุคแรกๆ แผ่นจารึกจากคอลเลกชันบาบิโลนของมหาวิทยาลัยเยล ( YBC 7289 ) ให้ค่าประมาณเชิงตัวเลข ในระบบเลขฐานหกสิบของ รากที่สองของ 2ซึ่งเป็นความยาวของเส้นทแยงมุมในสี่เหลี่ยมจัตุรัส หน่วย

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

แอปพลิเคชัน

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

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

ประวัติศาสตร์

สาขาการวิเคราะห์เชิงตัวเลขมีมาก่อนการประดิษฐ์คอมพิวเตอร์สมัยใหม่หลายศตวรรษการแทรกสอดเชิงเส้นถูกนำมาใช้แล้วเมื่อกว่า 2,000 ปีที่แล้ว นักคณิตศาสตร์ผู้ยิ่งใหญ่หลายคนในอดีตต่างหมกมุ่นอยู่กับการวิเคราะห์เชิงตัวเลข[ 6 ]ดังที่เห็นได้ชัดจากชื่อของอัลกอริทึมที่สำคัญ เช่นวิธีของนิวตันพหุ นามการแทรกสอดของ ลากรางจ์ การกำจัดแบบเกาส์เซียนหรือวิธีของออยเลอร์ต้นกำเนิดของการวิเคราะห์เชิงตัวเลขสมัยใหม่มักเชื่อมโยงกับบทความในปี 1947 โดยจอห์น ฟอน นอยมันน์และเฮอร์แมน โกลด์สไตน์ [ 8 ] [ 9 ] แต่บาง คน ก็ถือว่าการวิเคราะห์เชิงตัวเลขสมัยใหม่ย้อนกลับไปถึงงานของอีที วิทเทเกอร์ในปี 1912 [ 8 ]

สิ่งพิมพ์ของ NIST

เพื่ออำนวยความสะดวกในการคำนวณด้วยมือ จึงมีการจัดทำหนังสือขนาดใหญ่ที่มีสูตรและตารางข้อมูล เช่น จุดการประมาณค่าและสัมประสิทธิ์ของฟังก์ชัน โดยใช้ตารางเหล่านี้ ซึ่งมักคำนวณได้ถึงทศนิยม 16 ตำแหน่งหรือมากกว่านั้นสำหรับบางฟังก์ชัน เราสามารถค้นหาค่าเพื่อนำไปใส่ในสูตรที่กำหนดและได้ค่าประมาณเชิงตัวเลขที่ดีมากสำหรับบางฟังก์ชัน งานเขียนที่เป็นที่ยอมรับในสาขานี้คือ หนังสือ ของ NISTที่แก้ไขโดยAbramowitz และ Stegunซึ่งเป็นหนังสือมากกว่า 1,000 หน้าที่รวบรวมสูตรและฟังก์ชันที่ใช้กันทั่วไปจำนวนมากพร้อมค่าของฟังก์ชันเหล่านั้น ณ จุดต่างๆ ค่าของฟังก์ชันเหล่านั้นอาจไม่ค่อยมีประโยชน์แล้วเมื่อมีคอมพิวเตอร์ แต่รายการสูตรจำนวนมากยังคงมีประโยชน์มาก

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

รางวัล เลสลี ฟ็อกซ์ สำหรับการวิเคราะห์เชิงตัวเลขเริ่มต้นขึ้นในปี 1985 โดยสถาบันคณิตศาสตร์และการประยุกต์

แนวคิดหลัก

วิธีการโดยตรงและวิธีการวนซ้ำ

วิธีการโดยตรงคำนวณหาคำตอบของปัญหาโดยใช้ขั้นตอนจำนวนจำกัด วิธีการเหล่านี้จะให้คำตอบที่แม่นยำหากคำนวณด้วยเลขคณิตที่มีความแม่นยำอนันต์ตัวอย่างเช่น วิธี การกำจัดแบบเกาส์เซียนวิธีการแยกตัวประกอบ QRสำหรับแก้ระบบสมการเชิงเส้นและวิธีการซิมเพล็กซ์ของการเขียนโปรแกรมเชิงเส้นในทางปฏิบัติ จะใช้ ความแม่นยำที่จำกัดและผลลัพธ์ที่ได้จะเป็นค่าประมาณของคำตอบที่แท้จริง (โดยสมมติว่ามีเสถียรภาพ )

ตรงกันข้ามกับวิธีการโดยตรงวิธีการวนซ้ำไม่คาดว่าจะสิ้นสุดในจำนวนขั้นตอนที่จำกัด แม้ว่าจะมีความแม่นยำอนันต์ก็ตาม เริ่มต้นจากการคาดเดาเบื้องต้น วิธีการวนซ้ำจะสร้างการประมาณค่าต่อเนื่องที่ลู่เข้าสู่คำตอบที่ถูกต้องเฉพาะในขีดจำกัดเท่านั้น การทดสอบการลู่เข้า ซึ่งมักเกี่ยวข้องกับค่าตกค้างจะถูกระบุไว้เพื่อตัดสินว่าเมื่อใดที่ได้พบคำตอบที่แม่นยำเพียงพอ (หวังว่าจะเป็นเช่นนั้น) แม้จะใช้เลขคณิตที่มีความแม่นยำอนันต์ วิธีการเหล่านี้ก็จะไม่ถึงคำตอบภายในจำนวนขั้นตอนที่จำกัด (โดยทั่วไป) ตัวอย่างเช่น วิธีของนิวตันวิธีการแบ่งครึ่งและการวนซ้ำของจาโคบีในพีชคณิตเมทริกซ์เชิงคำนวณ โดยทั่วไปแล้วจำเป็นต้องใช้วิธีการวนซ้ำสำหรับปัญหาขนาดใหญ่[ 10 ] [ 11 ] [ 12 ] [ 13 ]

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

ยกตัวอย่างเช่น ลองพิจารณาปัญหาการแก้ปัญหา

3 x 3 + 4 = 28

สำหรับปริมาณที่ไม่ทราบค่า x

วิธีโดยตรง
3 x 3 + 4 = 28
ลบ 43 x 3 = 24
หารด้วย 3x 3 = 8.
หาค่ารากที่สามx = 2.

สำหรับวิธีการวนซ้ำ ให้ใช้วิธีการแบ่งครึ่งช่วงกับf ( x ) = 3x³ − 24ค่าเริ่มต้นคือa = 0, b = 3, f ( a ) = −24, f ( b ) = 57

วิธีการวนซ้ำ
เอกลาง (กลาง)
031.5−13.875
1.532.2510.17...
1.52.251.875−4.22...
1.8752.252.06252.32...

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

การปรับสภาพร่างกาย

ปัญหาเงื่อนไขไม่ดี: พิจารณาฟังก์ชันf ( x ) = 1/( x  − 1)สังเกตว่าf (1.1) = 10 และf (1.001) = 1000: การเปลี่ยนแปลงของxน้อยกว่า 0.1 จะกลายเป็นการเปลี่ยนแปลงของf ( x ) เกือบ 1000 การประเมินค่าf ( x ) ใกล้x = 1 เป็นปัญหาเงื่อนไขไม่ดี

ปัญหาที่มีเงื่อนไขดี: ในทางตรงกันข้าม การประเมินค่าฟังก์ชันเดียวกันf ( x ) = 1/( x  − 1)ใกล้x = 10 ถือเป็นปัญหาที่มีเงื่อนไขดี ตัวอย่างเช่นf (10) = 1/9 ≈ 0.111 และf (11) = 0.1: การเปลี่ยนแปลงเล็กน้อยในxนำไปสู่การเปลี่ยนแปลงเล็กน้อยในf ( x )

การแบ่งส่วนย่อย

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

การสร้างและการแพร่กระจายของข้อผิดพลาด

การศึกษาเรื่องข้อผิดพลาดเป็นส่วนสำคัญของการวิเคราะห์เชิงตัวเลข มีหลายวิธีที่อาจทำให้เกิดข้อผิดพลาดในการแก้ปัญหาได้

ปัดเศษ

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

ข้อผิดพลาดจากการตัดทอนและการแบ่งส่วนย่อย

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

เมื่อเกิดข้อผิดพลาดขึ้น ข้อผิดพลาดนั้นจะแพร่กระจายไปทั่วกระบวนการคำนวณ ตัวอย่างเช่น การดำเนินการ + บนคอมพิวเตอร์นั้นไม่แม่นยำ การคำนวณประเภท⁠ ⁠นั้นยิ่งไม่แม่นยำกว่ามาก

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

เสถียรภาพเชิงตัวเลขและปัญหาที่กำหนดไว้อย่างดี

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

สาขาวิชา

สาขาการวิเคราะห์เชิงตัวเลขประกอบด้วยสาขาย่อยมากมาย สาขาหลักๆ ได้แก่:

การคำนวณค่าของฟังก์ชัน

การประมาณค่าในช่วง: จากการสังเกตว่าอุณหภูมิเปลี่ยนแปลงจาก 20 องศาเซลเซียส เวลา 13:00 น. เหลือ 14 องศาเซลเซียส เวลา 15:00 น. การประมาณค่าในช่วงเชิงเส้นของข้อมูลนี้จะสรุปได้ว่าอุณหภูมิอยู่ที่ 17 องศาเซลเซียส เวลา 14:00 น. และ 18.5 องศาเซลเซียส เวลา 13:30 น.

การคาดการณ์ล่วงหน้า: หากผลิตภัณฑ์มวลรวมภายในประเทศ (GDP)ของประเทศหนึ่งเติบโตเฉลี่ยปีละ 5% และมีมูลค่า 100,000 พันล้านในปีที่แล้ว ก็สามารถคาดการณ์ล่วงหน้าได้ว่าปีนี้จะมีมูลค่า 105,000 พันล้าน

เส้นตรงลากผ่าน 20 จุด
เส้นตรงลากผ่าน 20 จุด

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

น้ำมะนาวแก้วละเท่าไหร่คะ?
น้ำมะนาวแก้วละเท่าไหร่คะ?

การหาค่าที่เหมาะสมที่สุด: สมมติว่าร้านขายน้ำ มะนาวขายน้ำมะนาวในราคาแก้วละ 1.00 ดอลลาร์ สามารถขายได้ 197 แก้วต่อวัน และทุกๆ การขึ้นราคา 0.01 ดอลลาร์ จะขายได้น้อยลง 1 แก้วต่อวัน หากคิดราคา 1.485 ดอลลาร์ กำไรจะสูงสุด แต่เนื่องจากข้อจำกัดที่ต้องคิดราคาเป็นจำนวนเต็มเซ็นต์ การคิดราคา 1.48 หรือ 1.49 ดอลลาร์ต่อแก้ว จะให้รายได้สูงสุดที่ 220.52 ดอลลาร์ต่อวันเช่นกัน

ทิศทางลมแสดงด้วยสีน้ำเงิน เส้นทางจริงแสดงด้วยสีดำ วิธีออยเลอร์แสดงด้วยสีแดง
ทิศทางลมแสดงด้วยสีน้ำเงิน เส้นทางจริงแสดงด้วยสีดำ วิธีออยเลอร์แสดงด้วยสีแดง

สมการเชิงอนุพันธ์: ถ้าตั้งพัดลม 100 ตัวให้เป่าลมจากปลายห้องด้านหนึ่งไปยังอีกด้านหนึ่ง แล้วปล่อยขนนกหนึ่งอันลงไปในกระแสลม จะเกิดอะไรขึ้น? ขนนกจะเคลื่อนที่ไปตามกระแสลม ซึ่งอาจซับซ้อนมาก วิธีประมาณค่าอย่างหนึ่งคือ การวัดความเร็วลมที่พัดผ่านขนนกทุก ๆ วินาที แล้วจำลองการเคลื่อนที่ของขนนกเสมือนว่ามันเคลื่อนที่เป็นเส้นตรงด้วยความเร็วเท่าเดิมเป็นเวลาหนึ่งวินาที ก่อนที่จะวัดความเร็วลมอีกครั้ง วิธีนี้เรียกว่าวิธีของออยเลอร์ (Euler method)สำหรับการแก้สมการเชิงอนุพันธ์สามัญ

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

การประมาณค่าในช่วง การประมาณค่าภายนอกช่วง และการถดถอย

การประมาณค่าในช่วง (Interpolation)ช่วยแก้ปัญหาต่อไปนี้: เมื่อทราบค่าของฟังก์ชันที่ไม่ทราบค่า ณ จุดจำนวนหนึ่ง ฟังก์ชันนั้นจะมีค่าเท่าใด ณ จุดอื่น ๆ ที่อยู่ระหว่างจุดที่กำหนดให้เหล่านั้น

การประมาณค่าภายนอกคล้ายกับการประมาณค่าภายในมาก ยกเว้นว่าตอนนี้ต้องหาค่าของฟังก์ชันที่ไม่ทราบค่า ณ จุดที่อยู่นอกจุดที่กำหนด[ 15 ]

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

การแก้สมการและระบบสมการ

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

ความพยายามอย่างมากได้ถูกทุ่มเทไปกับการพัฒนาวิธีการแก้ระบบสมการเชิงเส้นวิธีการโดยตรงมาตรฐาน เช่น วิธีการที่ใช้การแยกส่วนเมทริกซ์ได้แก่การกำจัดแบบเกาส์เซียนการแยกส่วน LU การแยกส่วน Choleskyสำหรับเมท ริกซ์ สมมาตร (หรือเฮอร์มิเชียน ) และเมทริกซ์บวกแน่นอนและการแยกส่วน QRสำหรับเมทริกซ์ที่ไม่ใช่เมทริกซ์จัตุรัส วิธีการวนซ้ำ เช่นวิธีการ Jacobi วิธีการ Gauss –Seidel การผ่อนคลายเกินแบบต่อเนื่องและวิธีการไล่ระดับแบบสังยุค[ 16 ]มักเป็นที่นิยมสำหรับระบบขนาดใหญ่ วิธีการวนซ้ำทั่วไปสามารถพัฒนาได้โดยใช้การแยกเมทริกซ์

อัลกอริทึมการหาค่ารากใช้ในการแก้สมการไม่เชิงเส้น (เรียกเช่นนั้นเพราะรากของฟังก์ชันคืออาร์กิวเมนต์ที่ฟังก์ชันให้ผลลัพธ์เป็นศูนย์) หากฟังก์ชันสามารถหาอนุพันธ์ได้และทราบอนุพันธ์ วิธีของนิวตันก็เป็นตัวเลือกที่นิยม[ 17 ] [ 18 ]การทำให้เป็นเชิงเส้นเป็นอีกเทคนิคหนึ่งสำหรับการแก้สมการไม่เชิงเส้น

การแก้ปัญหาค่าลักษณะเฉพาะหรือค่าเอกลักษณ์

ปัญหาสำคัญหลายประการสามารถกำหนดได้โดยใช้การแยกส่วนค่าลักษณะเฉพาะหรือการแยกส่วนค่าเอกลักษณ์ตัวอย่างเช่นอัลกอริทึมการบีบอัดภาพสเปกตรัม[ 19 ]อิงตามการแยกส่วนค่าเอกลักษณ์ เครื่องมือที่เกี่ยวข้องในทางสถิติเรียกว่าการ วิเคราะห์ส่วนประกอบหลัก

การเพิ่มประสิทธิภาพ

โจทย์การหาค่าที่เหมาะสมที่สุดนั้นต้องการหาจุดที่ฟังก์ชันที่กำหนดให้มีค่าสูงสุด (หรือต่ำสุด) บ่อยครั้งที่จุดนั้นต้องเป็นไปตามข้อจำกัด บางประการ ด้วย

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

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

การประเมินค่าอินทิกรัล

การอินทิเกรตเชิงตัวเลข ในบางกรณีเรียกว่าการหาปริพันธ์เชิงตัวเลขจะถามถึงค่าของปริพันธ์จำกัด[ 20 ]วิธีการที่นิยมใช้จะใช้สูตรของนิวตัน-โคตส์ (เช่น กฎจุดกึ่งกลางหรือกฎของซิมป์สัน ) หรือการหาปริพันธ์แบบเกาส์เซียน [ 21 ] วิธีการเหล่านี้อาศัยกลยุทธ์ "แบ่งและพิชิต" โดยที่ปริพันธ์บนเซตขนาดใหญ่จะถูกแบ่งออกเป็นปริพันธ์บนเซตขนาดเล็กกว่า ในมิติที่สูงขึ้น ซึ่งวิธีการเหล่านี้มีค่าใช้จ่ายสูงเกินไปในแง่ของความพยายามในการคำนวณ อาจใช้ วิธี มอนเตคาร์โลหรือวิธีควาซี-มอนเตคาร์โล (ดูการอินทิเกรตแบบมอนเตคาร์โล[ 22 ] ) หรือในมิติขนาดใหญ่พอสมควร อาจใช้วิธีกริดแบบเบาบาง

สมการเชิงอนุพันธ์

การวิเคราะห์เชิงตัวเลขยังเกี่ยวข้องกับการคำนวณ (โดยประมาณ) คำตอบของสมการเชิงอนุพันธ์ทั้งสมการเชิงอนุพันธ์สามัญและสมการเชิงอนุพันธ์ย่อย[ 23 ]

สมการเชิงอนุพันธ์ย่อยจะได้รับการแก้ไขโดยการแบ่งสมการออกเป็นส่วนย่อยก่อน โดยนำไปไว้ในปริภูมิย่อยที่มีมิติจำกัด[ 24 ]ซึ่งสามารถทำได้โดยวิธีองค์ประกอบจำกัด [ 25 ] [ 26 ] [ 27 ]วิธีผลต่างจำกัด [ 28 ] หรือ (โดยเฉพาะในด้านวิศวกรรม) วิธีปริมาตรจำกัด[ 29 ]การให้เหตุผลทางทฤษฎีของวิธีการเหล่านี้มักเกี่ยวข้องกับทฤษฎีบทจากการวิเคราะห์เชิงฟังก์ชันซึ่งจะลดปัญหาลงเหลือเพียงการแก้สมการพีชคณิต

ซอฟต์แวร์

นับตั้งแต่ปลายศตวรรษที่ 20 เป็นต้นมา อัลกอริทึมส่วนใหญ่ถูกนำไปใช้ในภาษาโปรแกรมที่หลากหลาย คลัง ข้อมูล Netlibประกอบด้วยชุดซอฟต์แวร์ต่างๆ สำหรับปัญหาเชิงตัวเลข ส่วนใหญ่เขียนด้วยภาษา FortranและCผลิตภัณฑ์เชิงพาณิชย์ที่ใช้ในการพัฒนาอัลกอริทึมเชิงตัวเลขต่างๆ มากมาย ได้แก่ไลบรารีIMSLและNAG ส่วนทางเลือกที่เป็น ซอฟต์แวร์ฟรีคือGNU Scientific Library

ตลอดหลายปีที่ ผ่านมา สมาคมสถิติแห่งราชวงศ์ อังกฤษ ได้ตีพิมพ์อัลกอริทึมจำนวนมากในวารสารApplied Statistics (รหัสสำหรับฟังก์ชัน "AS" เหล่านี้อยู่ที่นี่ ) เช่นเดียวกับ ACMในวารสารTransactions on Mathematical Software (รหัส "TOMS" อยู่ที่นี่ ) และศูนย์ปฏิบัติการสงครามผิวน้ำแห่งกองทัพเรือ ได้ตีพิมพ์ คลังโปรแกรมย่อยทางคณิตศาสตร์หลายครั้ง(รหัสอยู่ที่นี่ )

มีแอปพลิเคชันการคำนวณเชิงตัวเลขที่เป็นที่นิยมหลาย ตัวเช่นMATLAB [ 30 ] [ 31 ] [ 32 ] TK Solver , S-PLUSและIDL [ 33 ]รวมถึงทางเลือกแบบโอเพนซอร์สและฟรี เช่นFreeMat , Scilab [ 34 ] [ 35 ] GNU Octave (คล้ายกับ Matlab) และIT++ (ไลบรารี C++) นอกจาก นี้ ยังมี ภาษาโปรแกรม เช่นR [ 36 ] (คล้ายกับ S-PLUS), Julia [ 37 ]และPythonพร้อมไลบรารี เช่นNumPy , SciPy [ 38 ] [ 39 ] [ 40 ]และSymPyประสิทธิภาพแตกต่างกันอย่างมาก: ในขณะที่การดำเนินการเวกเตอร์และเมทริกซ์มักจะเร็ว ลูปสเกลาร์อาจมีความเร็วแตกต่างกันมากกว่าหนึ่งลำดับ[ 41 ] [ 42 ]

ระบบพีชคณิตคอมพิวเตอร์หลาย ระบบ เช่นMathematicaยังได้รับประโยชน์จากการใช้เลขคณิตที่มีความแม่นยำสูงซึ่งสามารถให้ผลลัพธ์ที่แม่นยำยิ่งขึ้น[ 43 ] [ 44 ] [ 45 ] [ 46 ]

นอกจากนี้โปรแกรมสเปรดชีต ใดๆ ก็สามารถใช้แก้ปัญหาอย่างง่ายที่เกี่ยวข้องกับการวิเคราะห์เชิงตัวเลขได้ ตัวอย่างเช่นExcel มี ฟังก์ชันให้เลือกใช้ หลายร้อยฟังก์ชัน รวมถึงฟังก์ชันสำหรับเมทริกซ์ ซึ่งสามารถใช้ร่วมกับ "ตัวแก้ปัญหา" ใน ตัวของโปรแกรมได้

ดูเพิ่มเติม

หมายเหตุ

วารสาร

ข้อความออนไลน์

สื่อการเรียนการสอนออนไลน์

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

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ การวิเคราะห์เชิงตัวเลข

การวิเคราะห์เชิงตัวเลขคือการศึกษาอัลกอริทึมสำหรับปัญหาของคณิตศาสตร์ต่อเนื่อง อั ลกอริทึมเหล่านี้เกี่ยวข้องกับ ตัวแปร จริงหรือเชิงซ้อน (ตรงข้ามกับคณิตศาสตร์ไม่ต่อเนื่อง )...

แอปพลิเคชัน

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

ประวัติศาสตร์

สาขาการวิเคราะห์เชิงตัวเลขมีมาก่อนการประดิษฐ์คอมพิวเตอร์สมัยใหม่หลายศตวรรษ การแทรกสอดเชิงเส้น ถูกนำมาใช้แล้วเมื่อกว่า 2,000 ปีที่แล้ว นักคณิตศาสตร์ผู้ยิ่งใหญ่หลายคนในอดีตต่างหมกมุ่นอยู่กับการวิเคราะห์เชิงตัวเลข [ 6 ]...

วิธีการโดยตรงและวิธีการวนซ้ำ

วิธีการโดยตรงคำนวณหาคำตอบของปัญหาโดยใช้ขั้นตอนจำนวนจำกัด วิธีการเหล่านี้จะให้คำตอบที่แม่นยำหากคำนวณด้วย เลขคณิตที่มีความแม่นยำอนันต์ ตัวอย่างเช่น วิธี การกำจัดแบบเกาส์เซียน วิธี การแยกตัวประกอบ QR สำหรับแก้ ระบบสมการเชิงเส้น และ วิธีการซิมเพล็กซ์ ของ...