本書比較全面地介紹了現代科學與工程計算中常用的數值計算方法。全書共分11章,主要內容有:引論、計算方法的數學基礎、MATLAB編程基礎、方程求根、解線性方程組的直接法、解線性方程組的迭代法、函數插值、數值積分與數值微分、常微分方程初值問題的數值解法、矩陣特征值計算、函數優化計算。本書知識體系完整,既簡要回顧了與計算方法有關的數學基礎知識,又介紹了現代計算軟件MATLAB,書中每個算法都配有結構化流程圖,幾乎所有算法都給出了MATLAB語言代碼和MATLAB函數,部分算法給出了C語言代碼,書后附有上機實驗題目。可從華信教育資源網(www.hxedu.com.cn)免費下載的教學資源包括:電子教案、各章習題解答和模擬試題。
李桂成,1985年畢業于山西大學計算數學專業,畢業后在山西大學計算機與信息技術學院任教,主講計算方法,期間獲計算機科學與技術工學碩士學位,現從事智能計算和數據挖掘方向的研究。
第1章 引論 1
1.1 從數學到計算 1
1.2 誤差理論初步 5
1.2.1 誤差的來源 5
1.2.2 誤差的度量 6
1.2.3 誤差的傳播 9
1.2.4 數值穩定性 11
1.3 數值計算的若干原則 12
1.3.1 避免兩個相近數相減 12
1.3.2 避免用絕對值過小的數作為除數 13
1.3.3 要防止大數“吃掉”小數 13
1.3.4 簡化計算步驟,提高計算效率 14
1.3.5 使用數值穩定的算法 15
本章小結 16
習題1 17
第2章 計算方法的數學基礎 19
2.1 微積分的有關概念和定理 19
2.1.1 數列與函數的極限 19
2.1.2 連續函數的性質 21
2.1.3 羅爾定理和微分中值定理 21
2.1.4 積分加權平均值定理 22
2.1.5 權函數和函數的內積 23
2.1.6 正交函數系 23
2.1.7 勒讓德多項式 25
2.2 微分方程的有關概念和定理 26
2.2.1 基本概念 26
2.2.2 初值問題解的存在唯一性 28
2.3 線性代數的有關概念和定理 28
2.3.1 線性相關和線性無關 28
2.3.2 方陣及其初等變換 30
2.3.3 線性方程組解的存在唯一性 32
2.3.4 特殊矩陣 33
2.3.5 方陣的逆及其運算性質 35
2.3.6 矩陣的特征值及其運算性質 36
2.3.7 對稱正定矩陣 39
2.3.8 對角占優矩陣 40
2.3.9 向量的內積 41
2.3.10 向量、矩陣和連續函數的范數 41
2.3.11 向量序列與矩陣序列的極限 46
本章小結 47
習題2 47
第3章 MATLAB編程基礎 49
3.1 MATLAB R2018b簡介 49
3.2 MATLAB R2018b的工作環境 51
3.2.1 MATLAB R2018b的工具箱 51
3.2.2 MATLAB R2018b的命令行窗口 53
3.2.3 MATLAB R2018b的工作區 54
3.2.4 MATLAB R2018b的當前文件夾 54
3.3 MATLAB的變量、常量和數據類型 55
3.3.1 常量 55
3.3.2 變量 56
3.3.3 數據類型 56
3.4 MATLAB的數值運算 58
3.4.1 向量運算 58
3.4.2 矩陣運算 59
3.5 MATLAB的符號運算 64
3.5.1 字符串運算 64
3.5.2 符號表達式運算 65
3.5.3 符號矩陣運算 68
3.5.4 符號微積分運算 69
3.5.5 符號方程求解 71
3.6 MATLAB圖形可視化 73
3.6.1 繪制二維圖形 73
3.6.2 繪制三維圖形 74
3.7 MATLAB程序設計 75
3.7.1 MATLAB程序的控制結構 75
3.7.2 MATLAB文件 78
3.7.3 MATLAB R2018b程序調試方法 78
本章小結 81
習題3 81
第4章 方程求根 83
4.1 引言 83
4.2 二分法 84
4.3 迭代法 87
4.3.1 不動點迭代 87
4.3.2 迭代法的收斂性 88
4.3.3 迭代法的改善 95
4.4 牛頓迭代法 96
4.4.1 牛頓迭代公式及其幾何意義 96
4.4.2 牛頓迭代公式的收斂性 97
4.4.3 重根情形 101
4.5 弦截法 102
4.6 算法實現 103
4.6.1 MATLAB編程實現 103
4.6.2 MATLAB函數實現 106
本章小結 107
習題4 108
第5章 解線性方程組的直接法 110
5.1 引言 110
5.2 高斯消去法 111
5.2.1 順序高斯消去法 111
5.2.2 主元素高斯消去法 115
5.2.3 高斯-約當消去法 117
5.3 矩陣三角分解法 119
5.3.1 高斯消去法與矩陣三角分解法 119
5.3.2 直接三角分解法 120
5.4 解三對角線性方程組的追趕法 124
5.5 誤差分析 127
5.5.1 病態方程組與條件數 127
5.5.2 病態方程組的解法 130
5.6 算法實現 131
5.6.1 MATLAB編程實現 131
5.6.2 MATLAB函數實現 135
本章小結 137
習題5 137
第6章 解線性方程組的迭代法 139
6.1 引言 139
6.2 雅可比迭代法 141
6.3 高斯-塞德爾迭代法 142
6.4 迭代法的收斂性 144
6.5 算法實現 151
6.5.1 MATLAB編程實現 151
6.5.2 MATLAB函數實現 155
本章小結 156
習題6 156
第7章 函數插值 159
7.1 引言 159
7.1.1 插值問題 159
7.1.2 插值多項式的存在唯一性 160
7.2 拉格朗日插值 161
7.2.1 線性插值與拋物插值 161
7.2.2 拉格朗日插值 163
7.2.3 插值余項與誤差估計 165
7.3 牛頓插值 169
7.4 埃爾米特插值 173
7.5 分段低次插值 175
7.5.1 高次插值與龍格現象 175
7.5.2 分段線性插值 176
7.5.3 分段三次埃爾米特插值 178
7.6 樣條插值 180
7.6.1 三次樣條插值函數 180
7.6.2 三次樣條插值函數的求法 182
7.7 離散數據的曲線擬合 185
7.7.1 曲線擬合問題 185
7.7.2 多項式擬合 186
7.7.3 正交多項式擬合 188
7.8 算法實現 189
7.8.1 MATLAB編程實現 189
7.8.2 MATLAB函數實現 191
本章小結 195
習題7 195
第8章 數值積分與數值微分 199
8.1 引言 199
8.1.1 數值積分的必要性 199
8.1.2 數值積分的基本思想 200
8.1.3 代數精度 200
8.1.4 插值型求積公式 202
8.2 牛頓-柯特斯求積公式 204
8.2.1 牛頓-柯特斯求積公式的導出 204
8.2.2 牛頓-柯特斯求積公式的誤差估計 207
8.3 復合求積公式 209
8.3.1 復合梯形求積公式 209
8.3.2 復合辛普生求積公式 210
8.4 外推算法與龍貝格算法 212
8.4.1 變步長的求積公式 212
8.4.2 外推算法 214
8.4.3 龍貝格求積公式 214
8.5 高斯求積公式 218
8.5.1 高斯點與高斯求積公式 218
8.5.2 高斯-勒讓德求積公式 219
8.5.3 高斯求積公式的穩定性和收斂性 222
8.6 數值微分 223
8.6.1 中點公式 223
8.6.2 插值型微分公式 225
8.7 算法實現 227
8.7.1 MATLAB編程實現 227
8.7.2 MATLAB函數實現 230
本章小結 233
習題8 233
第9章 常微分方程初值問題的數值解法 237
9.1 引言 237
9.2 歐拉公式 238
9.2.1 歐拉公式及其意義 238
9.2.2 歐拉公式的變形 239
9.3 單步法的局部截斷誤差和方法的階 242
9.4 龍格-庫塔方法 245
9.4.1 龍格-庫塔方法的基本思想 245
9.4.2 二階龍格-庫塔方法的推導 246
9.4.3 經典四階龍格-庫塔方法 249
9.5 單步法的收斂性和穩定性 251
9.5.1 單步法的收斂性 251
9.5.2 單步法的穩定性 254
9.6 算法實現 257
9.6.1 MATLAB編程實現 257
9.6.2 MATLAB函數實現 260
本章小結 263
習題9 264
第10章 矩陣特征值計算 266
10.1 引言 266
10.2 冪法及反冪法 268
10.2.1 冪法 268
10.2.2 反冪法 271
10.3 QR方法 272
10.3.1 反射變換 272
10.3.2 矩陣的QR分解 274
10.3.3 QR方法的實現 275
10.4 雅可比方法 276
10.4.1 平面旋轉矩陣 276
10.4.2 雅可比方法及其改進 278
10.5 算法實現 280
10.5.1 MATLAB編程實現 280
10.5.2 MATLAB函數實現 286
本章小結 289
習題10 290
第11章 函數優化計算 291
11.1 引言 291
11.2 一元函數優化計算 292
11.2.1 牛頓法 292
11.2.2 擬牛頓法 294
11.2.3 黃金分割法 294
11.3 多元函數優化計算 296
11.3.1 多元函數有最優解的條件 296
11.3.2 多元函數數值求解的原則 297
11.3.3 梯度法 298
11.3.4 牛頓法 300
11.3.5 共軛方向法 301
11.4 算法實現 304
11.4.1 MATLAB編程實現 304
11.4.2 MATLAB函數實現 307
本章小結 309
習題11 309
附錄A 計算方法實驗 310
實驗1 方程求根 311
實驗2 解線性方程組的直接法 312
實驗3 解三對角線性方程組的追趕法 313
實驗4 解線性方程組的迭代法 314
實驗5 函數插值問題 315
實驗6 數值積分 316
實驗7 數值微分 318
實驗8 常微分方程初值問題的數值解法 319
實驗9 矩陣特征值計算 320
實驗10 函數優化計算 321
參考文獻 323