內容簡介
本書為《現代數值計算(第2版)》(ISBN 978-7-115-35993-3)的配套教材,是同濟大學計算數學教研室老師集體智慧的結晶,全書內容包括主教材中習題的全部解答,同時給齣瞭詳細的求解過程;對於實驗題,還給齣瞭完整的MATLAB程序;最後提供瞭模擬試捲,並給齣瞭參考答案。
本書適閤作為本科生和工科研究生數值計算配套用書,也適閤相關教學人員參考。
內頁插圖
目錄
目 錄
第1章 科學計算與MATLAB 1
1.1 習題一 1
1.2 數值實驗一 2
第2章 綫性方程組的直接解法 7
2.1 習題二 7
2.2 數值實驗二 13
第3章 多項式插值與樣條插值 16
3.1 習題三 16
3.2 數值實驗三 23
第4章 函數逼近 27
4.1 習題四 27
4.2 數值實驗四 30
第5章 數值積分與數值微分 32
5.1 習題五 32
5.2 數值實驗五 45
第6章 綫性方程組的迭代解法 55
6.1 習題六 55
6.2 數值實驗六 63
第7章 非綫性方程求根 66
7.1 習題七 66
7.2 數值實驗七 76
第8章 矩陣特徵值與特徵嚮量的計算 81
8.1 習題八 81
8.2 數值實驗八 84
第9章 常微分方程初邊值問題數值解 91
9.1 習題九 91
9.2 數值實驗九 96
附錄模擬考捲 107
考捲1 107
考捲2 108
考捲3 109
模擬考捲答案 110
參考文獻 115
前言/序言
現代數值計算習題指導(第2版)內容簡介 本書旨在為學習和應用現代數值計算方法的讀者提供一套全麵、深入的習題資源。 本書緊密圍繞當前數值計算領域的核心理論和實用技術展開,內容組織兼顧瞭理論深度與工程實踐的需求。它不是一本純粹的理論教材,而是作為一本強調動手實踐和理解深化的輔助讀物而設計,旨在幫助讀者鞏固課堂所學知識,提升解決實際計算問題的能力。 本書的編排遵循瞭數值計算學科的邏輯脈絡,從最基礎的誤差分析和綫性代數方程組求解,逐步深入到非綫性方程、特徵值問題、插值與逼近、數值積分與微分,直至偏微分方程的數值解法。每一章節的習題設計都力求覆蓋該主題下的關鍵概念、經典算法以及可能遇到的計算難點。 第一部分:基礎理論與綫性代數方程組 本部分是整個數值計算的基石,著重於理解浮點運算的性質以及高效、穩定地求解綫性方程組的方法。 1. 誤差分析與浮點運算: 此部分習題集首先關注數值計算中最本質的問題——誤差。讀者將需要處理並量化不同類型的誤差,包括截斷誤差、捨入誤差和歸一化浮點數的錶示限製。習題會要求讀者分析給定計算過程的穩定性,並比較不同運算順序對最終結果精度帶來的影響。例如,涉及大量加減運算時,如何通過改變運算次序來抑製災難性抵消。同時,對機器精度(如雙精度和單精度)的理解和實際計算中的體現也是重點考察對象。 2. 綫性方程組的直接解法: 本節是關於 $mathbf{Ax} = mathbf{b}$ 問題的核心內容。習題覆蓋瞭高斯消元法(Gaussian Elimination)的理論推導與實際操作。重點在於對消元過程的矩陣分解形式(如LU分解)的掌握。為瞭提高解算效率和數值穩定性,大量習題集中在主元選擇策略上,包括部分主元(Partial Pivoting)和完全主元(Full Pivoting)的實現與比較。讀者需要分析這些策略在病態矩陣(ill-conditioned matrices)求解中的重要性,並能計算條件數並解釋其物理意義。此外,對Cholesky分解(適用於對稱正定矩陣)的適用條件和算法實現也是重要組成部分。 3. 綫性方程組的迭代解法: 對於大型、稀疏的綫性係統,直接法往往計算量過大或存儲效率低下。本部分習題側重於迭代方法的理解和應用。主要包括雅可比迭代(Jacobi)、高斯-賽德爾迭代(Gauss-Seidel)以及超鬆弛迭代(SOR)。習題要求讀者不僅能寫齣迭代公式,更關鍵的是要分析這些方法的收斂性,計算收斂半徑,並確定最佳的鬆弛因子 $omega$。對於更高級的應用,涉及到瞭Krylov子空間方法的基礎,如如何構造Arnoldi或Lanczos過程的初步迭代步驟,以及如何評估這些迭代方法相對於直接法的優劣。 第二部分:特徵值問題與非綫性方程 這部分內容拓展到求解矩陣的特徵值(本徵值和本徵嚮量)以及單變量和多變量非綫性方程。 4. 特徵值問題的數值解法: 特徵值問題在結構分析、量子力學等領域至關重要。習題涵蓋瞭求最大特徵值(冪法 Power Method)和最小特徵值(反冪法 Inverse Iteration)。讀者需要理解反冪法如何通過求解綫性係統來高效逼近特定特徵值。對於一般矩陣,QR算法是核心,習題會要求讀者手動執行幾步相似變換以觀察矩陣嚮Hessenberg或三對角矩陣的約簡過程,並理解引入的Shifts(位移)策略對收斂速度的影響。對對稱矩陣,Jacobi鏇轉法的基礎操作也會被考察。 5. 非綫性方程的求解: 這部分關注求解 $f(x) = 0$ 或 $mathbf{F}(mathbf{x}) = mathbf{0}$。單變量的牛頓法(Newton's Method)是重點,習題強調其二階收斂速度,同時也要求讀者分析當導數接近零時的局部不穩定性和計算復雜性。為瞭應對牛頓法可能失效的情況,割綫法(Secant Method)和假位移法(Regula Falsi)的實現與收斂性分析也是常見考點。對於多變量係統,牛頓法的推廣形式——牛頓-拉夫森法是核心,這要求讀者熟練運用雅可比矩陣的計算和求解綫性係統。布倫特法(Brent's Method)等混閤方法的應用場景分析也是考察內容。 第三部分:函數逼近與插值 本部分是數據擬閤和函數近似的基礎,關注如何用已知點集或函數構造齣滿足特定性質的近似函數。 6. 插值法: 習題集中於拉格朗日插值(Lagrange Interpolation)和牛頓有限差分插值(Newton's Divided Difference Interpolation)。讀者需要通過實際計算理解插值多項式的次數與插值誤差(Runge現象)的關係。樣條插值(Spline Interpolation),特彆是三次自然樣條的構造,是重點。這涉及到求解一個三對角綫性係統來確定內部節點的二階導數值,強調瞭樣條在保證局部光滑性方麵的優勢。 7. 函數逼近與最小二乘法: 這部分側重於在特定函數空間內尋找“最佳”近似。核心是最小二乘逼近,無論是離散點的最小二乘法(通過求解正規方程組)還是連續函數空間的最小二乘逼近。讀者需要理解正交多項式(如Chebyshev多項式)在構造逼近基函數時的優越性,以及如何利用這些多項式來簡化最小二乘問題的求解。 第四部分:數值積分、微分與微分方程 這部分是數值計算在工程模擬中最直接的應用領域。 8. 數值積分與微分: 數值積分(Quadrature)部分涵蓋瞭牛頓-科茨公式(Newton-Cotes Formulas),包括梯形法則和辛普森法則,要求讀者推導其誤差項。復閤積分的引入是提高精度的關鍵。更重要的是,高斯求積公式(Gaussian Quadrature)的原理和構造是難點和重點,讀者需要理解如何通過選擇最優的節點(勒讓德多項式的根)來達到最大精度。 數值微分方麵,習題要求讀者利用泰勒展開推導中心差分、前嚮差分和後嚮差分公式,並分析其精度,同時評估離散化誤差和函數光滑性對結果的影響。 9. 常微分方程(ODE)的數值解法: 常微分方程的數值求解是應用最廣泛的領域之一。本書側重於單步法,如歐拉法(Euler's Method)及其改進(如改進的歐拉法、Heun's Method),以及更高階的龍格-庫塔法(Runge-Kutta Methods,特彆是RK4)。習題要求讀者分析這些方法的局部截斷誤差和全局誤差的階數。對於剛性問題(Stiff ODEs),隱式方法(如後嚮歐拉法)的引入以及其穩定性區域的分析,是考察讀者對方法適用性判斷能力的重要內容。 10. 偏微分方程(PDE)的初步數值方法: 最後,本書提供瞭偏微分方程數值解法的入門。重點是有限差分法(Finite Difference Method, FDM)在經典方程上的應用,包括熱傳導方程(拋物型)、波動方程(雙麯型)和泊鬆方程(橢圓型)。讀者需要學習如何將這些連續方程離散化,並處理邊界條件。例如,對於拋物型方程,需要分析前嚮歐拉法的條件穩定性(CFL條件),並對比Crank-Nicolson(二階隱式)法的無條件穩定性。 --- 總結而言, 本習題指導不僅是知識的檢驗工具,更是一本實踐手冊。通過大量細緻設計的計算任務,讀者將能夠深入理解各種數值算法背後的數學原理、計算效率和穩定性特性,從而為未來從事科學計算、工程仿真或數據分析打下堅實的基礎。習題的難度和深度適中,適閤高等院校數學、物理、力學、電子信息等相關專業的高年級本科生和研究生使用。
這本書我拿到的時候,正好是我開始接觸數值計算這門課程不久。坦白說,一開始我對這門學科的理解還停留在一些非常基礎的概念上,比如數值積分和數值微分這些。拿到這本書,我首先被它的厚度吸引瞭,這讓我感覺內容應該會很充實,不會僅僅是淺嘗輒止。翻開目錄,看到裏麵涵蓋瞭綫性方程組的解法、特徵值問題、插值與逼近、非綫性方程組的求解,以及微分方程的數值解法等等,這些都是我在課堂上聽到過但還沒有深入理解的主題。尤其令我感到期待的是,它還提到瞭優化方法和一些相對進階的內容,這讓我看到瞭它作為一本習題指導的可能性,它不僅僅是羅列公式,更可能是在通過練習題來鞏固和深化理論知識。我當時最大的睏擾就是理論學瞭不少,但實際動手去解決問題的時候,總感覺抓不住重點,不知道如何選擇閤適的算法,也不知道如何去評估算法的優劣。這本書的題目看起來設計得相當有代錶性,既有基礎題來幫助我們理解概念,也有一些稍微復雜一些的題目,似乎在引導我們思考算法的效率和穩定性。我當時就想著,如果我能把裏麵的題目都做透,那這門課的掌握程度肯定會大大提升。