《計算方法及其MATLAB實現(xiàn)》將計算方法理論與MATLAB軟件進行了有機結(jié)合,在簡單介紹軟件功能之后,分章講述數(shù)值計算的基本原理和方法,并用MATLAB軟件予以實現(xiàn)。按照“重視實用性和可操作性”的工程教育理念,本著“少而精”的原則,以計算方法為基礎(chǔ)、MATLAB軟件為工具、實現(xiàn)數(shù)值計算為目的,對全書內(nèi)容進行精心組織和編排。
《計算方法及其MATLAB實現(xiàn)》主要包括MATLAB基礎(chǔ)、誤差和MATLAB的計算精度、插值和數(shù)據(jù)擬合、非線性方程組、線性代數(shù)方程組、數(shù)值微積分、常微分方程組等共7章內(nèi)容。
既可用作普通高等院校各類專業(yè)計算方法(數(shù)值計算)課程的教材,也可作為科技工作者初學MATLAB軟件和進行數(shù)值計算的參考書。
實驗研究、理論分析和科學計算是當代科學研究中不可或缺的三種主要手段。處于信息時代的今天,科學計算則是以數(shù)學模型為基礎(chǔ)、計算機及其軟件為工具進行的一種模擬研究,也是當今盛行的計算機仿真技術(shù)的重要基石。理工類高等教育中,已經(jīng)越來越重視如何培養(yǎng)學生的科學計算能力。高校的許多理工財經(jīng)類專業(yè)都開設(shè)有“計算方法”或“數(shù)值計算”課程,它已成為一門重要的基礎(chǔ)技術(shù)課。
與數(shù)學和計算機類專業(yè)不同,對于大多數(shù)應用類學科,學習這門課程不是為了“研究”和“創(chuàng)造”算法,而是為了“選擇”和“使用”算法。本書的選材和內(nèi)容安排都定位于應用類學科,同時兼顧了一般科技工作者的實際需求。
當今的數(shù)值計算,一定需要理論上的指導,但落腳點則必然是計算。在計算機高度發(fā)展和普及的今天,科技工作者科學算法意識的建立和計算能力的培養(yǎng),必須在計算機環(huán)境下、在適當?shù)钠脚_上進行實際操作演練,只有這樣才符合“重視實用性和可操作性”的工程教育思想。我們從20世紀末就開始進行把計算方法和MATLAB軟件結(jié)合起來的教學探索,在多次完善修改講義和積累經(jīng)驗的基礎(chǔ)上,2006年出版了《基于MATLAB的實用數(shù)值計算》 一書(參考文獻[6])。轉(zhuǎn)眼又過去6年多了,這次本著“少而精”的原則,“以計算方法為基礎(chǔ),MATLAB軟件為工具,實現(xiàn)數(shù)值計算為目的”,對原書進行了較大幅度的“減肥”和改寫。同時參照了許多國內(nèi)外同類書籍,與個別同類教材追求“洋、典、全”不同,本書著重結(jié)合我國實際情況,以“實用”為主線進行了重新編寫,使其條理更清晰,敘述更簡潔,內(nèi)容更豐富。
雖然書名改成《計算方法及其MATLAB實現(xiàn)》,摒棄了過分強調(diào)軟件功能之嫌,但也并不局限于傳統(tǒng)“計算方法”的內(nèi)容,而是將兩者做了適當?shù)娜诤。比如,增強了有實用價值的MATLAB符號計算功能; 在使用軟件進行數(shù)值計算時,基本上都只使用“指令”完成,盡量不用編程,使數(shù)值計算像使用計算器一樣方便; 為了實用,本書盡量不涉及編輯永久文件類的內(nèi)容,在必須編程的地方,也盡量使用新增的“臨時文件”,因為它的編輯和使用都是在指令窗中完成的,快捷方便,……如果讀者學完這本書,能在今后的學習和工作中,不再用繁瑣耗時費力的手工演算做數(shù)值計算,而改用計算機進行,那就是本書的最大成功。
本書不僅可以用作非計算數(shù)學類專業(yè)學習“計算方法”課程的教材,也可作為學習MATLAB軟件的入門書,同時可供科技工作者進行數(shù)值計算時參考。
由于編者水平所限,書中不當與錯誤之處在所難免,懇請廣大讀者不惜賜教!
編者2013年5月(電子信箱: aushixm@126.com,wzhi@imu.edu.cn)
第1章 MATLAB基礎(chǔ)
1.1 指令窗
1.1.1 快捷按鈕
1.1.2 功能鍵
1.2 查詢方法
1.2.1 常用查詢指令
1.2.2 演示窗
1.3 數(shù)據(jù)類型及其顯示
1.3.1 數(shù)據(jù)類型
1.3.2 標識符與數(shù)據(jù)顯示
1.4 數(shù)值矩陣
1.4.1 輸入與刪改
1.4.2 矩陣算法
1.4.3 數(shù)組算法
1.4.4 多項式算法
第1章 MATLAB基礎(chǔ)
1.1 指令窗
1.1.1 快捷按鈕
1.1.2 功能鍵
1.2 查詢方法
1.2.1 常用查詢指令
1.2.2 演示窗
1.3 數(shù)據(jù)類型及其顯示
1.3.1 數(shù)據(jù)類型
1.3.2 標識符與數(shù)據(jù)顯示
1.4 數(shù)值矩陣
1.4.1 輸入與刪改
1.4.2 矩陣算法
1.4.3 數(shù)組算法
1.4.4 多項式算法
1.5 符號矩陣
1.5.1 符號變量和符號表達式
1.5.2 輸入和刪改
1.5.3 運算和顯示
1.6 基本繪圖方法
1.6.1 圖形窗
1.6.2 二維圖的繪制
1.6.3 輔助指令
1.6.4 三維圖的繪制
1.7 MATLAB語言編程
1.7.1 臨時文件
1.7.2 永久文件
*1.7.3 編程知識
思考與練習題
第2章 誤差和MATLAB的計算精度
2.1 誤差
2.1.1 誤差的來源
2.1.2 誤差的基本概念
2.2 MATLAB軟件的計算精度
2.2.1 浮點數(shù)及其運算特點
2.2.2 軟件的計算精度
2.3 算法的設(shè)計
2.3.1 算法的數(shù)值穩(wěn)定性
2.3.2 設(shè)計算法的原則
思考與練習題
第3章 插值和擬合
3.1 多項式插值
3.1.1 基本原理
3.1.2 兩種常見插值法
3.1.3 誤差估計
3.2 分段插值
3.2.1 分段三次插值
3.2.2 三次樣條插值
3.3 插值法的MATLAB實現(xiàn)
3.3.1 一元函數(shù)插值
3.3.2 三次插值及其樣條插值
3.4 擬合法
3.4.1 最小二乘法
3.4.2 擬合法的MATLAB實現(xiàn)
3.4.3 用多項式擬合函數(shù)或數(shù)據(jù)
思考與練習題
第4章 非線性方程組
4.1 數(shù)值解的基本原理
4.1.1 二分法
4.1.2 迭代法
4.2 MATLAB 軟件的實現(xiàn)
4.2.1 多項式求根指令
4.2.2 求函數(shù)零點指令
4.3 方程組的數(shù)值解
4.3.1 迭代法的原理
4.3.2 MATLAB軟件的實現(xiàn)
4.4 方程組的解析解
思考與練習題
第5章 線性代數(shù)方程組
5.1 求解原理
5.1.1 方程組的矩陣形式
5.1.2 方程組解的性質(zhì)
5.2 齊次線性方程組
5.2.1 矩陣零空間的MATLAB求解
5.2.2 方程組的MATLAB求解
5.3 非齊次線性代數(shù)方程組
5.3.1 恰定方程組
5.3.2 欠定方程組
5.3.3 超定方程組
5.4 迭代法
5.4.1 雅可比和賽德爾迭代法
5.4.2 迭代法的斂散性
5.4.3 范數(shù)和譜半徑
5.4.4 特征值和特征向量
5.4.5 用MATLAB軟件求特征值
思考與練習題
第6章 數(shù)值微積分
6.1 數(shù)值微分
6.1.1 中點法
6.1.2 插值型求導公式
6.2 牛頓?柯特斯積分公式
6.2.1 公式的推導
6.2.2 求積公式的誤差
6.2.3 積分的近似公式
6.3 復合求積法
6.3.1 基本原理
6.3.2 復合積分法的MATLAB實現(xiàn)
6.4 數(shù)值積分法
6.4.1 變步長復合拋物線法
6.4.2 MATLAB實現(xiàn)
6.5 符號積分法
思考與練習題
第7章 常微分方程組
7.1 常微分方程數(shù)值解
7.1.1 一階常微分方程
7.1.2 泰勒展開法
7.1.3 高階微分方程
7.2 數(shù)值解的MATLAB實現(xiàn)
7.2.1 臨時文件
*7.2.2 永久文件
7.3 解析解的MATLAB符號法
7.3.1 微分方程的符號法格式
7.3.2 符號法求解指令
思考與練習題
附錄A 思考與練習題部分答案或提示
附錄B 書中MATLAB指令索引
參考文獻