《常用數值算法及其MATLAB實現》是2014年清華大學出版社出版的圖書,作者是夏省祥、於正文。本書詳細介紹了求解數值問題的常用算法的算法原理及其MATLAB實現,偏重於算法的實現,強調例題的分析和套用。
基本介紹
- 書名:常用數值算法及其MATLAB實現
- 作者:夏省祥、於正文
- ISBN:9787302353348
- 定價:45元
- 出版社:清華大學出版社
- 裝幀:平裝
- 印刷日期:2014-4-4
內容簡介
前言
本書詳細、系統地闡述了常用的數值算法和一些現代算法的原理,並用目前最流行的三大數學軟體MATLAB,Maple和Mathematica之一的MATLAB全部實現了這些數值算法,本書偏重於算法的實現,強調例題的分析和套用,引導讀者輕鬆入門,深刻理解、掌握算法原理,並迅速套用。
在結構體系方面,先介紹數值算法的詳細計算方法(公式)和相關概念,其次給出實現算法的MATLAB程式,最後給出範例。力求把最實用、最重要的知識講清楚,把最有效的算法和最實用的程式展現給讀者。每個算法後都列舉了典型範例,對大多數例題採用多種數值解法(包括MATLAB程式包中的數值算法),並儘量用圖形顯示計算結果,以便直觀觀察和比較不同方法的計算效果。對有精確解(解析解)的問題,將數值算法求出的數值解與精確解比較,客觀地評價數值算法的優劣,以便選擇精度高的最佳數值算法。在編程過程中採用高效的計算方式,減少不必要的重複計算,儘量少調用函式且注重誤差的傳播等編程細節,並對一些算法的適用範圍、優劣和誤差以及參數和初始值對計算結果的影響進行了分析。幫助讀者理解、掌握、改進數值算法,提高數值分析的技能和編程能力。
本書從二十多本國內外教材和十幾篇國內外公開發表的論文中精選了170多個典型例題,並通過大量的數據結果和150多幅圖表詳細地介紹了常用的經典數值算法和一些現代算法的算法原理及其套用。所有源程式完全開放,程式全部用形式參數書寫,讀者只需輸入參數、函式和數據等就可方便地使用它們,當然也可以根據自己的需求更改這些程式。書中的所有算法程式都在MATLAB 7.1中驗證通過,並通過不同的算法或精確解檢驗了程式的正確性。國家自然科學基金項目(項目編號: 51078225)和山東省高等教育名校建設工程—山東建築大學特色專業建設項目對本書的出版給予了資助,在此表示衷心的感謝。
2014年2月
目錄
1.1誤差的來源1
1.1.1捨入誤差1
1.1.2截斷誤差2
1.2誤差的傳播4
1.2.1儘量避免兩個相近的數相減4
1.2.2防止接近零的數做除數6
1.2.3防止大數吃小數6
1.2.4簡化計算步驟,減少運算次數6
1.3數值算法的穩定性7
2.1Gauss消順序消去法11
2.2Gauss列主元消去法13
2.3GaussJordan消去法15
2.4LU分解法17
2.5平方根法19
2.6改進的平方根法22
2.7追趕法24
2.8QR分解法26
2.9方程組的性態與誤差分析29
2.9.1誤差分析29
2.9.2疊代改善31
2.10Jacobi疊代法33
2.11GaussSeidel疊代法35
2.12鬆弛疊代法38
2.13疊代法的收斂性分析40第3章函式的插值46
3.1Lagrange插值46
3.2牛頓插值49
3.3Hermite插值52
3.4分段三次Hermite插值55
3.5三次樣條插值函式61
3.5.1緊壓樣條插值函式61
3.5.2端點曲率調整樣條插值函式66
3.5.3非節點樣條插值函式71
3.5.4周期樣條插值函式76
3.5.5MATLAB的內置三次樣條插值函式簡介79
4.1最佳一致逼近多項式 83
4.2近似最佳一致逼近多項式87
4.3最佳平方逼近多項式90
4.4用正交多項式作最佳平方逼近多項式93
4.4.1用Legendre多項式作最佳平方逼近多項式93
4.4.2用Chebyshev多項式作最佳平方逼近多項式96
4.5曲線擬合的最小二乘法99
4.5.1線性最小二乘擬合99
4.5.2用正交多項式作最小二乘擬合103
4.5.3非線性最小二乘擬合舉例105
4.6Pade有理逼近108
5.1複合求積公式115
5.1.1複合梯形公式115
5.1.2複合Simpson公式118
5.1.3複合Cotes公式119
5.2變步長的求積公式121
5.2.1變步長的梯形公式121
5.2.2變步長的Simpson公式122
5.2.3變步長的Cotes公式123
5.3Romberg積分法124
5.4自適應積分法127
5.5Gauss求積公式129
5.5.1GaussLegendre求積公式129
5.5.2GaussChebyshev求積公式131
5.5.3GaussLaguerre求積公式133
5.5.4GaussHermite求積公式135
5.6預先給定節點的Gauss求積公式137
5.6.1GaussRadau求積公式137
5.6.2GaussLobatto求積公式138
5.7二重積分的數值計算140
5.7.1複合Simpson公式140
5.7.2變步長的Simpson公式144
5.7.3複合Gauss公式147
5.8三重積分的數值計算149
6.1一元函式的極小值155
6.1.1黃金分割搜尋法155
6.1.2Fibonacci搜尋法157
6.1.3二次逼近法159
6.1.4三次插值法161
6.1.5牛頓法162
6.2NelderMead方法164
6.3最速下降法166
6.4牛頓法169
6.5共軛梯度法170
6.6擬牛頓法173
6.6.1DFP法173
6.6.2BFGS法176
6.7模擬退火算法179
6.8遺傳算法181
7.1上Hessenberg矩陣和QR分解190
7.1.1化矩陣為上Hessenberg矩陣190
7.1.2矩陣的QR分解192
7.2乘冪法與反冪法193
7.2.1乘冪法193
7.2.2反冪法195
7.2.3移位反冪法196
7.3Jacobi 方法198
7.4對稱QR方法201
7.5QR方法203
7.5.1上Hessenberg的QR方法203
7.5.2原點移位的QR方法204
7.5.3雙重步QR方法207
8.1疊代法211
8.2疊代法的加速收斂214
8.2.1Aitken加速法214
8.2.2Steffensen加速法215
8.3二分法217
8.4試位法219
8.5牛頓拉夫森法220
8.6割線法225
8.7改進的牛頓法228
8.8Halley法233
8.9Brent法236
8.10拋物線法240
9.1不動點疊代法245
9.2牛頓法247
9.3修正牛頓法250
9.4擬牛頓法252
9.4.1Broyden方法252
9.4.2DFP方法255
9.4.3BFS方法258
9.5數值延拓法260
9.6參數微分法263
10.1Euler方法266
10.1.1Euler方法266
10.1.2改進的Euler方法269
10.2RungeKutta方法271
10.2.1二階RungeKutta方法272
10.2.2三階RungeKutta方法274
10.2.3四階RungeKutta方法276
10.3高階RungeKutta方法279
10.3.1KuttaNystrm五階六級方法279
10.3.2Huta六階八級方法281
10.4RungeKuttaFehlberg方法284
10.5線性多步法288
10.6預測校正方法293
10.6.1四階Adams預測校正方法293
10.6.2改進的Adams四階預測校正方法295
10.6.3Hamming預測校正方法298
10.7變步長的多步法302
10.8Gragg外推法305
10.9常微分方程組和高階微分方程的數值解法310
10.9.1常微分方程組的數值解法311
10.9.2高階微分方程的數值解法315
11.1打靶法317
11.1.1線性邊值問題的打靶法317
11.1.2非線性邊值問題的打靶法319
11.2有限差分法323
11.2.1線性邊值問題的差分方法323
11.2.2非線性邊值問題的差分方法327
12.1橢圓型方程331
12.2拋物型方程336
12.2.1顯式向前Euler方法337
12.2.2隱式向後Euler方法339
12.2.3CrankNicholson方法340
12.2.4二維拋物型方程344
12.3雙曲型方程348
12.3.1一維波動方程348
12.3.2二維波動方程352