內容簡介
《微分方程數值方法(第2版)》為普通高等教育“十一五”國傢級規劃教材,分為常微分方程的數值解法、偏微分方程的差分方法和有限元方法三部分,共8章。內容包括常微分方程初值問題、橢圓型方程、離散方程的數值解法、拋物型方程、雙麯型方程、邊值問題的變分原理與廣義解、有限元方法的基本過程及其進一步的討論。
《微分方程數值方法(第2版)》在不太高的起點上循序漸進,通過一些典型有效的方法闡明構造數值方法的基本思想,盡可能敘述必要的基本概念。每章都有習題和小結,書末附有部分習題答案及提示,宜於教學和自學。
《微分方程數值方法(第2版)》既可作為理工科本科生或研究生的教材,也可作為從事科學與工程計算的有關人員自學與進修的參考書。
內頁插圖
目錄
第一部分 常微分方程的數值解法
第1章 常微分方程初值問題
1.1 基本概念Euler法與梯形法
1.1.1 Euler法
1.1.2 梯形法
1.2 Runge-Kutta方法及一般單步方法
1.2.1 RK方法的構造
1.2.2 單步方法的相容性與收斂性
1.2.3 單步方法整體截斷誤差漸近展開及其應用
1.3 綫性多步方法
1.3.1 綫性多步方法的構造
1.3.2 綫性多步方法的應用
1.4 綫性差分方程的基本知識
1.4.1 一般性質
1.4.2 常係數齊次差分方程的基本解組
1.4.3 常係數差分方程解的漸近性質
1.5 一般多步方法的收斂性
1.5.1 多步方法的收斂性
1.5.2 綫性多步方法情形的進一步結果
1.6 數值穩定性
1.6.1 綫性多步方法的絕對穩定性
1.6.2 絕對穩定區間的確定
1.6.3 Runge-Kutta方法的絕對穩定性
1.7 一階方程組與剛性問題
1.7.1 一階方程組
1.7.2 剛性問題
本章小結與補充討論
習題
第二部分 偏微分方程的差分方法
第2章 橢圓型方程
2.1 兩點邊值問題的差分格式
2.1.1 用差商代替導數的方法
2.1.2 積分插值法
2.1.3 邊界條件的處理
2.2 二階橢圓型方程邊值問題的差分格式
2.2.1 區域的矩形網格剖分
2.2.2 矩形區域上的差分格式
2.2.3 矩形區域上邊界條件的處理
2.2.4 非矩形區域上的差分格式與邊界條件的處理
2.3 用積分插值法構造差分格式
2.3.1 偏微分方程的積分形式
2.3.2 用積分插值法構造內點的差分格式
2.3.3 用積分插值法構造邊界點的差分格式
2.4 極值原理與差分格式的收斂性
2.4.1 綫性橢圓型差分方程的一般形式
2.4.2 極值原理及差分格式之解的先驗估計
2.4.3 五點格式的穩定性與收斂性
2.5 能量估計與差分格式的收斂性
2.5.1 記號,若乾差分公式與不等式
2.5.2 差分算子的特徵值與特徵函數
2.5.3 兩點邊值問題差分格式之解的先驗估計與收斂性
2.5.4 二階橢圓型方程邊值問題差分格式之解的先驗估計及收斂性
本章小結與補充討論
習題
第3章 離散方程的數值解法
3.1 交替方嚮迭代法
3.1.1 模型問題
3.1.2 Peaeeman-Rachford迭代格式
3.1.3 PR迭代格式中迭代參數的選擇
3.1.4 其他交替方嚮迭代格式
3.2 預處理共軛梯度法
3.2.1 共軛梯度法的主要步驟與性質
3.2.2 預處理共軛梯度法的步驟及預優矩陣的構造
3.3 多重網格法
3.3.1 一維模型問題與古典迭代的光滑效應
3.3.2 二重網格法
3.3.3 多重網格法
本章小結與補充討論
習題
第4章 拋物型方程
4.1 一維拋物型方程初邊值問題的差分格式
4.1.1 常係數熱傳導方程的古典格式
4.1.2 變係數方程的差分格式
4.2 差分格式的穩定性與收斂性
4.2.1 差分格式的穩定性
4.2.2 差分格式的相容性與收斂性
4.3 穩定性研究中的矩陣方法
4.3.1 矩陣方法的一般討論
4.3.2 常係數熱傳導方程古典格式的穩定性
4.4 穩定性研究中的分離變量法
4.4.1 分離變量法的一般討論
4.4.2 對多個空間變量情形的應用
4.4.3 對三層格式的應用
4.5 差分格式的單側逼近性質及其應用
4.6 交替方嚮隱格式及相關的格式
4.6.1 PR格式
4.6.2 Douglas格式
4.6.3 非齊次邊界條件情形下過渡層邊值的取法
4.6.4 局部一維格式與預測-校正格式
本章小結與補充討論
習題
第5章 雙麯型方程
5.1 一階綫性雙麯型方程的差分格式
5.1.1 一階常係數方程初值問題
5.1.2 一階常係數方程初邊值問題
5.1.3 一階變係數方程的差分格式
5.2 一階常係數綫性雙麯型方程組的差分格式
5.3 二階綫性雙麯型方程的差分格式
5.3.1 一維常係數波動方程
5.3.2 一維變係數波動方程
5.3.3 二維波動方程
水5.4 交替方嚮隱格式
本章小結與補充討論
習題
第三部分 偏微分方程的有限元方法
第6章 邊值問題的變分原理與廣義解
6.1 古典變分法的一些概念
6.1.1 泛函的極值與Eulcr方程
6.1.2 自然邊界條件
6.1.3 多個自變量的情形
6.1.4 自然邊界條件(續)
6.2 邊值問題的變分原理
6.2.1 邊值問題與最小位能原理
6.2.2 虛功原理
6.2.3 邊值問題與變分問題的關係
6.2.4 內邊界條件
6.3 Sobolev空間與邊值問題的廣義解
6.3.1 廣義導數
6.3.2 Sobolev空間和邊值問題的廣義解
6.3.3 廣義解的存在性和唯一性
6.4 變分近似法
6.4.1 Ritz方法
6.4.2 Galerkin方法
6.4.3 投影定理
本章小結與補充討論
習題
第7章 有限元方法的基本過程
7.1 兩點邊值問題的有限元方法
7.1.1 用Ritz方法建立有限元方程
7.1.2 用Galerkin方法建立有限元方程
7.2 二維邊值問題的有限元方法
7.2.1 三角剖分與分片插值
7.2.2 單元分析與總體閤成
7.2.3 積分的計算
7.2.4 本質邊界條件的處理
7.2.5 有限元方程的求解
7.2.6 有限元方法的一般過程
本章小結與補充討論
習題
第8章 有限元方法的幾個問題
8.1 形狀函數與有限元空間
8.1.1 引言
8.1.2 一維高次元的形狀函數
8.1.3 一維Hcrmite型的形狀函數
8.1.4 二維矩形單元的形狀函數
8.1.5 二維三角形單元的形狀函數
8.1.6 等參數單元
8.1.7 三維情形
8.1.8 單元形狀函數小結
8.2 收斂性與誤差估計
8.2.1 引言
8.2.2 Sobolev空間中的插值理論
8.2.3 有限元方法的收斂性與誤差估計
8.3 拋物型方程的有限元方法
8.3.1 引言
8.3.2 綫性拋物型方程的廣義解
8.3.3 半離散的有限元方程
8.3.4 全離散的有限元方程
本章小結與補充討論
習題
部分習題答案及提示
參考文獻
附錄
前言/序言
本書第一版自1999年初問世以來已經過去八年瞭,在此期間,我國的高等教育得到前所未有的巨大發展,高等學校的專業設置和培養目標也作瞭很大調整,除瞭數學類的專業,很多理工類專業在本科或者研究生階段都開設瞭微分方程數值解法方麵的課程。因此,在本書被列入普通高等教育“十一五”國傢級規劃教材目錄後,為適應廣大的讀者麵,在修訂過程中仍然設法保持原先的風格,在不太高的起點上循序漸進,介紹實用的數值方法,
根據本書第一版的使用情況,修訂中首先刪除瞭一些過於繁雜的內容,如對流擴散問題的特徵差分法、變係數拋物型方程差分格式的能量方法等;某些部分則在章節標題前加瞭星號,錶示不是最基本的內容,其次,對微分方程離散後所建立的代數方程組,為強調一些當代數值求解方法的重要性,將有關內容單獨列成一章,以引起讀者注意。此外,還修改瞭部分習題,使不同難度的習題都有適當的數量;在書末新增瞭習題答案及提示,以便於自學;修訂瞭文字,使之更為通順易讀;更新瞭參考文獻,使讀者瞭解最新的齣版物,全書仍然分為三部分,每一部分保持相對的獨立性。因此,本書可以作為一門課程或者多門課程的教材使用。
本書問世以來,廣大的讀者通過各種途徑嚮我們提齣瞭很多意見和建議。雖然這次修訂中作者做瞭仔細校閱和檢查,但仍然會有缺點甚至錯誤,希望讀者能對本書提齣批評和意見,我們將感激不盡,科學齣版社的編輯對本書的齣版給予瞭積極的支持,孫文昌教授和黃惠茹、廖清清兩位同學為排版付齣瞭辛勤的勞動,謹此嚮他們錶示衷心的感謝。
《方程的奧秘:求解與探索》 在物理、工程、經濟、生物乃至社會科學的廣闊圖景中,有無數現象的演化和相互作用都遵循著精妙的數學規律。這些規律往往以我們稱之為“方程”的形式被描述,而當方程中涉及到未知函數的導數時,它們就演變成瞭“微分方程”。微分方程是刻畫動態世界最強有力的語言之一,從行星的軌跡到流體的流動,從疾病的傳播到金融市場的波動,無一不閃爍著微分方程的身影。然而,現實世界的復雜性常常使得精確解析地求解這些方程變得睏難重重,甚至不可能。正是在這樣的背景下,我們引入瞭“方程的奧秘:求解與探索”這一主題,旨在揭示如何運用數學工具和計算思維,深入理解和分析那些難以精確解析的微分方程。 本書並非直接呈現某一特定領域的數學理論,而是聚焦於一種普遍適用的方法論——數值求解。它是一門藝術,更是一門科學,它賦予我們一把鑰匙,去開啓那些隱藏在復雜數學模型背後的現實世界的秘密。我們將帶領讀者穿越數字的海洋,探索如何將抽象的微分方程轉化為一係列可計算的步驟,從而在計算機上獲得逼近真實世界行為的近似解。 第一部分:數值方法的基石——理解離散化與逼近 任何數值方法的第一步,都是將連續的數學問題轉化為離散的計算問題。在微分方程的語境下,這意味著我們需要將自變量(通常是時間或空間)以及函數本身在無限的連續域上進行“采樣”,將其映射到一係列離散的點上。這個過程,我們稱之為離散化。 想象一下,我們要描述一個物體隨時間運動的軌跡。在連續的世界裏,物體的速度和位置是時刻變化的。但在數值方法中,我們不再關注每一個瞬間,而是選擇一係列“快照”,比如每隔一秒鍾記錄一次物體的狀態。這就像用一連串的圖像來模擬電影的播放,每一幀都是一個離散的狀態。 本書將首先介紹幾種最基本的離散化技術,例如有限差分法。它利用函數的導數可以通過相鄰點上的函數值之差來近似的原理,將微分方程中的導數項替換為差分項。我們會詳細探討不同階數的差分格式(例如嚮前差分、嚮後差分、中心差分),分析它們的精度和穩定性。我們會理解,差分階數越高,近似的精度往往越高,但同時也可能引入更多的計算復雜性。 除瞭差分法,我們還將觸及泰勒展開在數值方法中的核心作用。泰勒展開是一種強大的數學工具,可以將一個在某一點附近無限可導的函數展開成一係列多項式項。在數值方法中,我們常常截斷泰勒展開,利用有限項來近似函數本身或其導數。理解泰勒展開,對於分析數值方法的截斷誤差至關重要,它能夠告訴我們,當我們用有限步長的離散化來近似連續過程時,會引入多大的誤差。 第二部分:探索一階微分方程的數值解法 一階微分方程在描述簡單動態係統時扮演著重要角色,例如指數增長/衰減模型,或者初速度已知情況下的運動。它們通常形式為 $y' = f(x, y)$。雖然有些簡單的一階方程可以解析求解,但大多數情況下,數值方法是唯一的選擇。 我們將從最直觀的方法開始——歐拉方法。歐拉方法是數值解法中最簡單的形式,它基於局部綫性逼近。假設我們知道函數在某個點 $(x_n, y_n)$ 的值,以及在該點的導數 $y'(x_n) = f(x_n, y_n)$,我們可以將函數在下一小步 $x_{n+1} = x_n + h$ 處的值近似為 $y_{n+1} = y_n + h cdot f(x_n, y_n)$。歐拉方法易於理解和實現,但其精度通常較低,尤其是在步長 $h$ 較大時。我們將深入分析歐拉方法的局部截斷誤差和全局截斷誤差,並討論如何通過減小步長來提高精度,但同時也要權衡計算成本的增加。 在此基礎上,我們將介紹改進的歐拉方法,例如改進歐拉法(也稱為霍恩法)和斜率修正法(Midpoint Method)。這些方法通過在每一步計算過程中,對導數進行更精細的估計,從而顯著提高瞭精度。例如,改進歐拉法會先用歐拉法估計一個“預測值”,然後利用這個預測值在末端點的導數來修正初始點的斜率,最終得到一個更準確的下一時刻的值。 再進一步,我們將深入研究一類非常重要的數值方法——龍格-庫塔(Runge-Kutta)方法。龍格-庫塔方法通過在一個步長內,對函數在多個中間點上的導數進行加權平均,來實現更高的精度。我們將詳細介紹二階、三階以及最常用的四階龍格-庫塔方法。四階龍格-庫塔方法(RK4)因其在精度和計算量之間的良好平衡,在科學計算領域得到廣泛應用。我們將剖析RK4的計算公式,並理解它是如何巧妙地通過多次評估函數 $f(x, y)$ 來逼近真實函數麯綫的。 第三部分:多步法與高階微分方程的挑戰 除瞭上述的單步法,我們還將介紹多步法。多步法的基本思想是,在計算下一個點的值時,不僅利用當前點的信息,還利用之前若乾個點的信息。這樣做的好處是,在達到相同精度的情況下,多步法通常需要更少的函數評估次數,從而提高計算效率。 我們將介紹預測-修正框架下的多步法,例如亞當斯-巴什福斯(Adams-Bashforth)方法(前嚮外插法)和亞當斯-姆爾頓(Adams-Moulton)方法(後嚮內插法)。亞當斯-巴什福斯方法使用前幾個點的信息來“預測”當前點的值,而亞當斯-姆爾頓方法則使用當前點的信息(通常是預測值)來“修正”當前點的值,從而獲得更精確的結果。這些方法在數值穩定性方麵有著更深入的研究。 此外,本書還將探討如何處理高階微分方程。高階微分方程可以直接求解,也可以通過變量代換轉化為一組耦閤的一階微分方程組,然後用一階微分方程的數值方法來求解。例如,一個二階微分方程 $y'' = g(x, y, y')$ 可以通過令 $u = y'$,從而轉化為兩個一階方程組:$y' = u$ 和 $u' = g(x, y, u)$。我們將展示這種轉化過程,並討論其在數值求解中的優勢和潛在問題。 第四部分:穩定性、精度與收斂性——評估數值方法的優劣 引入數值方法,我們必須關注其穩定性、精度和收斂性。 穩定性:一個數值方法在計算過程中,是否會將微小的誤差逐級放大,最終導緻結果的嚴重失真。不穩定的方法即使理論上精度很高,在實際計算中也可能毫無意義。我們將介紹截斷誤差(由離散化引起)和捨入誤差(由計算機有限的精度引起),以及它們如何相互作用並影響方法的穩定性。我們會學習分析方法的局部穩定性和全局穩定性。 精度:數值方法能夠多好地逼近微分方程的真實解。精度通常由階數來衡量,階數越高,在相同的步長下,誤差下降得越快。我們將深入分析不同數值方法的截斷誤差項,理解它們的局部截斷誤差(在一步計算中引入的誤差)和全局截斷誤差(經過多步纍積的總誤差)。 收斂性:當步長 $h$ 趨於零時,數值解是否趨於真實解。一個穩定的方法,隻要其截斷誤差能趨於零,就能夠保證收斂性。我們將基於皮卡-林德洛夫定理(Picard-Lindelöf Theorem)來理解局部解的存在唯一性,並探討在數值求解中,如何通過分析誤差傳播來論證方法的收斂性。 第五部分:實際應用與進階探索 本書的最後部分,我們將結閤實際例子,展示如何將所學的數值方法應用於解決實際問題。我們會涉及一些經典的物理模型,例如彈簧-質量係統、阻尼振動、受迫振動,以及簡單的熱傳導和擴散過程。通過這些例子,讀者可以親身體驗如何將現實世界的物理規律轉化為微分方程,進而選擇閤適的數值方法進行求解,並對計算結果進行分析和解釋。 此外,我們還將簡要介紹一些更高級的數值方法和概念,例如: 隱式方法:與顯式方法(如歐拉法、RK4)不同,隱式方法在計算下一時刻的值時,需要求解一個包含未知數的方程。雖然實現起來更復雜,但隱式方法通常在處理剛性微分方程(stiff equations)時錶現齣更好的穩定性和效率。 自適應步長控製:為瞭在保證精度的同時,最大限度地提高計算效率,自適應步長控製技術會根據每一步計算的誤差,動態地調整步長的大小。當誤差較大時,步長會減小;當誤差較小時,步長會增大。 邊界值問題(Boundary Value Problems):與初值問題(Initial Value Problems)不同,邊界值問題需要在方程定義域的多個點上指定函數或其導數的值。求解邊界值問題通常需要采用與初值問題不同的數值策略,例如打靶法(shooting method)或有限差分法。 “方程的奧秘:求解與探索”不僅僅是一本介紹數值方法的教材,它更是一扇通往理解動態世界和科學計算的大門。通過掌握這些數值方法,讀者將能夠: 賦予抽象模型以生命:將理論的數學模型轉化為計算機上可模擬的動態過程。 量化復雜現象:為那些無法解析求解的現實問題提供量化的答案。 增強科學洞察力:通過觀察和分析數值解的行為,深入理解問題的內在規律。 掌握強大的計算工具:為進一步學習更高級的數值分析、科學計算以及相關領域的專業知識打下堅實基礎。 我們鼓勵讀者在學習理論的同時,積極動手實踐,利用編程語言(如Python、MATLAB等)實現這些數值方法,並通過可視化工具來觀察數值解的演化。隻有在實踐中不斷探索,纔能真正掌握微分方程數值方法的精髓,並用它來揭示更多關於我們周圍世界的奧秘。