數(shù)值分析原理及MATLAB實驗依據(jù)數(shù)值分析的基本原理,從MATLAB程序設(shè)計的角度出發(fā),較系統(tǒng)地闡述了數(shù)值分析的理論與算法。全書共9章,包括緒論、非線性方程求解、線性方程組的解法、非線性方程組的解法、插值法、函數(shù)逼近與曲線擬合、數(shù)值積分與數(shù)值微分、常微分方程求解、矩陣特征值計算。本書著重于算法設(shè)計與編程實現(xiàn),強調(diào)通過理論聯(lián)系實際提高動手編程能力! ”緯勺鳛閿(shù)學(xué)、計算機、物理、工程類專業(yè)的本科生與研究生教材,也可供從事科學(xué)與工程計算的科技工作者參考。
本書特別針對具有不同數(shù)值分析基礎(chǔ)的學(xué)生編寫,通過突出數(shù)值分析基本原理的思想性、系統(tǒng)性、實踐性、應(yīng)用性以及如何使用MATLAB語言在計算機上的實現(xiàn),著重培養(yǎng)大學(xué)生、碩士生對數(shù)值分析原理的興趣以及編程的操作技能。
隨著計算科學(xué)的迅速發(fā)展及在其他科學(xué)技術(shù)問題中的廣泛應(yīng)用,繼理論方法和實驗方法之后,數(shù)值計算方法已成為當(dāng)今科學(xué)研究的第三種基本手段,它是計算數(shù)學(xué)、計算機科學(xué)與其他工程學(xué)科相結(jié)合的產(chǎn)物。目前,科學(xué)技術(shù)已經(jīng)進入納米時代互聯(lián)網(wǎng)時代,各種高科技領(lǐng)域涌現(xiàn)出大量高度復(fù)雜的計算問題,使得發(fā)展、推廣數(shù)值計算方法變得尤為重要。學(xué)習(xí)數(shù)值分析,不但要掌握其基本的理論與算法,還必須通過計算機編程實現(xiàn)各種算法,從而進一步理解相關(guān)的算法理論。 本書使用Matlab語言在計算機上實現(xiàn)各種數(shù)值算法,解決實際應(yīng)用問題,其主要依據(jù)如下:(1) Matlab本身就是一種科學(xué)計算環(huán)境,其數(shù)值計算功能強大,已被廣泛應(yīng)用于求解科學(xué)工程中的計算問題。(2) Matlab具有豐富的數(shù)學(xué)函數(shù),在學(xué)習(xí)有關(guān)數(shù)值分析內(nèi)容時可直接使用這些函數(shù),加深對數(shù)值分析理論的理解。例如,在Matlab中執(zhí)行命令x=A\\b可方便地求解線性方程組或小二乘問題;(3) Matlab體現(xiàn)了當(dāng)前科學(xué)計算的發(fā)展趨勢,如盡量使用向量運算而不是使用循環(huán)語句(可以節(jié)約大量計算時間),同時提供了豐富的圖形工具,易于對計算結(jié)果進行可視化。為了使讀者更易于理解,本書中大部分程序仍然使用了循環(huán)語句,這是因為本書中的程序所需計算時間都是非常短的,在幾秒內(nèi)就可以給出計算結(jié)果,但是在大型的科學(xué)計算中,程序的運行效率是必須考慮的重要問題之一。(4) 相比于其他編程語言,Matlab語法簡潔、易于掌握,可節(jié)省編程實驗時間! ”緯闹饕獌(nèi)容與一般的數(shù)值分析教材基本一致,包括(非)線性方程(組)的求解、插值法、函數(shù)逼近與曲線擬合、數(shù)值積分與數(shù)值微分、常微分方程求解、矩陣特征值問題的求解,但本書著重于算法設(shè)計與編程實現(xiàn),強調(diào)通過理論聯(lián)系實際提高學(xué)生的動手編程能力。為此,本書力求做到以下幾點:(1) 對相關(guān)數(shù)學(xué)理論、相關(guān)算法的介紹盡量簡明扼要。(2) 強調(diào)算法的實際應(yīng)用與分析比較,對書中出現(xiàn)的算法以程序代碼的形式描述,還對某些案例從時間上和空間上分析了其復(fù)雜度及在實際應(yīng)用中的細(xì)節(jié)問題。(3) 從讀者的角度出發(fā),增強了可讀性與實用性。 本書中的所有案例均給出了Matlab源程序。本書適用于數(shù)學(xué)、計算機、物理、工程類專業(yè)的本科生與研究生,也適用于從事科學(xué)與工程計算的科技工作者。本書提供了豐富多彩的案例,并對每個案例的應(yīng)用注意事項及結(jié)果進行了必要的分析。本書中所有的源代碼只需在默認(rèn)安裝的Matlab上即可執(zhí)行,并不依賴于第三方插件。所有掌握高等數(shù)學(xué)和Matlab語法的讀者在看完本書后,均可以得心應(yīng)手地、高效簡潔地、精確地解決各類數(shù)值分析中常見的問題! (shù)值分析博大精深,新算法層出不窮。編寫本書是一個小小的嘗試,希望為剛剛接觸這個領(lǐng)域的讀者打好基礎(chǔ)、產(chǎn)生興趣起到拋磚引玉的作用。由于作者水平有限,本書的選材和內(nèi)容的敘述難免存在不妥之處,誠懇地希望讀者和同行們批評指正。
曹艷華,華東交通大學(xué)理學(xué)院數(shù)學(xué)系副主任、博士、副教授,長期從事數(shù)值分析的教學(xué)與科研工作,主持完成國家自然科學(xué)基金、江西省自然科學(xué)基金項目多項,在SCI及核心期刊發(fā)表論文40余篇,參與出版教材多部。
第1章緒論(1)
1.1Matlab使用簡介(1)
1.2誤差分析(7)
本章小結(jié)(12)
第2章非線性方程求解(13)
2.1Matlab中非線性方程求根函數(shù)(13)
2.2二分法與黃金分割法(16)
2.3不動點迭代法(20)
2.4弦截法與拋物線法(25)
2.5牛頓迭代法(31)
2.6其他實用的方程求根技術(shù)(36)
第3章線性方程組的解法(41)
3.1高斯消去法和高斯選主元消去法(41)
3.2矩陣分解法求解線性方程組(47)
3.3迭代法求解線性方程組(53)
3.4梯度法(65)
3.5特殊解法三對角矩陣的追趕法(70)
3.6有無窮組解的線性方程組的解法(72)
本章小結(jié)(73)
第4章非線性方程組的解法(74)
4.1Matlab中非線性方程組的求根函數(shù)(74)
4.2不動點迭代方法(76)
4.3高斯賽德爾迭代法(77)
4.4牛頓迭代法(79)
本章小結(jié)(88)
第5章插值法(89)
5.1Matlab中的插值函數(shù)(89)
5.2拉格朗日插值法(100)
5.3艾特肯逐步插值法(102)
5.4牛頓插值法(104)
5.5埃爾米特插值法(110)
5.6插值中的龍格現(xiàn)象(112)
5.7有理分式插值法(114)
本章小結(jié)(117)
第6章函數(shù)逼近與曲線擬合(118)
6.1函數(shù)逼近(118)
6.2幾類正交多項式(119)
6.2正交函數(shù)作平方逼近(126)
6.4曲線擬合(134)
6.5一致逼近(145)
本章小結(jié)(148)
第7章數(shù)值積分與數(shù)值微分(149)
7.1Matlab中的不定積分與定積分函數(shù)(149)
7.2梯形求積公式(152)
7.3辛普森求積公式(155)
7.4牛頓科茨求積公式(157)
7.5高斯系列求積公式(159)
7.6龍貝格求積公式(171)
7.7求導(dǎo)與微分(172)
7.8數(shù)值求導(dǎo)公式(176)
本章小結(jié)(187)
第8章常微分方程求解(188)
8.1Matlab中的求解函數(shù)(188)
8.2簡單的數(shù)值方法(193)
8.3龍格庫塔法(200)
8.4預(yù)估校正法(202)
8.5一階微分方程組的數(shù)值解法(206)
8.6邊值問題的數(shù)值方法(208)
本章小結(jié)(213)
第9章矩陣特征值計算(214)
9.1特征值與特征向量(214)
9.2條件數(shù)與病態(tài)矩陣(214)
9.3相似變換(217)
9.4特征值求法(219)
本章小結(jié)(238)
參考文獻(239)