全書共分6大部分。第1部分介紹數(shù)值方法的背景知識、MATLAB的軟件環(huán)境和編程模式,后5部分集中介紹數(shù)值方法的主要應(yīng)用領(lǐng)域,具體包括求根與*大化、線性代數(shù)方程組的求解、曲線擬合、數(shù)值積分與微分以及常微分方程數(shù)值解。本書不但介紹各類數(shù)值方法的基本原理和基于MATLAB的實現(xiàn),而且非常注重實際應(yīng)用和計算能力的訓(xùn)練,除了針對基本內(nèi)容給出相應(yīng)的典型實例外,還在每章的末尾提供大量實用的習(xí)題,有助于讀者進一步鞏固所學(xué)的知識。
◆ 以關(guān)鍵概念(如泰勒級數(shù)、收斂、條件數(shù)等)闡述理論
◆ 使用MATLAB的M文件表示算法,插圖與表格清晰而準確
◆ 廣泛使用實例演示以及工程和科學(xué)應(yīng)用案例,使學(xué)生清楚地把握數(shù)值計算的每個步驟
◆ 各章末尾的習(xí)題豐富而實用,*新版新增了一些更具挑戰(zhàn)性的習(xí)題
全書內(nèi)容以實際問題而不是數(shù)學(xué)理論為牽引進行組織,除了介紹工程和科學(xué)中常用的算法和方法之外,還廣泛地使用實例演示以及工程和科學(xué)案例講授這些方法的實際應(yīng)用。在算法實現(xiàn)方面,書中不僅詳細介紹了相關(guān)的MATLAB 內(nèi)置數(shù)值函數(shù),而且提供了一些經(jīng)典算法的M 文件,以方便讀者自行編寫程序!豆こ膛c科學(xué)數(shù)值方法的MATLAB實現(xiàn)(第4版)》作者Steven C. Chapra教授不僅是一位優(yōu)秀的教師,還在工程領(lǐng)域頗有建樹,曾經(jīng)被評為工程領(lǐng)域的杰出教師。在書中,他通過獨特的視角,巧妙地將數(shù)值方法理論與工程實踐結(jié)合起來,以淺顯易懂、圖文并茂的方式進行講述。在此,我們很高興能將其譯本奉獻給廣大讀者。
Steven C. Chapra執(zhí)教于塔夫斯(Tufts)大學(xué)的土木與環(huán)境工程系,他還擔任該校計算機與工程系的教授職位。除本書外,Steven還著有Numerical Methods for Engineers和Surface Water-Quality Modeling這兩本書。
Steven在密歇根(Michigan)大學(xué)和曼哈頓(Manhattan)學(xué)院獲得了工學(xué)學(xué)位。在進入塔夫斯大學(xué)工作之前,他曾在美國環(huán)保局、海洋與大氣管理局工作過,也曾執(zhí)教于德州(Texas) A&M大學(xué)和科羅拉多州(Colorado)大學(xué)。他的主要研究興趣集中在地表水質(zhì)建模以及計算機在環(huán)境工程中的高級應(yīng)用。
由于突出的學(xué)術(shù)貢獻,他獲得了很多獎項,包括魯?shù)婪颉せ羝談渍?Rudolph Hering Medal ASCE)、梅里安/威利杰出作者獎(Meriam/Wiley Distinguished Author Award)和錢德勒-米塞爾獎(Chandler-Misener Award)。作為杰出的教師,他獲得了德克薩斯農(nóng)工大學(xué)1986年度Tenneco獎、州立科羅拉多大學(xué)1992年度Hutchinson獎和塔夫斯大學(xué)2011年度杰出教授獎。
Steven進入環(huán)境工程和科學(xué)領(lǐng)域起初源于對室外環(huán)境的熱愛。他還是一名狂熱的垂釣者和徒步旅行者。雖然他現(xiàn)在年事已高,但早在1966年還是一名大學(xué)生的時候,初次接觸Fortran編程就迷上了計算,F(xiàn)在,他真正感覺到,應(yīng)該將對數(shù)學(xué)、科學(xué)和計算的熱愛與對自然界的激情融合在一起。另外,他還感覺到應(yīng)該通過教學(xué)和寫作與其他人分享這一切!
除了對專業(yè)感興趣外,Steven還喜愛藝術(shù)、音樂(尤其是古典音樂、爵士樂和藍草音樂)以及閱讀歷史書籍。
如果希望與Steven取得聯(lián)系,或更多地了解他,可以訪問他的主頁http://engineering. tufts.edu/cee/people/chapra/或通過郵箱steven.chapra@tufts.edu與他聯(lián)系。
第Ⅰ部分 建模、計算機與誤差分析
第1章 數(shù)學(xué)建模、數(shù)值方法與問題
求解 3
提出問題 3
1.1 一個簡單的數(shù)學(xué)模型 4
1.2 工程與科學(xué)中的守恒律 10
1.3 本書中涉及的數(shù)值方法 13
1.4 案例研究 15
1.5 習(xí)題 17
第2章 MATLAB基礎(chǔ) 29
提出問題 29
2.1 MATLAB環(huán)境 30
2.2 賦值 31
2.2.1 標量 31
2.2.2 數(shù)組、向量和矩陣 33
2.2.3 冒號操作符 35
2.2.4 linspace和logspace函數(shù) 36
2.2.5 字符串 36
2.3 數(shù)學(xué)運算 38
2.4 使用內(nèi)置函數(shù) 42
2.5 繪圖 45
2.6 其他資源 49
2.7 案例研究:探索性數(shù)據(jù)
分析 49
2.8 習(xí)題 51
第3章 編寫MATLAB程序 59
提出問題 59
3.1 M文件 60
3.1.1 腳本文件 60
3.1.2 函數(shù)文件 61
3.1.3 變量的作用域 63
3.1.4 全局變量 64
3.1.5 子函數(shù) 66
3.2 輸入/輸出 67
3.3 結(jié)構(gòu)化編程 71
3.3.1 決策 71
3.3.2 循環(huán) 79
3.3.3 動畫 83
3.4 嵌套與縮進 85
3.5 將函數(shù)傳入M文件 88
3.5.1 匿名函數(shù) 88
3.5.2 函數(shù)函數(shù) 89
3.5.3 傳遞參數(shù) 92
3.6 案例研究:蹦極運動員的速度 93
3.7 習(xí)題 97
第4章 舍入與截斷誤差 111
提出問題 111
4.1 誤差 112
4.1.1 準確度與精度 112
4.1.2 誤差定義 113
4.1.3 迭代計算的計算機算法 116
4.2 舍入誤差 118
4.2.1 計算機中數(shù)的表示 118
4.2.2 計算機中數(shù)的算術(shù)運算 123
4.3 截斷誤差 125
4.3.1 泰勒級數(shù) 125
4.3.2 泰勒級數(shù)展開的余項 129
4.3.3 用泰勒級數(shù)估計截斷誤差 131
4.3.4 數(shù)值差分 132
4.4 總數(shù)值誤差 136
4.4.1 數(shù)值微分的誤差分析 137
4.4.2 數(shù)值誤差的控制 139
4.5 粗差、模型誤差和數(shù)據(jù)不確定性 140
4.5.1 粗差 140
4.5.2 模型誤差 141
4.5.3 數(shù)據(jù)不確定性 141
4.6 習(xí)題 141
第Ⅱ部分 求根與最優(yōu)化
第5章 求根:劃界法 149
提出問題 149
5.1 工程和科學(xué)領(lǐng)域中的求根問題 150
5.2 圖形法 151
5.3 劃界法與初始猜測值 153
5.4 二分法 157
5.5 試位法 163
5.6 案例研究:溫室氣體與雨水 166
5.7 習(xí)題 169
第6章 方程求根:開方法 177
6.1 簡單不動點迭代 178
6.2 牛頓-拉弗森方法 182
6.3 割線法 187
6.4 布倫特法 189
6.4.1 逆二次插值 189
6.4.2 布倫特法算法 191
6.5 MATLAB函數(shù):fzero 193
6.6 多項式 195
6.7 案例研究:管道摩擦力 198
6.8 習(xí)題 202
第7章 最優(yōu)化 213
提出問題 213
7.1 簡介與背景 214
7.2 一維最優(yōu)化 216
7.2.1 黃金分割搜索 217
7.2.2 拋物線插值 222
7.2.3 MATLAB函數(shù):fminbnd 224
7.3 多維最優(yōu)化 225
7.4 案例研究:平衡與
極小勢能 227
7.5 習(xí)題 229
第Ⅲ部分 線性方程組
第8章 線性代數(shù)方程和矩陣 245
提出問題 245
8.1 矩陣代數(shù)概述 247
8.1.1 矩陣符號 247
8.1.2 矩陣的運算規(guī)則 249
8.1.3 將線性代數(shù)方程組表示成矩陣形式 256
8.2 用MATLAB求解線性代數(shù)方程組 257
8.3 案例研究:電路中的電流和電壓 258
8.4 習(xí)題 262
第9章 高斯消元法 269
9.1 求解小型方程組 270
9.1.1 繪圖法 270
9.1.2 行列式和克拉默法則 271
9.1.3 未知數(shù)消元法 274
9.2 樸素高斯消元法 275
9.2.1 MATLAB M文件:GaussNaive 278
9.2.2 運算次數(shù) 279
9.3 選主元 281
9.3.1 MATLAB M文件:GaussPivot 283
9.3.2 用高斯消元法計算行列式 284
9.4 三對角方程組 285
9.5 案例研究:熱桿模型 287
9.6 習(xí)題 290
第10章 LU分解 297
10.1 LU分解概述 298
10.2 高斯消元法與LU分解 299
10.2.1 使用選主元的LU分解 302
10.2.2 MATLAB函數(shù):lu 304
10.3 楚列斯基分解 305
10.4 MATLAB的左除運算 308
10.5 習(xí)題 308
第11章 矩陣求逆和條件數(shù) 311
11.1 矩陣的逆 311
11.1.1 逆矩陣的計算 311
11.1.2 激勵-響應(yīng)計算 313
11.2 誤差分析和方程組的條件數(shù) 315
11.2.1 向量和矩陣范數(shù) 316
11.2.2 矩陣條件數(shù) 317
11.2.3 用MATLAB計算范數(shù)和條件數(shù) 319
11.3 案例研究:室內(nèi)空氣污染 320
11.4 習(xí)題 323
第12章 迭代法 329
12.1 線性方程組:高斯-賽德爾 329
12.1.1 收斂性與對角占優(yōu) 332
12.1.2 MATLAB M文件:GaussSeidel 332
12.1.3 松弛法 333
12.2 非線性方程組 335
12.2.1 逐次代換法 336
12.2.2 牛頓-拉弗森方法 337
12.2.3 MATLAB函數(shù):
fsolve 342
12.3 案例研究:化學(xué)反應(yīng) 343
12.4 習(xí)題 345
第13章 特征值 351
提出問題 351
13.1 數(shù)學(xué)背景 352
13.2 物理背景 356
13.3 冪方法 358
13.4 MATLAB函數(shù):eig 360
13.5 案例研究:特征值與
地震 362
13.6 習(xí)題 364
第Ⅳ部分 曲線擬合