MATLAB語言及編程實踐——生物數(shù)學模型應用
定 價:128 元
叢書名:MATLAB工程應用叢書
- 作者:馬寨璞
- 出版時間:2022/6/1
- ISBN:9787121437496
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:Q-332
- 頁碼:512
- 紙張:
- 版次:01
- 開本:16開
本書以MATLAB R2020b為藍本,對MATLAB編程中涉及的主要知識進行了系統(tǒng)講解,并對代碼規(guī)范化、內(nèi)容人文化等進行了探索,力圖使理工科教材中融入文學的基因。全書共分8章,內(nèi)容包括MATLAB基礎,矩陣運算,字符數(shù)組、cell與struct,數(shù)據(jù)繪圖,符號運算,函數(shù)文件,面向對象編程,MATLAB在生物數(shù)學模型中的應用,每章在詳細的講解之后,都給出了規(guī)范化的示例代碼。 本書充分考慮了學習編程讀者的特點,以詳細的內(nèi)容、規(guī)范化的代碼、富含文學氣息的例子,加上探索性的講解形式,對每個知識點進行了分析,力圖使讀者在體驗中學習知識,在感受中提高技能,做到既解決問題又掌握知識。
馬寨璞,男,1970~,保定安國人,教授,碩士生導師。2003年3月畢業(yè)于浙江大學,獲工學博士學位,2010年之前,主要研究水域生態(tài)學。自2010年至今,主要研究城市生態(tài)系統(tǒng)與生物數(shù)學模型,目前已發(fā)表各類學術論文40篇,其中JCR一區(qū)1篇,SCI多篇,已指導碩士研究生10余年,畢業(yè)多名,其中1篇獲河北省優(yōu)秀碩士論文,已出版的2部研究生教材。
第1章 MATLAB基礎 1
1.1 MATLAB簡介 1
1.1.1 MATLAB的歷史 1
1.1.2 MATLAB的版本 1
1.1.3 MATLAB的特點 2
1.2 MATLAB的主要界面 4
1.2.1 菜單工具欄 4
1.2.2 窗口 6
1.3 命令行窗口及操作 7
1.3.1 MATLAB的簡單使用 7
1.3.2 MATLAB數(shù)值的顯示 10
1.3.3 命令行窗口的常用控制 10
1.4 日志命令與命令歷史記錄 14
1.4.1 diary 14
1.4.2 命令歷史記錄與快捷設置 16
1.5 當前目錄窗口 18
1.5.1 概況 18
1.5.2 設置用戶目錄和工作目錄 19
1.6 MATLAB的工作區(qū) 21
1.6.1 工作空間中的變量 21
1.6.2 數(shù)據(jù)應用分析 22
1.6.3 常用的工作空間管理命令 24
1.7 標點符號與運算符 28
1.7.1 標點符號 28
1.7.2 運算符 31
1.8 變量與表達式 33
1.8.1 數(shù)值的表達 33
1.8.2 MATLAB的默認值 34
1.8.3 變量的命名 36
1.8.4 復數(shù) 38
1.9 腳本編輯器 40
1.9.1 純代碼編輯器 41
1.9.2 實時編輯器 46
1.10 幫助文件的使用 49
1.10.1 幫助命令 49
1.10.2 幫助瀏覽器 51
1.10.3 MathWorks官方網(wǎng)站 51
第2章 矩陣運算 53
2.1 創(chuàng)建矩陣 53
2.1.1 一維矩陣 53
2.1.2 二維矩陣 56
2.1.3 三維及以上矩陣 60
2.2 矩陣的一般操作 65
2.2.1 矩陣維數(shù)與大小 65
2.2.2 矩陣元素尋址 66
2.2.3 矩陣的常規(guī)操作 68
2.3 矩陣的基本運算 74
2.3.1 矩陣轉置/加法/乘法/逆 74
2.3.2 矩陣內(nèi)積/外積/范數(shù) 75
2.3.3 矩陣指數(shù)/對數(shù)/開方 79
2.3.4 向量之間的關系 81
2.3.5 矩陣的本質特征 83
2.3.6 矩陣直和與張量積 84
2.4 特殊矩陣 86
2.4.1 帶狀稀疏矩陣 86
2.4.2 Vandermonde矩陣 88
2.4.3 Hankel矩陣 89
2.4.4 Toeplitz矩陣 89
2.5 矩陣變換與分解 90
2.5.1 Cholesky分解 90
2.5.2 LU分解 93
2.5.3 QR分解 94
2.5.4 SVD分解 94
第3章 字符數(shù)組、cell與struct 96
3.1 字符串與字符數(shù)組 96
3.1.1 字符串基本屬性 96
3.1.2 復雜字符數(shù)組的創(chuàng)建 99
3.1.3 字符串轉換函數(shù) 100
3.1.4 將字符串轉換為數(shù)據(jù)的函數(shù) 102
3.1.5 字符串操作函數(shù) 107
3.2 cell數(shù)組 115
3.2.1 cell數(shù)組的創(chuàng)建、尋址與顯示 116
3.2.2 cell數(shù)組的基本操作 122
3.2.3 cell數(shù)組操作函數(shù)簡介 126
3.2.4 string與char的區(qū)別 129
3.3 結構數(shù)組 130
3.3.1 結構數(shù)組的創(chuàng)建 131
3.3.2 結構數(shù)組的訪問 133
3.3.3 結構數(shù)組的其他操作 135
3.3.4 結構數(shù)組的轉換 139
第4章 數(shù)據(jù)繪圖 143
4.1 繪圖及其屬性 143
4.1.1 初識繪圖 143
4.1.2 圖像的基本屬性 145
4.2 plot函數(shù) 146
4.2.1 plot函數(shù)默認格式 146
4.2.2 plot函數(shù)屬性應用 148
4.2.3 其他幾種格式 150
4.3 顏色的使用 153
4.3.1 顏色的RGB表示 154
4.3.2 顏色圖 156
4.3.3 查看顏色圖 157
4.3.4 顏色圖函數(shù) 157
4.3.5 顏色圖的創(chuàng)建與使用 159
4.4 坐標軸設置與圖形標識符 162
4.4.1 坐標軸的設置 162
4.4.2 標注文字 165
4.5 兩個繪圖布局函數(shù) 174
4.5.1 subplot函數(shù) 174
4.5.2 tiledlayout函數(shù) 176
4.6 幾種常用的二維繪圖函數(shù) 179
4.6.1 面積填充圖 179
4.6.2 統(tǒng)計圖 181
4.6.3 繪制矢量場 191
4.6.4 時間序列數(shù)據(jù) 195
4.6.5 等值線繪圖 199
4.6.6 極坐標繪圖 201
4.6.7 雙坐標繪圖 203
4.6.8 對數(shù)形式繪圖 206
4.6.9 遺傳信息繪圖 207
4.7 三維繪圖 209
4.7.1 三維版本的繪圖函數(shù) 209
4.7.2 繪制多峰函數(shù)曲面 212
4.7.3 繪制球柱錐體 215
4.7.4 三維繪圖中的一些問題 217
4.8 修改繪圖對象屬性 220
4.8.1 繪圖的返回對象 220
4.8.2 使用對象屬性 221
4.8.3 獲取對象 223
4.9 繪制動畫圖片 227
4.9.1 getframe函數(shù) 228
4.9.2 frame2im函數(shù) 228
4.9.3 rgb2ind函數(shù) 228
4.9.4 imwrite函數(shù) 228
第5章 符號運算 230
5.1 符號對象的定義 230
5.1.1 聲明符號變量函數(shù)sym 230
5.1.2 聲明符號變量快捷函數(shù)syms 232
5.1.3 設置假定函數(shù)assumptions 234
5.1.4 設置與去除假定函數(shù)assume 235
5.1.5 添加設置假定函數(shù)assumeAlso 236
5.1.6 分段條件函數(shù)piecewise 236
5.2 符號運算基本操作 237
5.2.1 識別符號變量 237
5.2.2 多項式操作 241
5.2.3 符號替換 246
5.2.4 高等數(shù)學中的幾個函數(shù) 250
5.2.5 解方程 257
5.2.6 符號矩陣的運算 263
5.3 符號運算結果的可視化 265
5.3.1 簡潔繪圖函數(shù) 265
5.3.2 符號運算結果的數(shù)值繪圖 269
第6章 函數(shù)文件 270
6.1 MATLAB語言編程的基本理念 270
6.2 MATLAB函數(shù)概況 270
6.2.1 初識MATLAB函數(shù) 270
6.2.2 函數(shù)模板 272
6.3 MATLAB中的函數(shù)分類 272
6.3.1 MATLAB腳本文件 272
6.3.2 主函數(shù)與子函數(shù) 273
6.3.3 子函數(shù)的定義 274
6.3.4 匿名函數(shù) 275
6.4 MATLAB中的局部變量和全局變量 276
6.4.1 局部變量 276
6.4.2 全局變量 277
6.5 MATLAB函數(shù)文件中的控制語句 278
6.5.1 if-end語句 278
6.5.2 switch-case選擇控制結構 281
6.5.3 for-end循環(huán) 284
6.5.4 while-end循環(huán) 287
6.5.5 try-catch-end糾錯機制 289
6.5.6 其他控制函數(shù) 290
6.5.7 遞歸 298
6.6 函數(shù)句柄 299
6.6.1 函數(shù)句柄的創(chuàng)建 299
6.6.2 函數(shù)句柄的基本用法 300
6.7 泛函命令 302
6.7.1 eval函數(shù) 302
6.7.2 feval函數(shù) 303
6.8 讀寫文件 305
6.8.1 文本數(shù)據(jù)讀取 305
6.8.2 讀取Excel文件 308
6.8.3 讀取三角矩陣數(shù)據(jù) 313
6.8.4 寫入文本文件 313
6.8.5 寫入Excel文件 314
6.8.6 寫入Word文件 315
6.9 一些矩陣操作函數(shù)的實現(xiàn)案例 321
6.9.1 對稱矩陣 321
6.9.2 置換矩陣 322
6.9.3 矩陣變換 328
6.10 兩個繪圖函數(shù)的實現(xiàn)案例 330
6.10.1 雷達圖 330
6.10.2 星座圖 330
6.11 符號運算的一個實例 331
第7章 面向對象編程 336
7.1 面向過程與面向對象 336
7.2 類的組織結構 337
7.2.1 初識類 337
7.2.2 類的定義 338
7.2.3 類的特性 340
7.2.4 類定義的組織與存放 342
7.2.5 文件柜 343
7.3 類的屬性 347
7.3.1 聲明與初始化 347
7.3.2 訪問控制 349
7.3.3 其他特性 351
7.4 類的方法 353
7.4.1 普通方法與訪問特性 353
7.4.2 構造函數(shù) 356
7.4.3 靜態(tài)方法 358
7.5 類的繼承與派生 360
7.5.1 繼承與派生的基本概念 361
7.5.2 派生類構造函數(shù) 363
7.6 MATLAB類的基本類型 379
7.6.1 參數(shù)的傳遞機制 379
7.6.2 兩種基本類型 380
7.6.3 handle型類 384
7.7 對象的析構、保存和加載 392
7.7.1 析構函數(shù) 392
7.7.2 保存和加載 396
7.8 多態(tài)性與抽象 402
7.8.1 函數(shù)重載 402
7.8.2 運算符重載 403
7.8.3 抽象類 406
7.9 事件與響應 407
7.9.1 概念與定義 407
7.9.2 理解事件與響應的作用機制 409
7.9.3 創(chuàng)建監(jiān)聽的event方式 411
7.9.4 發(fā)布通知中附加消息 412
7.9.5 預定義事件的監(jiān)聽 413
7.10 對象數(shù)組 414
7.10.1 同類型對象數(shù)組 414
7.10.2 同基類對象數(shù)組 416
7.10.3 多類型對象數(shù)組 417
7.11 Meta Class 420
7.11.1 查詢類的基本信息 420
7.11.2 查找特定設置的對象和類成員 421
7.12 類的應用實例:App設計 422
7.12.1 App Designer的開發(fā)環(huán)境 422
7.12.2 雙線設計與類函數(shù) 423
7.12.3 App設計步驟 425
7.12.4 各種組件的使用方法 427
7.12.5 使用函數(shù)創(chuàng)建組件 435
7.13 再議創(chuàng)建MATLAB函數(shù)模板 439
第8章 MATLAB在生物數(shù)學模型中的應用 442
8.1 圖模型 442
8.1.1 圖的基本概念與數(shù)據(jù)結構 442
8.1.2 無向賦權圖的最短路徑Dijkstra算法 445
8.1.3 評估生態(tài)模型架構 445
8.2 種群模型 446
8.2.1 原理與分類 446
8.2.2 離散單種群模型 448
8.2.3 Logistic離散模型的漸近性態(tài)模擬 448
8.2.4 連續(xù)模型 450
8.3 時序分析模型 456
8.3.1 平穩(wěn)時間序列模型的幾個概念 457
8.3.2 平穩(wěn)時間序列 458
8.3.3 ARMA模型的構建及預報 460
8.3.4 時間序列分析的MATLAB命令與實例 462
8.3.5 ARIMA模型 465
8.3.6 GARCH模型 471
8.4 多元分析模型 476
8.4.1 主成分分析 476
8.4.2 因子分析模型 479
8.4.3 對應分析模型 485
8.4.4 典型相關模型 491
8.4.5 多維標度模型 498