相關主題
商品描述
本書以MATLAB R2020b為藍本,對MATLAB編程中涉及的主要知識進行了系統講解,並對代碼規範化、內容人文化等進行了探索,力圖使理工科教材中融入文學的基因。全書共分8章,內容包括MATLAB基礎,矩陣運算,字符數組、cell與struct,數據繪圖,符號運算,函數文件,面向對象編程,MATLAB在生物數學模型中的應用,每章在詳細的講解之後,都給出了規範化的示例代碼。 本書充分考慮了學習編程讀者的特點,以詳細的內容、規範化的代碼、富含文學氣息的例子,加上探索性的講解形式,對每個知識點進行了分析,力圖使讀者在體驗中學習知識,在感受中提高技能,做到既解決問題又掌握知識。
目錄大綱
第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數值的顯示 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的工作區 21
1.6.1 工作空間中的變量 21
1.6.2 數據應用分析 22
1.6.3 常用的工作空間管理命令 24
1.7 標點符號與運算符 28
1.7.1 標點符號 28
1.7.2 運算符 31
1.8 變量與表達式 33
1.8.1 數值的表達 33
1.8.2 MATLAB的默認值 34
1.8.3 變量的命名 36
1.8.4 複數 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官方網站 51
第2章矩陣運算 53
2.1 創建矩陣 53
2.1.1 一維矩陣 53
2.1.2 二維矩陣 56
2.1.3 三維及以上矩陣 60
2.2 矩陣的一般操作 65
2.2.1 矩陣維數與大小 65
2.2.2 矩陣元素尋址 66
2.2.3 矩陣的常規操作 68
2.3 矩陣的基本運算 74
2.3.1 矩陣轉置/加法/乘法/逆 74
2.3.2 矩陣內積/外積/範數 75
2.3.3 矩陣指數/對數/開方 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章字符數組、cell與struct 96
3.1 字符串與字符數組 96
3.1.1 字符串基本屬性 96
3.1.2 複雜字符數組的創建 99
3.1.3 字符串轉換函數 100
3.1.4 將字符串轉換為數據的函數 102
3.1.5 字符串操作函數 107
3.2 cell數組 115
3.2.1 cell數組的創建、尋址與顯示 116
3.2.2 cell數組的基本操作 122
3.2.3 cell數組操作函數簡介 126
3.2.4 string與char的區別 129
3.3 結構數組 130
3.3.1 結構數組的創建 131
3.3.2 結構數組的訪問 133
3.3.3 結構數組的其他操作 135
3.3.4 結構數組的轉換 139
第4章數據繪圖 143
4.1 繪圖及其屬性 143
4.1.1 初識繪圖 143
4.1.2 圖像的基本屬性 145
4.2 plot函數 146
4.2.1 plot函數默認格式 146
4.2.2 plot函數屬性應用 148
4.2.3 其他幾種格式 150
4.3 顏色的使用 153
4.3.1 顏色的RGB表示 154
4.3.2 顏色圖 156
4.3.3 查看顏色圖 157
4.3.4 顏色圖函數 157
4.3.5 顏色圖的創建與使用 159
4.4 坐標軸設置與圖形標識符 162
4.4.1 坐標軸的設置 162
4.4.2 標註文字 165
4.5 兩個繪圖佈局函數 174
4.5.1 subplot函數 174
4.5.2 tiledlayout函數 176
4.6 幾種常用的二維繪圖函數 179
4.6.1 面積填充圖 179
4.6.2 統計圖 181
4.6.3 繪製矢量場 191
4.6.4 時間序列數據 195
4.6.5 等值線繪圖 199
4.6.6 極坐標繪圖 201
4.6.7 雙坐標繪圖 203
4.6.8 對數形式繪圖 206
4.6.9 遺傳信息繪圖 207
4.7 三維繪圖 209
4.7.1 三維版本的繪圖函數 209
4.7.2 繪製多峰函數曲面 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函數 228
4.9.2 frame2im函數 228
4.9.3 rgb2ind函數 228
4.9.4 imwrite函數 228
第5章符號運算 230
5.1 符號對象的定義 230
5.1.1 聲明符號變量函數sym 230
5.1.2 聲明符號變量快捷函數syms 232
5.1.3 設置假定函數assumptions 234
5.1.4 設置與去除假定函數assume 235
5.1.5 添加設置假定函數assumeAlso 236
5.1.6 分段條件函數piecewise 236
5.2 符號運算基本操作 237
5.2.1 識別符號變量 237
5.2.2 多項式操作 241
5.2.3 符號替換 246
5.2.4 高等數學中的幾個函數 250
5.2.5 解方程 257
5.2.6 符號矩陣的運算 263
5.3 符號運算結果的可視化 265
5.3.1 簡潔繪圖函數 265
5.3.2 符號運算結果的數值繪圖 269
第6章函數文件 270
6.1 MATLAB語言編程的基本理念 270
6.2 MATLAB函數概況 270
6.2.1 初識MATLAB函數 270
6.2.2 函數模板 272
6.3 MATLAB中的函數分類 272
6.3.1 MATLAB腳本文件 272
6.3.2 主函數與子函數 273
6.3.3 子函數的定義 274
6.3.4 匿名函數 275
6.4 MATLAB中的局部變量和全局變量 276
6.4.1 局部變量 276
6.4.2 全局變量 277
6.5 MATLAB函數文件中的控制語句 278
6.5.1 if-end語句 278
6.5.2 switch-case選擇控制結構 281
6.5.3 for-end循環 284
6.5.4 while-end循環 287
6.5.5 try-catch-end糾錯機制 289
6.5.6 其他控制函數 290
6.5.7 遞歸 298
6.6 函數句柄 299
6.6.1 函數句柄的創建 299
6.6.2 函數句柄的基本用法 300
6.7 泛函命令 302
6.7.1 eval函數 302
6.7.2 feval函數 303
6.8 讀寫文件 305
6.8.1 文本數據讀取 305
6.8.2 讀取Excel文件 308
6.8.3 讀取三角矩陣數據 313
6.8.4 寫入文本文件 313
6.8.5 寫入Excel文件 314
6.8.6 寫入Word文件 315
6.9 一些矩陣操作函數的實現案例 321
6.9.1 對稱矩陣 321
6.9.2 置換矩陣 322
6.9.3 矩陣變換 328
6.10 兩個繪圖函數的實現案例 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 構造函數 356
7.4.3 靜態方法 358
7.5 類的繼承與派生 360
7.5.1 繼承與派生的基本概念 361
7.5.2 派生類構造函數 363
7.6 MATLAB類的基本類型 379
7.6.1 參數的傳遞機制 379
7.6.2 兩種基本類型 380
7.6.3 handle型類 384
7.7 對象的析構、保存和加載 392
7.7.1 析構函數 392
7.7.2 保存和加載 396
7.8 多態性與抽象 402
7.8.1 函數重載 402
7.8.2 運算符重載 403
7.8.3 抽像類 406
7.9 事件與響應 407
7.9.1 概念與定義 407
7.9.2 理解事件與響應的作用機制 409
7.9.3 創建監聽的event方式 411
7.9.4 發布通知中附加消息 412
7.9.5 預定義事件的監聽 413
7.10 對像數組 414
7.10.1 同類型對像數組 414
7.10.2 同基類對像數組 416
7.10.3 多類型對像數組 417
7.11 Meta Class 420
7.11.1 查詢類的基本信息 420
7.11.2 查找特定設置的對象和類成員 421
7.12 類的應用實例:App設計 422
7.12.1 App Designer的開發環境 422
7.12.2 雙線設計與類函數 423
7.12.3 App設計步驟 425
7.12.4 各種組件的使用方法 427
7.12.5 使用函數創建組件 435
7.13 再議創建MATLAB函數模板 439
第8章MATLAB在生物數學模型中的應用 442
8.1 圖模型 442
8.1.1 圖的基本概念與數據結構 442
8.1.2 無向賦權圖的最短路徑Dijkstra算法 445
8.1.3 評估生態模型架構 445
8.2 種群模型 446
8.2.1 原理與分類 446
8.2.2 離散單種群模型 448
8.2.3 Logistic離散模型的漸近性態模擬 448
8.2.4 連續模型 450
8.3 時序分析模型 456
8.3.1 平穩時間序列模型的幾個概念 457
8.3.2 平穩時間序列 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