MATLAB 與數學建模

謝中華

  • 出版商: 北京航空航天大學
  • 出版日期: 2019-09-24
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 裝訂: 平裝
  • ISBN: 7512430523
  • ISBN-13: 9787512430525
  • 相關分類: Matlab
  • 下單後立即進貨 (約4週~6週)

  • MATLAB 與數學建模-preview-1
MATLAB 與數學建模-preview-1

買這商品的人也買了...

商品描述

基本信息

數學是一門研究現實世界數量關系和空間形式的科學。很多人在學習數學類課程的時候,都會有一定的困惑:數學這麽難,學習數學到底有什麽用? 數學的難體現在大多數的數學知識都很抽象,讓人很難聯系實際。其實數學正是來源於實際,是從實際中抽象出來的。如果能夠嘗試用抽象的數學知識去解決實際問題,一切將變得具象起來,數學的學習會變得更有意思,也會更簡單。在人類的發展歷史中,許多科學家用數學模型來描述客觀世界,促進了人類文明的發展,諸如17世紀牛頓提出的萬有引力定律、20世紀愛因斯坦提出的廣義相對論,這些都是數學成功應用的典範。

將數學應用於實際,這正是數學建模所要研究的內容。現如今,數學已經應用於日常生活的方方面面,數學建模也越來越受到人們的重視,幾乎所有高校都開設了數學建模課程,以此提高學生們應用數學知識解決實際問題的能力,甚至有些中小學也在嘗試開展數學建模活動。放眼世界,每年都會有大大小小的各類數學建模競賽活動,比較著名的有“全國大學生數學建模競賽”“中國研究生數學建模競賽”和“美國大學生數學建模競賽”。筆者每年都要指導學生參加這些競賽活動,也多次獲得優異的成績。

用數學知識解決實際問題通常包括兩個基本步驟:首先,需要把問題進行抽象,用數學的語言去描述,即在一定的合理假設下建立合適的數學模型;其次,建立數學模型後,需要選擇合適的工具求解模型。這里的求解並不只是簡單的公式推導,大多數情況下不能靠手算實現,必須要借助電腦軟件來實現。筆者在指導學生參加數學建模競賽的過程中,也切身體會到學生面臨的最大困難往往並不是建立模型,而是編寫程序求解模型。在眾多的科學計算軟件中,MATLAB是求解數學模型的利器。相比於其他軟件,MATLAB有“草稿紙式”的編程語言,還有包羅萬象的工具箱,易學易用,用戶不僅可以調用其內部函數進行“傻瓜式”的計算,還可以根據自己的算法進行擴展編程。本書將結合數學建模案例全面介紹常用的數學建模方法及其MATLAB實現。相比於其他同類型的著作,本書的特色是雙系統性,對數學建模方法與MATLAB編程語言的介紹都是自成系統的,當然也是緊密結合的。本書既可作為MATLAB從基礎到提高的進階教程,也可作為數學建模與數學實驗的教程。

數學學科的分支有很多,這也就決定了數學建模的方法也有很多。對比近些年的數學建模競賽賽題不難發現,數學建模所要解決的實際問題往往是開放性的,並沒有一個標準答案,解決問題的過程也是比較復雜的,會用到多種不同的建模方法。大致總結一下,常用的數學模型與建模方法包括:積分模型、代數方程模型、常微分方程模型、偏微分方程模型、回歸模型、線性規劃模型、非線性規劃模型、多目標規劃模型、整數規劃模型、圖與網絡優化模型、多項式與插值擬合方法、基本概率統計方法、方差分析方法、聚類分析方法、判別分析與模式識別方法、主成分分析法、遺傳算法、模擬退火算法、粒子群算法、蟻群算法、人工神經網絡方法、排隊論方法、層次分析法、模糊綜合評價法、圖像處理方法、Simulink建模模擬方法等。針對具體問題,如何從眾多的建模方法中選擇合適的方法,建立合適的數學模型,這是讓很多人頗感困惑的問題,筆者希望本書中大量的案例能給讀者帶來啟發。

筆者長期從事本科生“數學建模與數學實驗”“數據分析與數學軟件實踐”“高等數學”“線性代數”“概率論與數理統計”,碩士研究生“工程數學”,博士研究生“應用數學基礎”等課程的教學。在教學中,筆者把MATLAB和數學建模方法引入課堂,深受學生歡迎。本書也是筆者長期教學經驗的總結。

