前言
人類的進步離不開科學研究和實驗,數學是一門基礎科學理論,也是一種非常有用的技術。有識之士指出:“數學建模與仿真正成為工程設計過程中的關鍵工具。科學家正日益依賴於計算方法以及在仿真結果精度和可靠性方面的經驗。”目前,MATLAB已發展成為國際公認的優秀數學套用軟體之一,用於算法開發、數據可視化、數據分析以及數值計算的高級計算語言和互動式環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易於使用的環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,代表了當今國際科學計算軟體的先進水平,尤其在數學建模和仿真方面更是首屈一指。然而,要精通MATLAB所有功能幾乎是不可能的,所以針對需要有選擇的學習是一種事半功倍的方法。目前,關於MATLAB的書籍很多,數學建模的書也不少,但是真正將MATLAB與數學建模和仿真結合在一起的數據卻不多。本書正是基於此從數學建模與仿真的角度來介紹MATLAB的套用,充分使用MATLAB的功能,使抽象、枯燥的套用數學變得直觀、明了和有趣,是從簡單算例通向科學研究和工程設計實際問題的一條捷徑。
本書針對MATLAB的學習特點,結合作者多年使用MATLAB的教學和實踐經驗,由淺入深、圖文並茂,詳細介紹了數值計算、符號運算、圖形圖像和Simulink仿真等方面的內容。在講解的過程中配合以大量實例操作,使讀者循序漸進地熟悉軟體,學習軟體,掌握軟體。每章都是從最基礎知識開始介紹,然後是實例分析,前10章還配有習題,使理論與實踐緊密結合。本書共15章,各章主要內容如下:
內容簡介
本書從數學建模與仿真的角度對MATLAB進行詳細介紹和講解。全書共2篇,即基礎篇和套用篇,涵蓋絕大部分數學建模問題的MATLAB求解方法。前10章為基礎篇,講解有關MATLAB的基礎知識,包括MATLAB的入門、數值運算、符號運算和圖形功能、M檔案編程、Simulink仿真模型和科學計算等內容,在此基礎上介紹套用數學領域的問題求解,如基於MATLAB的微積分問題、線性代數、積分變換、常微分方程、機率論與數理統計問題的數值解法等。第11章至第15章為套用篇,介紹如何利用MATLAB求解實際的數學建模問題,給出了螞蟻算法、模擬退火算法、神經元網路、圖論算法和遺傳算法等詳細的算法原理、問題描述、數學模型建立與求解、模型驗證和仿真代碼的全部建模過程。本書適合作為各大中專院校理工科學生的專業教材,也可作為廣大科研人員、學者、工程技術人員及MATLAB專業人員的參考用書。
作者簡介
王健 博士(後),副教授,哈爾濱理工大學計算機科學與技術學院碩士生導師。近年來一直從事有關可信計算及認知網路等方面相關理論研究及套用系統研發,作為骨幹成員參加了國家自然科學基金、高等學校博士點專項基金及863計畫等科研項目的研究工作。在包括計算機研究與發展、通信學報、高技術通訊、LNCS等在內的國內外期刊會議發表學術論文30餘篇,其中被SCI/EI檢索20餘篇。在計算機網路仿真模擬方面有十多年的科研經驗。在實踐方面,作者團隊多年來一直從事MATLAB理論研究工作,熟悉MATLAB並掌握該領域的發展方向,具有紮實的理論基礎和豐富的實踐經驗。
9.6本章小結
9.7習題
第10章MATLAB在數理統計中的套用
10.1數據分析
10.1.1總體與樣本
10.1.2幾種均值
10.1.3數據比較
10.1.4累和與累積
10.1.5簡單隨機樣本
10.1.6有限總體的無放回樣本
10.2離散型隨機變數的機率及機率分布
10.2.1幾個常見分布
10.2.2機率密度函式值
10.3連續型隨機變數的機率及其分布
10.3.1幾個常見的分布
10.3.2機率密度函式值
10.3.3累積機率函式值(分布函式)
10.3.4逆累計機率值
10.4統計量
10.4.1樣本k階矩
10.4.2順序統計量
10.4.3經驗分布函式
10.5數字特徵
10.5.1隨機變數的期望
10.5.2方差與標準差
10.5.3常用分布的期望與方差求法
10.6二維隨機向量的數字特徵
10.6.1期望
10.6.2協方差
10.6.3相關係數
10.7參數估計
10.7.1點估計
10.7.2區間估計
10.7.3最大似然估計法
10.8假設檢驗
10.8.1假設檢驗的基本概念
10.8.2正態總體參數的假設檢驗
10.8.33個常用的非參數檢驗
10.8.4檢驗的功效函式
10.8.5總體分布的假設檢驗
10.9本章小結
10.10習題
第11章蟻群算法的仿真與實現
11.1蟻群算法介紹
11.2蟻群算法原理
11.2.1蟻群行為描述
11.2.2基本蟻群算法的機制原理
11.2.3對螞蟻個體的抽象
11.2.4問題空間的描述
11.2.5尋找路徑的抽象
11.2.6信息素揮發的抽象
11.2.7啟發因子的引入
11.3基本蟻群算法的數學模型
11.3.1P、NP、NPC、NPhard問題描述
11.3.2基本蟻群算法的數學模型
11.4基本蟻群算法的實現步驟
11.5蟻群算法的MATLAB實現
11.6用蟻群算法建模求解旅行商問題
11.6.1問題描述與算法思想
11.6.2實現步驟
11.6.3算法驗證及結論
11.7用蟻群算法建模求解智慧型組卷系統問題
11.7.1試卷質量評價的指標體系構建
11.7.2自動組卷系統的數學模型
11.7.3蟻群算法的自動組卷問題求解
11.8本章小結
第12章模擬退火算法的仿真與實現
12.1模擬退火算法介紹
12.1.1物理退火過程
12.1.2Metropolis準則
12.1.3模擬退火算法要素
12.1.4模擬退火算法流程圖
12.2模擬退火算法原理
12.2.1基本內容
12.2.2算法描述
12.2.3模擬退火算法的偽代碼實現
12.2.4旅行商問題的解決
12.3調度問題的算法實現
12.3.1解空間的實現
12.3.2目標函式
12.3.3初始解的選擇
12.3.4新解的產生和接受機制
12.3.5停止準則的擴充
12.3.6仿真結果及分析
12.4模擬退火算法的改進
12.5本章小結
第13章神經元網路及MATLAB仿真
13.1神經元網路的簡介
13.1.1神經元網路的發展史
13.1.2生物神經元
13.2人工神經網路結構
13.2.1人工神經網路簡介
13.2.2人工神經元模型
13.2.3神經元作用函式
13.2.4神經網路模型
13.2.5人工神經網路的典型結構
13.3神經網路的學習方式和學習規則
13.3.1神經網路的學習方式
13.3.2BP神經網路及MATLAB實現
13.4神經元網路的算法實例
13.5本章小結
第14章圖論算法及MATLAB仿真
14.1圖論的起源
14.2相關概念
14.2.1圖
14.2.2特殊圖類
14.2.3有向圖
14.2.4路
14.3圖的矩陣表示
14.3.1鄰接矩陣
14.3.2關聯矩陣
14.4圖論的基本性質和定理
14.5計算有向圖的可達矩陣的算法及其MATLAB實現
14.6最短路問題
14.7連通圖最短距離的算法實現
14.7.1問題描述與算法思想
14.7.2實現步驟
14.7.3算法驗證及MATLAB實現
14.8Dijkstra算法
14.8.1問題描述與算法思想
14.8.2Dijkstra算法的步驟
14.8.3算法驗證及MATLAB實現
14.9WarshallFloyd算法
14.9.1WarshallFloyd算法的基本思想
14.9.2WarshallFloyd算法的基本步驟
14.9.3WarshallFloyd算法的MATLAB實現
14.10動態規劃求解最短路徑
14.10.1問題描述與算法思想
14.10.2實現步驟
14.10.3算法驗證及MATLAB實現
14.11棋盤覆蓋問題
14.11.1問題描述與算法思想
14.11.2實現步驟
14.11.3算法驗證及MATLAB實現
14.12最優樹的套用實例
14.12.1問題描述與算法思想
14.12.2實現步驟
14.12.3算法驗證及MATLAB實現
14.13本章小結
第15章遺傳算法的仿真與實現
15.1遺傳算法介紹