ภาพรวมวิชา
Numerical Analysis คือการใช้วิธีคำนวณแบบประมาณเพื่อแก้ปัญหาคณิตศาสตร์และวิศวกรรมที่แก้แบบ exact ได้ยาก เช่น สมการไม่เชิงเส้น ระบบสมการเชิงเส้น การประมาณค่าจากข้อมูลจริง การหาพื้นที่ใต้กราฟ และการจำลองระบบที่ซับซ้อน จุดสำคัญคือคำตอบอาจไม่ใช่ค่าจริง 100% แต่ต้องควบคุมความคลาดเคลื่อนให้ยอมรับได้
รู้ชนิด error และตัววัดความแม่นยำ 2. Solving Nonlinear Equations
Bisection, Newton-Raphson, Secant, Fixed-point, False position 3. Polynomial Interpolation
Linear interpolation และ Lagrange interpolation 4. Cubic Spline
เส้นโค้ง cubic แบบต่อชิ้นและ natural boundary 5. Numerical Integration
Rectangle, Trapezoidal, Simpson, Simpson 3/8 6. สูตรจำก่อนสอบ
สรุปสูตรและการเลือกใช้
ประเภทปัญหาใน Numerical Analysis
หา \(x\) ที่ทำให้ \(f(x)=0\) เช่น จุดสมดุล จุดตัดแกน หรือคำตอบของโมเดล
ประมาณค่าที่อยู่ระหว่างจุดข้อมูลที่รู้ เช่น อุณหภูมิ เวลา ระดับน้ำ หรือค่าจาก sensor
ประมาณ \(\int_a^b f(x)\,dx\) เมื่อ integral exact ยาก หรือรู้แค่ค่าเป็นตาราง
สร้างความสัมพันธ์จากข้อมูลเพื่อพยากรณ์แนวโน้มและลดผลกระทบจาก noise
ประมาณ derivative เมื่อไม่มีสูตรจริง หรือข้อมูลมีเฉพาะจุดทดลอง
แก้สมการที่อธิบายระบบจริง เช่น การเคลื่อนที่ ความร้อน การไหล และวงจร
Week 2: Error และพื้นฐานที่ต้องรู้
ในการคำนวณเชิงตัวเลข error เกิดได้เสมอ เพราะข้อมูลจริงอาจไม่แม่น เครื่องคอมพิวเตอร์เก็บทศนิยมได้จำกัด และวิธีคำนวณมักตัดกระบวนการอนันต์ให้เป็นขั้นตอนจำกัด เราจึงต้องรู้ว่า error มาจากไหนและวัดอย่างไร
ชนิดของ Error
| ชนิด | ความหมาย | ตัวอย่างที่พบบ่อย |
|---|---|---|
| Inherent error / Data error | ความคลาดเคลื่อนที่ติดมากับข้อมูลหรือโมเดลตั้งแต่ก่อนคำนวณ | เครื่องมือวัดไม่ละเอียด, สมมติฐานวิศวกรรมง่ายกว่าความจริง, ข้อมูลทดลองมี noise |
| Round-off error | เกิดจากคอมพิวเตอร์เก็บเลขจริงได้จำกัด จึงต้องปัดเศษหรือตัดเศษ | ใช้ \(3.1416\) แทน \(\pi\), การลบเลขใกล้กันมาก ๆ ทำให้สูญเสีย significant digits |
| Truncation error | เกิดจากแทนกระบวนการ exact/อนันต์ด้วยวิธีประมาณแบบจำกัด | ใช้ Taylor polynomial แค่ไม่กี่พจน์, แทนพื้นที่ใต้กราฟด้วยรูปสี่เหลี่ยม/สี่เหลี่ยมคางหมู |
สูตรวัด Error
Absolute Error
บอกว่าค่าประมาณห่างจากค่าจริงเท่าไร
Relative Error
บอกว่า error ใหญ่เมื่อเทียบกับค่าจริงหรือไม่ ใช้เปรียบเทียบปัญหาคนละขนาดได้ดี
ถ้าต้องการเปอร์เซ็นต์ ให้คูณ \(100\%\)
Week 3 และ Week 5: การแก้สมการไม่เชิงเส้น
เป้าหมายคือหา \(x\) ที่ทำให้ \(f(x)=0\) หรือเรียกว่า root/zero ของฟังก์ชัน วิธีที่เรียนมีหลายแบบ ต่างกันที่ความเร็ว เงื่อนไขเริ่มต้น และความเสี่ยงที่จะไม่ลู่เข้า
เปรียบเทียบวิธีหา Root
| วิธี | ต้องใช้อะไร | จุดเด่น | จุดอ่อน |
|---|---|---|---|
| Bisection | ช่วง \([a,b]\) ที่ \(f(a)f(b)<0\) | มั่นคงและรับประกัน convergence ถ้าเงื่อนไขครบ | ช้ากว่าวิธีอื่น |
| Newton-Raphson | ค่าเริ่ม \(x_0\) และ derivative \(f'(x)\) | เร็วมากเมื่อเดาใกล้ root | อาจพังถ้า \(f'(x)\approx0\) หรือเดาเริ่มไม่ดี |
| Secant | ค่าเริ่มสองค่า \(x_0,x_1\) | ไม่ต้องหา derivative และมักเร็วกวา Bisection | ไม่รับประกันเสมอ อาจแกว่งหรือ diverge |
| Fixed-point iteration | จัดรูป \(x=g(x)\) | เข้าใจง่าย ทำซ้ำ \(x_{n+1}=g(x_n)\) | ขึ้นกับการจัดรูป ถ้า \(|g'(x)|\) ไม่เล็กพออาจไม่ลู่เข้า |
| False position / Regula Falsi | ช่วงที่มี sign change | รวมแนวคิด Bisection กับ Secant | บางกรณีปลายช่วงข้างหนึ่งแทบไม่ขยับ ทำให้ช้า |
Bisection Method
ใช้หลักว่า ถ้า \(f(x)\) ต่อเนื่องบน \([a,b]\) และ \(f(a)\) กับ \(f(b)\) คนละเครื่องหมาย จะมี root อย่างน้อยหนึ่งค่าระหว่างช่วงนั้น จากนั้นแบ่งครึ่งช่วงซ้ำ ๆ
Newton-Raphson Method
ใช้เส้นสัมผัสที่จุดปัจจุบันเพื่อคาดตำแหน่ง root ใหม่ ถ้าเริ่มใกล้คำตอบจะลู่เข้าเร็วมาก
Secant Method
Secant คล้าย Newton แต่ใช้เส้นตรงผ่านสองจุดล่าสุดแทน derivative จึงไม่ต้องคำนวณ \(f'(x)\)
ข้อดี
- ไม่ต้องหา derivative
- มักเร็วกว่าวิธี Bisection
- เหมาะกับฟังก์ชันที่ derivative ยุ่งยาก
ข้อเสีย
- ต้องมีค่าเริ่มต้นสองค่า
- ไม่รับประกัน convergence เหมือน Bisection
- ถ้า \(f(x_n)-f(x_{n-1})\) เล็กมาก จะไม่เสถียร
ตัวอย่างจากสไลด์ที่ควรจำ:
- \(f(x)=e^{-x}-x\), เริ่ม \(x_0=0, x_1=1\), ได้ root ประมาณ \(0.56714329\)
- \(f(x)=x^6-x-1\), ใช้หา root ใหญ่สุด ได้ประมาณ \(1.14153\)
- \(f(x)=x^3-x-2\), เริ่ม \(x_0=1, x_1=2\), หลังหลาย iteration ได้ประมาณ \(1.52138\)
Fixed-Point และ False Position แบบย่อ
Fixed-Point Iteration
แปลง \(f(x)=0\) ให้อยู่ในรูป \(x=g(x)\) แล้วทำซ้ำ
จะลู่เข้าได้ดีเมื่อบริเวณ root มี \(|g'(x)|<1\)
False Position
ใช้เส้นตรงเชื่อม \((a,f(a))\), \((b,f(b))\) แล้วเอาจุดตัดแกน x เป็นค่าใหม่
ยังรักษาช่วงที่มี sign change เหมือน Bisection
Week 5: Polynomial Interpolation
Interpolation คือการประมาณค่าที่อยู่ระหว่างข้อมูลที่เรารู้แล้ว ไม่ใช่การทำนายนอกช่วงข้อมูล ใช้มากในงานวิศวกรรม เช่น อุณหภูมิ ความสูง ประชากร ระดับน้ำทะเล fuel efficiency และการจำลองเชิงตัวเลข
Linear Interpolation
เมื่อรู้สองจุด \((x_0,y_0)\) และ \((x_1,y_1)\) แล้วต้องการประมาณ \(y\) ที่ \(x\) อยู่ระหว่างสองจุดนั้น ให้ใช้เส้นตรงเชื่อมสองจุด
Lagrange Interpolation
ใช้สร้าง polynomial ที่ผ่านทุกจุดข้อมูลพอดี เหมาะเมื่อมีหลายจุดและต้องการ polynomial โดยไม่ต้องแก้ระบบสมการโดยตรง
กรณี 2nd-order Lagrange Interpolation
ถ้ามี 3 จุด \((x_0,y_0),(x_1,y_1),(x_2,y_2)\) จะได้ quadratic polynomial:
ตัวอย่างอุณหภูมิจากสไลด์
ข้อมูล: 9 AM = 15°C, 12 PM = 21°C, 3 PM = 18°C ต้องการประมาณอุณหภูมิที่ 1 PM หรือ \(x=13\) โดยใช้จุด \(x_0=9, x_1=12, x_2=15\)
คำตอบ: อุณหภูมิที่ 1 PM ประมาณ \(21^\circ C\)
แบบฝึกจากสไลด์
จุดข้อมูล \((1,2),(2,3),(4,1)\) สร้าง polynomial ด้วย Lagrange ได้
วิธีตรวจเร็ว: แทน \(x=1,2,4\) แล้วต้องได้ \(2,3,1\) ตามลำดับ
Week 6: Cubic Spline Interpolation
ถ้าใช้ polynomial degree สูงผ่านหลายจุดพร้อมกัน เส้นอาจแกว่งแรง โดยเฉพาะใกล้ปลายช่วง Cubic spline แก้ปัญหานี้ด้วยการใช้ polynomial degree 3 แยกทีละช่วง แล้วบังคับให้ต่อกันอย่างเรียบ
แนวคิดหลัก
Piecewise cubic
แต่ละช่วง \([x_j,x_{j+1}]\) ใช้ cubic polynomial ของตัวเอง
Smoothness
ที่ node ทุกจุด เส้นต้องต่อกันทั้งค่า function, first derivative และ second derivative
- \(S_j(x_j)=y_j\)
- \(S_j(x_{j+1})=y_{j+1}\)
- \(S'_j(x_{j+1})=S'_{j+1}(x_{j+1})\)
- \(S''_j(x_{j+1})=S''_{j+1}(x_{j+1})\)
Natural Cubic Spline
Natural spline คือ spline ที่กำหนด curvature ที่ปลายทั้งสองเป็นศูนย์ หมายถึงปลายเส้นมีลักษณะค่อนข้างตรง ไม่โค้งฝืนเกินไป
ขั้นตอนสร้าง Natural Cubic Spline
สูตรประเมินค่า Spline ด้วย \(M_i=S''(x_i)\)
เมื่อ \(x\in[x_i,x_{i+1}]\) และ \(h_i=x_{i+1}-x_i\):
ตัวอย่างจากสไลด์
ตัวอย่าง 1
สร้าง natural cubic spline ผ่าน \((1,2),(2,3),(3,5)\)
- มี 2 ช่วง: \([1,2]\), \([2,3]\)
- ตั้ง \(S_0(x)\), \(S_1(x)\)
- ใช้ interpolation conditions, derivative continuity, second derivative continuity
- ใช้ boundary \(S''_0(1)=0\), \(S''_1(3)=0\)
ตัวอย่าง 2
ใช้จุด \((0,1),(1,e),(2,e^2),(3,e^3)\) เพื่อสร้าง natural spline ประมาณ \(f(x)=e^x\)
- ตั้งระบบ \(Ax=b\)
- แก้หา coefficient
- ได้ spline แบบ piecewise สำหรับช่วง \([0,1]\), \([1,2]\), \([2,3]\)
Week 7: Numerical Integration
Numerical Integration หรือ quadrature คือการประมาณพื้นที่ใต้กราฟ \(\int_a^b f(x)\,dx\) ใช้เมื่อ integrate exact ยาก หรือมีข้อมูลเป็นจุด ๆ จากการวัด
สัญลักษณ์ร่วม
แบ่งช่วง \([a,b]\) เป็น \(n\) ช่วงเท่า ๆ กัน
1. Rectangle Rule
ประมาณพื้นที่ด้วยรูปสี่เหลี่ยม โดยมักใช้ค่าที่จุดซ้ายของแต่ละช่วง
เป็น first-order method จึงง่ายแต่ความแม่นยำน้อยกว่าวิธีที่ใช้เส้นหรือพาราโบลา
2. Trapezoidal Rule
ใช้สี่เหลี่ยมคางหมูแทนพื้นที่ใต้กราฟในแต่ละช่วง เหมาะกว่า rectangle เพราะคำนึงถึงค่าทั้งต้นช่วงและปลายช่วง
ตัวอย่างจากสไลด์: ใช้ Trapezoidal Rule กับ \(n=4\) เพื่อประมาณ \(\int_0^2 e^{-x^2}\,dx\)
3. Simpson's Rule
Simpson's Rule ใช้ polynomial degree 2 หรือพาราโบลา ผ่านจุด 3 จุดในทุก ๆ 2 ช่วง ดังนั้น \(n\) ต้องเป็นจำนวนคู่
ตัวอย่างจากสไลด์: ประมาณ \(\int_1^2 \ln(x)\,dx\) ด้วย Simpson's Rule, \(n=2\) โดย \(h=(2-1)/2=0.5\), จุดคือ \(1,1.5,2\)
ค่าจริงคือ \(\int_1^2\ln(x)\,dx=2\ln(2)-1\)
4. Newton-Cotes 4-Point Rule / Simpson's 3/8 Rule
ใช้จุด 4 จุดที่ห่างเท่ากัน สร้าง cubic interpolating polynomial เหมาะเมื่อแบ่งเป็นกลุ่มละ 3 subintervals หรือ \(n\) เป็นพหุคูณของ 3
Composite form ใช้ pattern coefficient \(1,3,3,2,3,3,2,\ldots,3,3,1\)
ตัวอย่างจากสไลด์: ประมาณ \(\int_0^3 \frac{1}{1+x^2}\,dx\) ด้วย Simpson's 3/8 Rule, \(n=3\), \(h=1\)
สรุปสูตรจำก่อนสอบ
| เรื่อง | สูตรหลัก | ใช้เมื่อ |
|---|---|---|
| Absolute error | \(E_a=|x_{\text{true}}-x_{\text{approx}}|\) | วัดความห่างเป็นหน่วยจริง |
| Relative error | \(E_r=E_a/|x_{\text{true}}|\) | วัดความคลาดเคลื่อนเทียบขนาดค่าจริง |
| Bisection | \(c=(a+b)/2\) | มีช่วงที่ \(f(a)f(b)<0\) |
| Newton-Raphson | \(x_{n+1}=x_n-f(x_n)/f'(x_n)\) | หา derivative ได้และมี initial guess ดี |
| Secant | \(x_{n+1}=x_n-f(x_n)(x_n-x_{n-1})/[f(x_n)-f(x_{n-1})]\) | ไม่อยากหา derivative แต่มีค่าเริ่มสองค่า |
| Linear interpolation | \(y=y_0+\frac{y_1-y_0}{x_1-x_0}(x-x_0)\) | ประมาณค่าระหว่างสองจุด |
| Lagrange | \(P(x)=\sum y_jL_j(x)\) | สร้าง polynomial ผ่านหลายจุด |
| Natural cubic spline | \(S''(x_0)=S''(x_n)=0\) | ต้องการเส้นโค้งเรียบ ไม่แกว่งแบบ polynomial degree สูง |
| Rectangle | \(h\sum_{i=0}^{n-1}f_i\) | ประมาณเร็วและง่าย |
| Trapezoidal | \(\frac{h}{2}(f_0+2f_1+\cdots+2f_{n-1}+f_n)\) | ใช้เส้นตรงแทนกราฟในแต่ละช่วง |
| Simpson 1/3 | \(\frac{h}{3}(1,4,2,\ldots,4,1)\) | \(n\) เป็นจำนวนคู่ |
| Simpson 3/8 | \(\frac{3h}{8}(1,3,3,1)\) | ใช้ 3 subintervals ต่อหนึ่งกลุ่ม |
เลือกวิธีอย่างไร
ถ้าโจทย์คือ \(f(x)=0\)
- อยากชัวร์และมีช่วง sign change: ใช้ Bisection
- มี derivative และเดาใกล้คำตอบ: ใช้ Newton-Raphson
- ไม่มี derivative แต่มีค่าเริ่มสองค่า: ใช้ Secant
ถ้าโจทย์คือข้อมูลเป็นจุด
- มีสองจุด: Linear interpolation
- มีหลายจุดและอยากได้ polynomial: Lagrange
- มีหลายจุดและอยากได้เส้นเรียบไม่แกว่ง: Cubic spline
ถ้าโจทย์คือ integral
- ง่ายสุด: Rectangle
- แม่นขึ้นด้วยเส้นตรง: Trapezoidal
- แม่นขึ้นด้วยพาราโบลา: Simpson 1/3
- ใช้ 4 จุด/3 ช่วง: Simpson 3/8
วิธีเช็คคำตอบ
- Root: แทนกลับแล้ว \(f(x)\) ต้องใกล้ 0
- Interpolation: แทน node เดิมแล้วต้องได้ \(y\) เดิม
- Spline: ค่าและ derivative ต้องต่อเนื่องที่รอยต่อ
- Integration: เพิ่ม \(n\) แล้วค่าควรเริ่มนิ่ง
การตรวจครบตามไฟล์ต้นฉบับ
สรุปนี้จัดจาก PDF ทั้งหมด 5 ไฟล์ รวม 189 หน้า โดยดึงข้อความแยกตามหน้าและ render หน้าสำคัญที่มีสูตร/ตาราง/โจทย์ภาพเพื่อตรวจซ้ำ หัวข้อด้านล่างคือ coverage ที่นำมารวมใน HTML นี้
- Numerical Analysis (Week 2_Student).pdf - 21 หน้า: ภาพรวม Numerical Analysis, ประเภทปัญหา, inherent error, round-off error, truncation error, absolute/relative error
- Numerical Analysis_Slide_Week 03 - Student.pdf - 51 หน้า: ความหมายของการแก้สมการ, Bisection, Newton-Raphson, comparison, flowchart, algorithm, ตัวอย่าง \(x^3-x-2\)
- Week 5 Numerical Analysis_Teacher (Edit Version).pdf - 43 หน้า: Secant method, ตัวอย่าง secant, interpolation, linear interpolation, Lagrange interpolation, ตัวอย่างอุณหภูมิและแบบฝึก
- Week 6 Numerical Analysis (Student).pdf - 48 หน้า: Cubic spline interpolation, natural cubic spline, เงื่อนไข continuity, tridiagonal system, Thomas algorithm, ตัวอย่าง spline
- Week 7 Numerical Analysis - Student (1).pdf - 26 หน้า: Numerical integration, Rectangle Rule, Trapezoidal Rule, Simpson's Rule, Newton-Cotes 4-point / Simpson's 3/8 Rule และตัวอย่าง
จัดทำเป็น HTML สำหรับอ่านบน browser และพิมพ์/บันทึกเป็น PDF ได้