本書章節是這樣安排的:第1章,MATLAB數組運算;第2章,MATLAB程序設計;第3章,MATLAB繪圖與可視化;第4章,MATLAB數據管理;第5章,MATLAB符號計算;第6章,MATLAB數值計算;第7章,多項式與插值擬合;第8章,常用統計建模方法與MATLAB求解;第9章,常用優化建模方法與MATLAB求解;第10章,人工神經網絡方法;第11章,排隊論方法;第12章,多指標綜合評價方法;第13章,MATLAB圖像處理基礎;第14章,Simulink建模與模擬;第15章,全國大學生數學建模競賽真題解析。在章節順序的安排上,以MATLAB軟件為切入點,結合大量案例循序漸進地介紹常用的數學建模方法及其MATLAB實現,最後通過真題解析進行實戰演練。相信通過本書的學習,讀者一定能夠在短時間內提高解決實際問題的能力,成為數學建模的高手!

針對本書,MATLAB中文論壇(http://www.ilovematlab.cn/)特別提供了讀者與作者在線交流的平臺https://www.ilovematlab.cn/forum-275-1.html,筆者希望在這個平臺上與廣大讀者作面對面的交流,解決大家在學習本書過程中遇到的問題,分享彼此的學習經驗,共同提高數學建模和模型求解的能力!

本書的所有數據和源程序可通過掃描本頁的二維碼→關註“北航科技圖書”公眾號→ 回復“3052”免費獲得。所有程序在MATLAB R2018b(MATLAB 9.5)下通過了驗證,均能夠正確執行,讀者可將自己的MATLAB更新至較新的版本,以免出現不必要的問題。

在本書的寫作過程中,筆者得到了北京航空航天大學出版社陳守平編輯、天津工業大學汪曉銀教授、MathWorks公司工程師卓金武、MATLAB 中文論壇管理員Smile(呂凌曦)和MATLAB技術論壇管理員Dynamic(詹惠崇)的支持與鼓勵。在此,向他們表示最真誠的謝意! 此外,筆者也得到了天津科技大學理學院和數學系領導及同事們的支持與鼓勵。張大克、邱玉文、王霞、邢化明、王玉傑、崔家峰、劉寅立、賈學龍、王洪武、張立東、孟祥波、李玉峰、廖嘉、夏國坤和孫明晶為本書提出了寶貴的修改意見,在此一並表示最誠摯的感謝!

最後,還要感謝我的妻兒,他們默默地為我付出,支持我順利完成本書的寫作。在此,向我的妻子和兒子表示最衷心的感謝!

由於作者水平有限,書中若存在疏漏和不當之處,懇請廣大讀者和同行批評指正! 作者郵箱:xiezhh@tust.edu.cn。本書勘誤網址:https://www.ilovematlab.cn/thread-578894-1-1.html。

謝中華

2019年6月

作者簡介

謝中華,副教授,天津市現場統計研究會理事,資深MATLAB培訓師,MATLAB技術論壇創始人之一,已出版書籍《MATLAB統計分析與應用:40個案例分析》《MATLAB從零到進階》《新編MATLAB/Simulink自學一本通》。長期從事數學建模及MATLAB相關課程的教學與培訓,多次指導本科生獲得全國大學生數學建模競賽國家一等獎,長期參與中國研究生數學建模競賽閱卷工作,多次指導碩士生獲得中國研究生數學建模競賽國家一等獎。精通MATLAB、SAS、R語言等軟件,擅長多種軟件“協同作戰”,有著紮實的理論基礎和豐富的實戰經驗。

目錄大綱

目錄
第1章 MATLAB數組運算 1
1.1 MATLAB工作界面佈局 1
1.2 變量的定義與數據類型 2
1.2.1 變量的定義與賦值 2
1.2.2 MATLAB中的常量 2
1.2.3 MATLAB中的關鍵字 4
1.2.4 數據類型 4
1.2.5 數據輸出格式 5
1.3 常用函數 5
1.4 數組的定義 7
1.4.1 向量的定義 7
1.4.2 矩陣的定義 8
1.4.3 特殊矩陣 10
1.4.4 高維數組 12
1.4.5 訪問數組元素 13
1.4.6 定義元胞數組(Cell Array)  14
1.4.7 定義結構體數組 15
1.4.8 幾種數組的轉換 16
1.4.9 定義數據集數組 18
1.4.10 定義表格型數組 18
1.5 矩陣運算 19
1.5.1 矩陣的算術運算 19
1.5.2 矩陣的關系運算 21
1.5.3 矩陣的邏輯運算 21
1.5.4 矩陣的其他常用運算 22

第2章 MATLAB程序設計 26
2.1 MATLAB語言的流程結構 26
2.1.1 條件控制結構 26
2.1.2 循環結構 27
2.1.3 try catch試探結構 28
2.1.4 break、continue、return和pause函數 29
2.2 編寫自己的MATLAB程序 29
2.2.1 腳本文件 29
2.2.2 函數文件 29
2.2.3 匿名函數 31
2.2.4 子函數與嵌套函數 31
2.2.5 函數的遞歸調用 33
2.2.6 MATLAB常用快捷鍵和快捷命令 34

第3章 MATLAB繪圖與可視化 36
3.1 圖形對象與圖形對象句柄 36
3.1.1 句柄式圖形對象 36
3.1.2 獲取圖形對象屬性名稱和屬性值 37
3.1.3 設置圖形對象屬性值 38
3.2 二維圖形的繪制 38
3.2.1 基本二維繪圖函數 38
3.2.2 二維圖形修飾和添加註釋 41
3.2.3 特殊二維繪圖函數 46
3.3 三維圖形的繪制 48
3.3.1 常用三維繪圖函數 48
3.3.2 三維圖形的修飾和添加註釋 53
3.4 圖形的復制和輸出 54
3.4.1 把圖形復制到剪貼板 54
3.4.2 把圖形導出到文件 55

第4章 MATLAB數據管理 56
4.1 利用數據導入向導導入數據 56
4.1.1 利用數據導入向導導入TXT文件 56
4.1.2 利用數據導入向導導入Excel文件 58
4.2 調用函數讀取外部數據 59
4.2.1 調用dlmread函數讀取TXT數據文件 59
4.2.2 調用textscan函數讀取TXT數據文件 60
4.2.3 調用xlsread函數讀取Excel數據文件 65
4.2.4 調用dataset函數創建數據集 67
4.2.5 調用readtable函數創建數據表 68
4.3 把數據寫入文件 68
4.3.1 調用save函數保存計算結果 69
4.3.2 調用xlswrite函數把數據寫入Excel文件 70

第5章 MATLAB符號計算 72
5.1 符號對象和符號表達式 72
5.1.1 創建符號對象 72
5.1.2 符號變量取值域的限定 73
5.1.3 創建符號表達式 73
5.1.4 符號表達式的常用運算 75
5.1.5 符號運算中的轉換操作 77
5.1.6 符號函數繪圖 79
5.2 符號微積分 80
5.2.1 極限、導數和級數的符號計算 80
5.2.2 符號積分計算 82
5.3 符號方程求解 82
5.3.1 符號代數方程求解 82
5.3.2 符號常微分方程求解 84

第6章 MATLAB數值計算 86
6.1 微積分問題的數值解 86
6.1.1 離散數據求差分及導數 86
6.1.2 離散數據求積分 87
6.1.3 一元或多元函數的數值積分 88
6.2 代數方程與方程組的數值解 89
6.3 常微分方程與方程組的數值解 94
6.3.1 求解初值問題 94
6.3.2 求解延遲微分方程(DDE) 99
6.3.3 求解邊值問題 102
6.4 偏微分方程與方程組的數值解 104
6.4.1 偏微分方程的基本概念 104
6.4.2 有限差分法 105
6.4.3 偏微分方程求解函數 109
6.4.4 雙曲型偏微分方程求解實例 110
6.4.5 拋物型偏微分方程求解實例 116
6.4.6 橢圓型偏微分方程求解實例 117
6.4.7 pdepe函數應用實例 120
6.4.8 偏微分方程可視化求解工具 124

第7章 多項式與插值擬合 128
7.1 多項式擬合 128
7.1.1 多項式擬合的數學模型 128
7.1.2 多項式擬合的MATLAB實現 128
7.1.3 多項式回歸案例 129
7.2 插值問題的數學描述 132
7.2.1 什麽是插值 132
7.2.2 一維插值問題的數學描述 132
7.2.3 二維插值問題的數學描述 133
7.2.4 三次樣條插值的數學描述 133
7.3 MATLAB常用插值函數 134
7.4 插值擬合案例 134
7.4.1 一維插值 134
7.4.2 二維插值 138
7.4.3 高維插值 143

第8章 常用統計建模方法與MATLAB求解 145
8.1 描述性統計量和統計圖 145
8.1.1 描述性統計量 146
8.1.2 統計圖 148
8.2 參數估計 153
8.2.1 常見分佈的參數估計 153
8.2.2 自定義分佈的參數估計 154
8.3 正態總體參數的假設檢驗 155
8.3.1 總體標準差已知時的單個正態總體均值的U 檢驗 155
8.3.2 總體標準差未知時的單個正態總體均值的t檢驗 157
8.3.3 總體標準差未知時的兩個正態總體均值的比較t檢驗 158
8.3.4 總體均值未知時的單個正態總體方差的χ2 檢驗 160
8.3.5 總體均值未知時的兩個正態總體方差的比較F 檢驗 161
8.4 常用非參數檢驗 161
8.4.1 游程檢驗 162
8.4.2 符號檢驗 163
8.4.3 Wilcoxon符號秩檢驗 164
8.4.4 Mann Whitney秩和檢驗 165
8.4.5 分佈的擬合與檢驗 166
8.4.6 列聯表檢驗 169
8.5 方差分析 171
8.5.1 單因素方差分析 172
8.5.2 雙因素方差分析 175
8.5.3 方差分析的MATLAB實現 179
8.6 回歸分析 184
8.6.1 一元線性回歸 184
8.6.2 多元線性回歸 188
8.6.3 非線性回歸 191
8.6.4 回歸分析案例及MATLAB實現 194
8.7 聚類分析 214
8.7.1 距離和相似系數 214
8.7.2 系統聚類法 216
8.7.3 K均值聚類法 219
8.7.4 聚類分析的MATLAB函數 219
8.7.5 Q型聚類分析案例 220
8.7.6 R型聚類分析案例 223
8.8 判別分析 225
8.8.1 距離判別 225
8.8.2 貝葉斯判別 226
8.8.3 判別分析的MATLAB函數 227
8.8.4 判別分析案例 227
8.9 主成分分析 229
8.9.1 主成分分析的幾何意義 230
8.9.2 總體的主成分 230
8.9.3 樣本的主成分 232
8.9.4 主成分分析的MATLAB函數 233
8.9.5 主成分分析案例 233

第9章 常用優化建模方法與MATLAB求解 236
9.1 求解最優化問題的MATLAB函數 236
9.2 線性規劃和混合整數線性規劃 237
9.2.1 線性規劃和混合整數線性規劃的標準型 237
9.2.2 linprog和intlinprog函數的用法 238
9.2.3 線性規劃和混合整數線性規劃的案例 238
9.3 非線性規劃 240
9.3.1 無約束的非線性規劃 240
9.3.2 有約束的非線性規劃 241
9.4 多目標規劃 244
9.4.1 最大最小問題 244
9.4.2 多目標達到問題 247
9.5 圖與網絡優化 249
9.5.1 圖與網絡的基本概念 249
9.5.2 圖的矩陣表示 250
9.5.3 最小生成樹 252
9.5.4 最短路 253
9.5.5 最大流 257
9.6 常用智能優化算法 260
9.6.1 遺傳算法 260
9.6.2 模擬退火算法 262
9.6.3 粒子群算法 264
9.6.4 蟻群算法 267

第10章 人工神經網絡方法 274
10.1 人工神經元模型 274
10.1.1 生物神經元模型 274
10.1.2 人工神經元模型 274
10.2 神經網絡的網絡結構 275
10.3 神經網絡的學習方式與BP算法 276
10.3.1 學習方式 276
10.3.2 BP算法 276
10.4 MATLAB神經網絡工具箱常用函數 278
10.5 基於BP網絡的數據擬合 279
10.5.1 模型建立 279 10.5.2 模型求解 280
10.6 基於SOM 網絡的聚類分析 281
10.6.1 SOM 網絡的結構 282
10.6.2 自組織特徵映射學習算法 282
10.6.3 主要城市氣溫模式分類研究 283
10.7 基於BP網絡的神經元形態分類與識別 285
10.7.1 問題重述 285
10.7.2 問題分析 285
10.7.3 模型建立 286
10.7.4 模型求解 287

第11章 排隊論方法 290
11.1 排隊論的基本概念 290
11.1.1 排隊系統的組成 290
11.1.2 排隊系統的運行指標 291
11.1.3 排隊系統的狀態及概率 291
11.2 排隊系統的概率分佈 291
11.2.1 泊松流與泊松分佈 291
11.2.2 負指數分佈 292
11.2.3 愛爾朗分佈 292
11.3 排隊模型的標準形式 292
11.4 單服務台的排隊模型 293
11.4.1 標準型:M/M/1  293
11.4.2 系統容量有限:M/M/1/N/∞ 296
11.4.3 顧客源有限:M/M/1/∞/m  297
11.4.4 服務時間服從任意分佈:M/G/1 298
11.5 多服務台的排隊模型 299
11.5.1 標準型:M/M/c  299
11.5.2 系統容量有限:M/M/c/N/∞ 300
11.5.3 顧客源有限:M/M/c/∞/m  301
11.6 常見排隊模型的MATLAB求解 302
11.6.1 編寫常見排隊模型的通用求解函數 302
11.6.2 常見排隊模型的求解案例 304
11.7 排隊模型的隨機模擬 308
11.7.1 隨機模擬的原理 308
11.7.2 隨機模擬的步驟 308
11.7.3 隨機模擬的程序實現 308

第12章 多指標綜合評價方法 311
12.1 層次分析法 311
12.1.1 層次分析法的原理與步驟 311
12.1.2 建立層次結構模型 311
12.1.3 構造判斷矩陣 312
12.1.4 層次單排序與一致性檢驗 314
12.1.5 層次總排序與決策 318
12.2 模糊綜合評價法 320
12.2.1 模糊綜合評價的原理與步驟 320
12.2.2 常用的模糊算子 320
12.2.3 一級模糊綜合評價 321
12.2.4 多級模糊綜合評價 323

第13章 MATLAB圖像處理基礎 326
13.1 圖像的基本類型 326
13.1.1 索引圖像 326
13.1.2 真彩圖像 327
13.1.3 灰度圖像 327
13.1.4 二值圖像 327
13.1.5 圖像類型的轉換 327
13.2 圖像的讀寫與顯示 328
13.3 圖像的幾何變換與增強 330
13.3.1 圖像縮放 330
13.3.2 圖像旋轉 330
13.3.3 對比度增強 331
13.3.4 直方圖均衡 331
13.4 圖像去噪 332
13.4.1 銳化濾波 332
13.4.2 中值濾波 333
13.4.3 傅里葉變換低通濾波 333
13.5 圖像分割與區域分析 335
13.5.1 閾值分割 335
13.5.2 自適應閾值分割 336
13.5.3 指定灰度值範圍進行圖像分割 337
13.5.4 手動選取感興趣區域 337 13.5.5 邊緣檢測 338
13.5.6 區域分析 339
13.6 建模案例——基於圖像資料的數據重建與擬合 340
13.6.1 案例描述 340
13.6.2 重建圖像數據 341
13.6.3 曲線擬合 343

第14章 Simulink建模與模擬 345
14.1 Simulink簡介 345
14.1.1 何為Simulink  345
14.1.2 Simulink的啟動 345
14.1.3 Simulink的模塊庫 346
14.2 Simulink動態系統建模與模擬 349
14.2.1 我的第一個Simulink模型 349
14.2.2 用Simulink模型解方程 351
14.3 建模案例———貓追老鼠的Simulink動畫模擬 352
14.3.1 問題描述 352
14.3.2 建立數學模型 352
14.3.3 建立Simulink模型 353
14.3.4 設置模型求解參數 354
14.3.5 編寫動畫模擬的S Function 354
14.3.6 模型求解與實時模擬 361
14.3.7 總 結 361

第15章 全國大學生數學建模競賽真題解析 362
15.1 儲油罐的變位識別與罐容表標定(CUMCM 2010A)  362
15.1.1 問題描述 362
15.1.2 問題分析 364
15.1.3 問題一模型建立 364
15.1.4 問題二模型建立 366
15.1.5 問題一模型求解 368
15.1.6 問題二模型求解 370
15.2 創意平板折疊桌(CUMCM 2014B) 375
15.2.1 問題描述 375
15.2.2 問題分析 376
15.2.3 模型假設 377
15.2.4 符號說明 377
15.2.5 問題一模型建立 378
15.2.6 問題二模型建立 380
15.2.7 問題三模型建立 382
15.2.8 問題一模型求解 382
15.2.9 問題二模型求解 386
15.2.10 問題三模型求解 390
15.2.11 折疊桌設計軟件 392

參考文獻 394