數值分析

臺北科技大學 115-1 學期課程,課號 363578。

課程大綱

This course provides a comprehensive introduction to numerical methods and their application in solving scientific and engineering problems. 本課程旨在全面介紹數值方法及其在解決科學與工程問題上之應用。 Students will learn to translate real-world problems into mathematical models and apply various numerical algorithms for their solution. 學生將學習如何將實際問題轉化為數學模型,並應用各種數值演算法進行求解。 Key topics include mathematical modeling, error analysis, linear algebra, interpolation, approximation, numerical integration and differentiation, solving ordinary and partial differential equations, Monte Carlo methods, optimization, and an introduction to numerical methods in data science and high-performance computing. 主要內容包括數學建模、誤差分析、線性代數、內插法、逼近法、數值積分與微分、常微分與偏微分方程求解、蒙地卡羅方法、數值優化,以及數據科學與高效能計算中數值方法之簡介。 The course emphasizes hands-on experience through in-class programming sessions and utilizes online weeks for flexible learning. 本課程強調透過課堂程式設計實作獲得實務經驗,並利用線上教學週進行彈性學習。 課程重要事項 (Important Course Notes) Bilingual Instruction (雙語教學): This course will be conducted with materials and explanations provided in both English and Chinese to support diverse learning needs. 本課程將以中英文雙語提供教材與解說,以支持多元學習需求。 Language of Assessment (評量語言): Major assignments, presentations, and examinations are required to be completed in English. 主要作業、報告及考試需以英文完成。 Programming Sessions (程式設計實作課): This course includes several in-class programming sessions. 本課程包含數次課堂程式設計實作。 Active participation and completion of programming tasks are mandatory. 學生必須積極參與並完成程式設計作業。 Online Teaching Weeks (線上教學週): Specific weeks will be conducted online. 特定教學週將採線上教學。 Students are expected to engage with materials and activities as directed on the [LMS/Email/Course Website]. 學生應依循[學習管理系統(LMS)/電子郵件/課程網站]之指示參與課程材料與活動。 Attendance Policy (出席規定): Students who are absent three (3) or more times (including programming sessions and online sessions where applicable) during the semester will automatically receive a failing grade for the course. 一學期內缺席三(3)次(含以上,適用於程式設計實作課與線上課程應參與部分)者,該課程成績以不及格計。(缺席三次不及格)

課程進度

Week 1 (第一週): Course Introduction and Overview 課程簡介與總覽 Introduction to Numerical Methods 數值方法導論 Mathematical Modeling and Problem-Solving with Computers 利用計算機進行數學建模與問題求解 Week 2 (第二週): Foundations of Numerical Computing 數值計算基礎 Numerical Computing Languages (e.g., Python/MATLAB overview) 數值計算語言 (例如 Python/MATLAB 概覽) Floating-Point Arithmetic and Representation 浮點數運算與表示法 Week 3 (第三週): Non-physical class(Online Video Teaching / 非實體-線上影片教學) Programming Session #1: Root Finding Algorithms & Translating Models to Code 程式設計實作 #1:求根演算法實現與模型程式碼轉換 (Based on "Mathematical Modeling Techniques" and "Introduction to Numerical Algorithms") (基於「數學建模技術」與「數值演算法導論」) Topics Covered Translating Real-World Problems into Equations 將實際問題轉化為方程式 (e.g., motion, finance, population growth → nonlinear equations) Introduction to Root Finding Algorithms 求根演算法導論 Bisection Method (二分法) Fixed-Point Iteration (不動點迭代) Newton-Raphson Method (牛頓-拉夫森法) Secant Method (割線法) Programming Practice 程式實作 Implement root finding algorithms in MATLAB/Python Compare convergence speed & accuracy Apply to at least one real-world case study (e.g., solving nonlinear equations in physics or engineering) Week 4 (第四週): (Online Teaching / 線上教學) Error Analysis 誤差分析 Numerical Accuracy, Stability, and Round-Off Errors 數值準確性、穩定性與捨入誤差 Week 5 (第五週): Linear Algebra - Basic Concepts 線性代數 - 基本概念 Matrix Operations and Computational Aspects 矩陣運算與計算觀點 Systems of Linear Equations 線性聯立方程式 Week 6 (第六週): Linear Algebra - Advanced Concepts 線性代數 - 進階概念 Direct and Iterative Methods for Solving Linear Systems 求解線性系統之直接法與迭代法 Eigenvalue Problems and Decompositions 特徵值問題與分解 Week 7 (第七週): (Programming Session / 程式設計實作課) Programming Session #2: Coding Interpolation and Approximation Techniques 程式設計實作 #2:內插法與逼近法技術程式編寫 (Based on "Interpolation and Approximation") (基於「內插法與逼近法」) Polynomial and Spline Interpolation 多項式與樣條內插法 Approximation Theory 逼近理論 Week 8 (第八週): Numerical Integration and Differentiation 數值積分與微分 Techniques for Numerical Integration (e.g., Trapezoidal, Simpson's rule) 數值積分技巧 (例如梯形法、辛普森法) Numerical Differentiation 數值微分 Week 9 (第九週): (Midterm Exam & Programming Session / 期中考試 & 程式設計實作課) Midterm Exam ; Programming Session #3: Introduction to ODE Solvers 期中考試 ;程式設計實作 #3:常微分方程求解器入門 (Midterm covers Weeks 1-8) (期中考範圍為第一至八週) (Programming based on "Solving Ordinary Differential Equations (ODEs)") (程式設計基於「常微分方程(ODE)求解」) Numerical Methods for ODEs (e.g., Euler's Method, basic Runge-Kutta) 常微分方程數值方法 (例如歐拉法、基本龍格庫塔法) Initial and Boundary Value Problems 初始值與邊界值問題 Week 10 (第十週) (Online Teaching / 線上教學): Solving Partial Differential Equations (PDEs) 偏微分方程(PDE)求解 Numerical Methods for PDEs 偏微分方程數值方法 Finite Difference and Finite Element Methods (Introduction) 有限差分法與有限元素法 (導論) Week 11 (第十一週)(Online Teaching / 線上教學): Runge Kutta Methods Monte Carlo Simulations 蒙地卡羅模擬 Applications in Science and Engineering 於科學與工程之應用 Week 12 (第十二週): (Programming Session / 程式設計實作課) Programming Session #4: Implementing Basic Optimization Algorithms 程式設計實作 #4:基本優化演算法實現 (Based on "Numerical Optimization") (基於「數值優化」) Concepts in Optimization 優化概念 Gradient-Based

評量方式

The final grade will be determined based on the following components: 課程總成績將依下列項目評定: Homework / Programming Assignments (作業 / 程式設計功課): 40% Midterm Exam (期中考試): 25% Final Exam (期末考試): 25% Final Project & Presentation (期末專題與報告): 10%

教材

【遵守智慧財產權觀念,請使用正版教科書,不得使用非法影印教科書】 使用外文原文書:是 Applied Numerical Methods with MATLAB/Python" by Chapra Course Materials (課程教材): Self-made materials / Instructor-provided notes. 自編教材 / 教師提供講義。