內容簡介
本本書介紹了
數值計算方法· 內容涉及數值計算方法的數學基礎,數值計算方法在工程、科學和數學問題中的套用以及MATLAB程式,涵蓋了經典數值分析的全部內容:包括非線性方程的數值解法;線性方程組的數值解法;矩陣特徵值與特徵向量的數值算法;插值方法;函式最佳逼近;數值積分;數值微分;常微分方程數值解法等· 基於MATLAB是本書的特色,對書中所有的數值方法都給出了MATLAB程式,有大量翔實的套用實例可供參考,有相當數量的習題可供練習· 本書可作為理工科本科生、研究生數值計算方法課程教材或參考書,也可作為科技人員使用數值計算方法和MATLAB的參考手冊
前言
從2008年《數值計算方法》出版以來,得到了很多老師的關注,收到了很多讀者的E-mail,給了很多的肯定和鼓勵,同時也對書中的內容、體系、講法等方面提出了很多寶貴的修改意見,藉此再版之機,向關心和支持作者工作的廣大讀者朋友表示深切謝意.此次再版,根據廣大讀者的建議,對原《數值計算方法》的內容作了適當的增刪,在保持原《數值計算方法》特色的前提下,對體例、格式、敘述、內容等方面作了較大的修改,力求使原《數值計算方法》的優點得到發展,缺點得到克服.書中很多章節和例題都重寫了,修改後的內容更符合現代《數值計算方法》教學改革實際,既便於教學,又有利於培養學生解決實際問題的能力.常微分方程數值解等內容.由於課時體系等原因,刪除了一些過時的內容,還有對部分過難的例題和習題作了修改和替換,新增了數字教學資源電子教案(PPT版由方秀男製作,PDF版由呂同富製作),MATLAB實驗等內容供師生參考(相關數字教學資源可到清華大學出版社網站上下載,也可以給作者發E-mail索取).本次再版由呂同富教授執筆.另外還有康兆敏副教授、方秀男副教授編寫了部分內容及習題和答案.全書由呂同富教授統稿.清華大學出版社佟麗霞編輯,幾年來自始至終給作者以支持和鼓勵,這次再版又認真編輯審校了書稿,糾正了書中的很多不妥和疏漏.廈門大學譚忠教授百忙之中抽出時間為本書作序推薦.這裡向他們及本書所列參考文獻的作者們,以及為本書再版給予熱心支持和幫助的朋友們,表示衷心的感謝.
本書可作為理工科本科生、研究生數值計算方法課程教材或參考書,也可作為科技人員使用數值計算方法和MATLAB的參考手冊.
呂同富
2013 年7 月
目錄
第1 章緒論... 1
1.1 科學計算的一般過程. 1
1.1.1 對實際工程問題進行數學建模... 1
1.1.2 對數學問題給出數值計算方法... 1
1.1.3 對數值計算方法進行程式設計... 2
1.1.4 上機計算並分析結果... 2
1.2 數值計算方法的研究內容與特點... 2
1.2.1 數值計算方法的研究內容... 2
1.2.2 數值計算方法的特點... 2
1.3 計算過程中的誤差及其控制... 5
1.3.1 誤差的來源與分類. 5
1.3.2 誤差與有效數字... 6
1.3.3 誤差的傳播... 8
1.3.4 誤差的控制... 9
1.3.5 數值算法的穩定性. 11
1.3.6 病態問題與條件數. 11
習題1.. 12
第2 章非線性方程的數值解法... 14
2.1 二分法. 14
2.1.1 二分法的基本思想. 14
2.1.2 二分法及MATLAB程式 15
2.2 非線性方程求解的疊代法. 18
2.2.1 疊代法的基本思想. 18
2.2.2 不動點疊代法及收斂性. 18
2.2.3 疊代過程的加速方法... 24
2.2.4 Newton-Raphson 方法... 32
2.2.5 割線法與拋物線法. 42
2.3 非線性方程求解的MATLAB函式.. 46
2.3.1 MATLAB 中求方程根的函式 46
2.3.2 用MATLAB中函式求方程的根.. 46
習題2.. 47
第3 章線性方程組的數值解法... 50
3.1 向量與矩陣的範數... 50
3.1.1 向量的範數... 50
3.1.2 矩陣的範數... 53
3.1.3 方程組的性態條件數與攝動理論. 56
3.2 直接法. 58
3.2.1 Gauss消去法及MATLAB程式.. 58
3.2.2 矩陣的三角(LU)分解法. 70
3.2.3 矩陣的Doolittle分解法及MATLAB程式.. 74
3.2.4 矩陣的Crout分解法... 79
3.2.5 對稱正定矩陣的Cholesky分解及MATLAB程式... 80
3.2.6 解三對角方程組的追趕法及MATLAB程式 86
3.3 疊代法. 88
3.3.1 疊代法的一般形式. 88
3.3.2 Jacobi疊代法及MATLAB程式.. 89
3.3.3 Gauss-Seidel疊代法及MATLAB程式. 92
3.3.4 超鬆弛疊代法及MATLAB程式.. 96
3.3.5 共軛梯度法及MATLAB程式 99
3.4 疊代法的收斂性分析.104
3.4.1 疊代法的收斂性...104
3.4.2 疊代法的收斂速度與誤差分析...105
習題3..107
第4 章矩陣特徵值與特徵向量的數值算法.111
4.1 預備知識...112
4.1.1 Householder變換和Givens變換..112
4.1.2 Gershgorin 圓盤定理114
4.1.3 QR 分解..115
4.2 乘冪法和反冪法.116
4.2.1 乘冪法及MATLAB程式117
4.2.2 乘冪法的加速.122
4.2.3 反冪法及MATLAB程式124
4.3Jacobi方法(對稱矩陣). ...125
4.3.1 Jacobi方法及MATLAB程式125
4.3.2 Jacobi 方法的收斂性...129
4.4 Householder 方法130
4.4.1 一般實矩陣約化為Hessenberg矩陣...130
4.4.2 實對稱矩陣的三對角化.133
4.4.3 求三對角矩陣特徵值的二分法...133
4.4.4 三對角矩陣特徵向量的計算.135
4.5 QR 方法135
4.5.1 基本的QR方法...136
4.5.2 QR 方法的收斂性..137
4.5.3 帶原點位移的QR方法.139
4.5.4 單步QR方法計算上Hessenberg矩陣特徵值...140
4.5.5 雙步QR方法.141
4.6 基於MATLAB的QR分解141
習題4..142
第5 章插值方法...144
5.1 插值多項式及存在唯一性.145
5.1.1 插值多項式的一般提法.145
5.1.2 插值多項式存在唯一性.145
5.2 Lagrange 插值...146
5.2.1 Lagrange 插值多項式...146
5.2.2 線性插值與拋物線插值.148
5.2.3 Lagrange插值的MATLAB程式..149
5.2.4 Lagrange 插值餘項與誤差估計...150
5.3Aitken和Neville插值153
5.3.1 Aitken 逐步線性插值...153
5.3.2 Neville 逐步線性插值...153
5.4 差商與Newton插值..154
5.4.1 差商及其性質.154
5.4.2 Newton 插值多項式156
5.4.3 Newton 插值餘項與誤差估計157
5.4.4 Newton插值的MATLAB程式...158
5.5 差分與等距節點的Newton插值159
5.5.1 差分及其性質.159
5.5.2 等距節點Newton插值多項式161
5.5.3 等距節點Newton插值的MATLAB程式..162
5.6 Hermite 插值164
5.7 分段低次插值...166
5.7.1 高次插值的Runge現象及MATLAB程式..166
5.7.2 分段線性插值及MATLAB程式..167
5.7.3 分段三次Hermite插值及MATLAB程式..170
5.8 三次樣條插值...172
5.8.1 三次樣條函式.173
5.8.2 三轉角插值函式(方程)及MATLAB程式..175
5.8.3 三彎矩插值函式(方程)及MATLAB程式..179
5.8.4 三次樣條插值函式的收斂性.182
5.9B-樣條插值.183
5.9.1 m 次樣條函式.183
5.9.2 B-樣條函式...184
5.9.3 B-樣條函式的性質.185
習題5..186
第6 章函式最佳逼近...189
6.1 正交多項式.189
6.1.1 正交函式族...189
6.1.2 幾個常用的正交多項式.191
6.2 最佳一致逼近...197
6.2.1 一致逼近的概念...197
6.2.2 最佳一致逼近多項式...201
6.2.3 最佳一致逼近多項式的計算.206
6.2.4 最佳一致逼近三角多項式...208
6.3 最佳平方逼近...211
6.3.1 平方度量與平方逼近...211
6.3.2 最佳平方逼近.212
6.4 正交多項式的逼近性質...214
6.4.1 用正交多項式作最佳平方逼近...215
6.4.2 用正交多項式作最佳一致逼近...216
6.5 Fourier 級數的逼近性質...218
6.5.1 最佳平方三角逼近.219
6.5.2 最佳一致三角逼近.219
6.5.3 快速Fourier變換..223
6.6 有理函式逼近...227
6.6.1 連分式逼近...227
6.6.2 Pade逼近228
6.7 曲線擬合的最小二乘法及MATLAB程式230
6.7.1 曲線擬合的最小二乘法.230
6.7.2 曲線擬合最小二乘法的MATLAB程式231
習題6..232
第7 章數值積分...235
7.1 機械求積公式...235
7.1.1 數值積分的基本思想...235
7.1.2 待定係數法...236
7.1.3 插值型求積公式...237
7.1.4 求積公式的收斂性與穩定性.239
7.2 Newton-Cotes 求積公式...240
7.2.1 Newton-Cotes 求積公式的一般形式...240
7.2.2 兩種低階的Newton-Cotes求積公式..240
7.2.3 誤差估計.241
7.2.4 Newton-Cotes求積公式MATLAB程式243
7.3 複合求積公式...244
7.3.1 複合梯形求積公式及MATLAB程式..244
7.3.2 複合Simpson求積公式及MATLAB程式..245
7.3.3 複合Cotes求積公式及MATLAB程式247
7.4 變步長求積公式.248
7.4.1 變步長梯形求積公式及MATLAB程式248
7.4.2 自適應Simpson求積公式及MATLAB程式250
7.5 Romberg 求積算法...252
7.5.1 Romberg 求積公式.252
7.5.2 Romberg求積算法的MATLAB程式..254
7.6 Gauss 求積公式..256
7.6.1 Gauss 求積公式的構造..257
7.6.2 5種Gauss型求積公式..259
7.6.3 Gauss求積公式及MATLAB程式264
7.7 MATLAB 中的數值積分函式..267
7.7.1 MATLAB 數值積分函式267
7.7.2 套用實例.268
習題7..269
第8 章數值微分...272
8.1 中點方法...272
8.1.1 微分中點數值算法.272
8.1.2 微分中點數值算法誤差分析.273
8.2 利用插值方法求微分.273
8.2.1 插值型求導方法...273
8.2.2 常用插值型求數值微分公式.274
8.3 利用數值積分求微分.276
8.3.1 矩形積分方法.276
8.3.2 Simpson 積分方法.276
8.4 利用三次樣條求微分.277
8.5 外推法在數值微分中的套用...278
習題8..279
第9 章常微分方程數值解法.280
9.1 數值解法的構造途徑.280
9.1.1 數值解法的基本思想...280
9.1.2 差商逼近法...281
9.1.3 數值積分法...282
9.1.4 Taylor 展開法.282
9.2 Euler 方法及其改進..284
9.2.1 Euler方法及MATLAB程式.284
9.2.2 改進的Euler方法及MATLAB程式..285
9.2.3 預估-校正方法292
9.2.4 公式的截斷誤差...292
9.3 Runge-Kutta 方法293
9.3.1 Runge-Kutta 方法的基本思想293
9.3.2 二階Runge-Kutta方法..294
9.3.3 三階與四階Runge-Kutta方法及MATLAB程式296
9.3.4 變步長的Runge-Kutta方法及MATLAB程式..299
9.4 單步法的相容性、收斂性與穩定性.302
9.4.1 相容性...302
9.4.2 收斂性...303
9.4.3 穩定性...307
9.5 線性多步法.309
9.5.1 線性多步法的一般公式.309
9.5.2 Adams公式及MATLAB程式311
9.5.3 Milne方法與Simpson方法及MATLAB程式..315
9.5.4 Hamming方法及MATLAB程式.317
9.5.5 預估校正方法.318
9.6 微分方程組與高階微分方程數值解.320
9.6.1 一階微分方程組...320
9.6.2 高階微分方程及MATLAB程式..322
9.6.3 剛性方程.324
9.7 求微分方程數值解的MATLAB函式326
9.7.1 MATLAB 中微分方程數值解函式326
9.7.2 套用實例.326
習題9..327
部分習題答案...330
參考文獻...336