相關主題
商品描述
本書面向MATLAB的初、中級讀者,在介紹MATLAB R2024a集成環境的基礎上,對MATLAB使用中常用的知識和工具進行了詳細的介紹。書中各章均提供了大量有針對性的示例,可供讀者進行實戰練習。 根據內容的側重點不同,全書分為4部分,共20章:第1~5章為基礎部分,第6~11章為數學應用部分,第12~16章為工程應用部分,第17~20章為高級應用部分。另外,本書附贈專業應用部分的相關內容(以電子書形式呈現)。為了使讀者能夠更好地操作MATLAB,本書中示例的命令已記錄在M文件及其他相關文件中,讀者可以將相關的目錄設置為工作目錄,直接使用M文件進行操作,以便快速掌握MATLAB的使用方法。
目錄大綱
第1部分
第1章 MATLAB概述 1
1.1 MATLAB簡介 2
1.1.1 MathWorks及其產品概述 2
1.1.2 MATLAB的主要特點 2
1.1.3 MATLAB系統的組成 3
1.1.4 MATLAB應用程序簡介 3
1.2 目錄結構 4
1.3 工作環境 4
1.3.1 選項卡/組 5
1.3.2 命令行窗口 7
1.3.3 工作區窗口 7
1.4 通用命令 8
1.5 文件管理 9
1.5.1 當前文件夾窗口 9
1.5.2 搜索路徑及其設置 9
1.6 幫助系統 11
1.6.1 純文本幫助 11
1.6.2 幫助導航瀏覽器 12
1.7 示例展示 13
1.8 本章小結 14
第2章 基礎知識 15
2.1 數據類型 16
2.1.1 數值型 16
2.1.2 邏輯型 20
2.1.3 字符型 22
2.1.4 函數句柄 24
2.1.5 結構體 25
2.1.6 數組類型 28
2.1.7 元胞數組 29
2.1.8 map容器 32
2.2 矩陣的基本操作 36
2.2.1 矩陣和數組的概念及其區別 36
2.2.2 矩陣的構造 37
2.2.3 矩陣大小及結構的改變 41
2.2.4 矩陣下標引用 42
2.2.5 矩陣信息的獲取 45
2.2.6 矩陣的保存和加載 49
2.3 運算符 55
2.3.1 算術運算符 55
2.3.2 關系運算符 56
2.3.3 邏輯運算符 57
2.3.4 運算優先級 58
2.4 字符串處理函數 59
2.4.1 字符串或字符串數組的構造 59
2.4.2 字符串比較 60
2.4.3 字符串查找和替換 61
2.4.4 字符串和數值的轉換 62
2.5 本章小結 62
第3章 數組與矩陣 63
3.1 數組運算 64
3.1.1 數組的創建和操作 64
3.1.2 數組的常見運算 67
3.2 矩陣操作 71
3.2.1 創建矩陣 71
3.2.2 改變矩陣大小 76
3.2.3 重構矩陣 78
3.3 矩陣元素的運算 78
3.3.1 矩陣的加減法運算 79
3.3.2 矩陣的乘法運算 80
3.3.3 矩陣的除法運算 81
3.3.4 矩陣的冪運算 81
3.3.5 矩陣元素的查找 82
3.3.6 矩陣元素的排序 83
3.3.7 矩陣元素的求和 83
3.3.8 矩陣元素的求積 84
3.3.9 矩陣元素的差分 85
3.4 矩陣運算 86
3.4.1 矩陣分析 86
3.4.2 矩陣分解 91
3.4.3 特徵值和特徵向量 97
3.5 稀疏矩陣 98
3.5.1 稀疏矩陣的存儲方式 99
3.5.2 稀疏矩陣的生成 99
3.5.3 稀疏矩陣的運算 104
3.6 本章小結 104
第4章 程序設計 105
4.1 M文件編輯器 106
4.2 變量 109
4.2.1 變量的命名 109
4.2.2 變量的類型 109
4.2.3 特殊變量 110
4.2.4 關鍵字 110
4.3 控制流 111
4.3.1 順序結構 111
4.3.2 if-else-end分支結構 112
4.3.3 switch-case結構 113
4.3.4 try-catch結構 115
4.3.5 for循環結構 116
4.3.6 while循環結構 118
4.4 常用指令 119
4.4.1 return指令 119
4.4.2 input指令和keyboard指令 119
4.4.3 pause指令 120
4.4.4 continue指令 120
4.4.5 break指令 120
4.4.6 error指令和warning指令 121
4.5 腳本和函數 121
4.5.1 腳本 121
4.5.2 函數 122
4.5.3 M文件的一般結構 124
4.5.4 匿名函數、子函數、私有函數與私有目錄 126
4.5.5 重載函數 128
4.5.6 eval函數和feval函數 128
4.5.7 內聯函數 130
4.5.8 向量化和預分配 133
4.5.9 函數的函數 133
4.5.10 P碼文件 134
4.6 變量的檢測與傳遞 136
4.6.1 輸入/輸出變量檢測指令 136
4.6.2 “可變量量”輸入/輸出變量 136
4.6.3 跨空間變量傳遞和賦值 138
4.7 程序調試 140
4.7.1 程序調試的基本概念 140
4.7.2 直接調試法 141
4.7.3 使用調試函數進行調試 141
4.7.4 工具調試法 145
4.7.5 程序的性能優化技術 145
4.8 本章小結 147
第5章 數據可視化 148
5.1 圖形繪制 149
5.1.1 離散數據及離散函數 149
5.1.2 連續函數 150
5.1.3 圖形繪制示例 150
5.1.4 圖形繪制的基本步驟 152
5.2 二維圖形繪制 152
5.2.1 plot指令 153
5.2.2 柵格 157
5.2.3 文字說明 157
5.2.4 線型、標記和顏色 160
5.2.5 坐標軸設置 162
5.2.6 圖形疊繪 163
5.2.7 子圖繪制 164
5.2.8 交互式繪圖 165
5.2.9 雙坐標軸繪制 166
5.2.10 fplot繪圖指令 167
5.2.11 ezplot繪圖指令 168
5.2.12 特殊坐標軸繪圖 169
5.2.13 二維特殊圖形函數 171
5.3 三維圖形繪制 175
5.3.1 三維曲線圖繪制 175
5.3.2 三維網格圖繪制 176
5.3.3 三維曲面圖繪制 177
5.3.4 光照模型 178
5.3.5 繪制等值線圖 179
5.4 四維圖形可視化 180
5.4.1 用顏色描述第四維 180
5.4.2 其他函數 181
5.5 本章小結 182
第2部分
第6章 數值計算 183
6.1 多項式及其函數 184
6.1.1 多項式的表達式和創建 184
6.1.2 多項式求根 185
6.1.3 多項式的四則運算 186
6.1.4 多項式的導數、積分與估值 188
6.1.5 多項式運算函數及操作指令 189
6.1.6 有理多項式 190
6.2 數據插值 191
6.2.1 一維插值 192
6.2.2 二維插值 194
6.3 函數的極限 195
6.3.1 極限的概念 196
6.3.2 求極限的函數 196
6.4 函數數值積分 197
6.4.1 數值積分問題的數學表述 197
6.4.2 一元函數的數值積分 198
6.4.3 多重數值積分 199
6.5 本章小結 200
第7章 符號計算 201
7.1 符號計算概述 202
7.2 符號對象和符號表達式 202
7.2.1 對象創建命令 202
7.2.2 對象創建示例 203
7.2.3 運算符和基本函數 205
7.2.4 對象類別識別函數 208
7.2.5 表達式中的變量確定 210
7.2.6 符號計算的精度 211
7.3 符號表達式的基本操作 212
7.3.1 符號表達式的顯示 212
7.3.2 符號表達式的合並 212
7.3.3 符號表達式的展開 213
7.3.4 符號表達式的嵌套 214
7.3.5 符號表達式的分解 214
7.3.6 符號表達式的化簡 215
7.4 符號表達式的替換 215
7.4.1 subs替換函數 216
7.4.2 subexpr替換函數 216
7.5 符號函數的操作 217
7.5.1 復合函數操作 217
7.5.2 反函數操作 218
7.6 微積分 218
7.6.1 極限 219
7.6.2 微分 220
7.6.3 積分 221
7.6.4 級數求和 221
7.6.5 泰勒級數 222
7.7 積分變換 223
7.7.1 傅里葉變換 223
7.7.2 拉普拉斯變換 224
7.7.3 Z變換 224
7.8 方程求解 226
7.8.1 代數方程求解 226
7.8.2 微分方程求解 228
7.9 符號分析可視化 229
7.9.1 funtool分析界面 230
7.9.2 Taylor Tool分析界面 233
7.10 本章小結 234
第8章 概率統計 235
8.1 產生隨機數 236
8.1.1 二項分佈隨機數的產生 236
8.1.2 正態分佈隨機數的產生 236
8.1.3 常見分佈隨機數的產生 237
8.1.4 控制隨機數生成器 238
8.2 概率密度計算 238
8.2.1 通用函數概率密度值 238
8.2.2 專用函數概率密度值 240
8.3 累積概率分佈 241
8.3.1 通用函數累積概率值 241
8.3.2 專用函數累積概率值 243
8.4 統計特徵 243
8.4.1 平均值、中值 243
8.4.2 數據比較 244
8.4.3 期望 245
8.4.4 方差和標準差 245
8.4.5 協方差與相關系數 246
8.5 統計作圖 247
8.5.1 正整數頻率表 247
8.5.2 累積分佈函數圖形 248
8.5.3 最小二乘擬合直線 248
8.5.4 繪制正態分佈概率圖形 249
8.5.5 樣本數據的盒圖 250
8.5.6 參考線繪制 251
8.5.7 樣本概率圖形 252
8.5.8 正態擬合直方圖 253
8.6 本章小結 254
第9章 數學建模基礎 255
9.1 曲線擬合函數 256
9.1.1 多項式擬合 256
9.1.2 加權最小方差擬合原理及示例 257
9.1.3 非線性曲線擬合 259
9.2 參數估計函數 260
9.2.1 常見分佈的參數估計 261
9.2.2 點估計 262
9.2.3 區間估計 264
9.3 參數傳遞 265
9.3.1 輸入參數和輸出參數的數目 265
9.3.2 可變量目的參數傳遞 266
9.3.3 返回被修改的輸入參數 267
9.3.4 全局變量 268
9.4 本章小結 269
第10章 智能算法 270
10.1 粒子群算法實現 271
10.1.1 基本原理 271
10.1.2 程序設計 272
10.1.3 經典應用 279
10.2 遺傳算法實現 283
10.2.1 基本原理 284
10.2.2 程序設計 286
10.2.3 經典應用 292
10.3 蟻群算法概述 298
10.3.1 基本原理 298
10.3.2 程序設計 299
10.3.3 經典應用 301
10.4 本章小結 308
第11章 偏微分方程 309
11.1 偏微分方程工具箱 310
11.1.1 偏微分方程常見類型 310
11.1.2 偏微分方程的求解過程 315
11.2 求解偏微分方程 317
11.2.1 求解橢圓方程 317
11.2.2 求解拋物線方程 321
11.2.3 求解雙曲線方程 325
11.2.4 求解特徵值方程 329
11.3 本章小結 333
第3部分
第12章 優化工具 334
12.1 優化常用函數及最優化問題 335
12.1.1 優化常用函數 335
12.1.2 最優化問題 337
12.2 線性規劃 339
12.2.1 線性規劃函數 340
12.2.2 線性規劃的應用 341
12.3 無約束非線性規劃 349
12.3.1 基本數學原理介紹 349
12.3.2 無約束非線性規劃函數 350
12.3.3 無約束非線性規劃的應用 353
12.4 二次規劃 354
12.4.1 二次規劃函數quadprog 354
12.4.2 二次規劃的應用 356
12.5 有約束最小化 357
12.5.1 有約束最小化函數fmincon 357
12.5.2 有約束最小化的應用 360
12.6 目標規劃 361
12.6.1 目標規劃函數fgoalattain 361
12.6.2 目標規劃的應用 363
12.7 最大最小化 368
12.7.1 最大最小化函數fminimax 368
12.7.2 最大最小化的應用 369
12.8 本章小結 371
第13章 句柄圖形對象 372
13.1 句柄圖形對象體系 373
13.1.1 句柄圖形組織 373
13.1.2 句柄圖形對象類型簡介 374
13.2 句柄圖形對象操作 374
13.2.1 創建對象 374
13.2.2 訪問對象句柄 376
13.2.3 復制和刪除對象 378
13.2.4 控制圖形輸出 379
13.2.5 保存句柄 383
13.3 句柄圖形對象屬性設置 384
13.3.1 設置屬性 384
13.3.2 設置默認屬性 385
13.3.3 通用屬性 388
13.4 Figure對象 388
13.4.1 Figure對象介紹 388
13.4.2 Figure對象操作 390
13.5 Axes對象 390
13.5.1 標簽與外觀 390
13.5.2 位置 391
13.5.3 一圖多軸 392
13.5.4 坐標軸控制 395
13.5.5 線條顏色控制 397
13.5.6 繪圖操作 398
13.6 其他對象 399
13.6.1 Core對象 399
13.6.2 Plot對象 400
13.6.3 Group對象 402
13.6.4 Annotation對象 403
13.7 本章小結 404
第14章 Simulink模擬基礎 405
14.1 Simulink概述 406
14.1.1 基本概念 406
14.1.2 工作環境與啟動 408
14.1.3 模型特點 410
14.1.4 模塊組成 412
14.1.5 數據類型 412
14.1.6 模塊和模塊庫 418
14.1.7 常用工具 422
14.1.8 示例演示 424
14.2 模型創建 426
14.2.1 模塊的基本操作 427
14.2.2 模型和模型文件 430
14.2.3 模型創建流程 431
14.2.4 模塊的基本操作 436
14.2.5 模塊連接與處理 438
14.3 過零檢測和代數環 439
14.3.1 過零檢測 439
14.3.2 代數環 441
14.4 本章小結 442
第15章 Simulink模擬應用 443
15.1 子系統的創建和封裝 444
15.1.1 子系統介紹 444
15.1.2 創建子系統 445
15.1.3 封裝子系統 447
15.2 模擬模型分析 450
15.2.1 模型狀態的確定 451
15.2.2 線性化的數學描述 453
15.2.3 平衡點分析 454
15.2.4 微分方程的求解算法 455
15.3 運行模擬 456
15.3.1 啟動模擬 456
15.3.2 模擬配置 459
15.3.3 優化模擬過程 464
15.4 模型調試 467
15.5 實例應用 468
15.5.1 基於微分方程的Simulink建模 468
15.5.2 離散時間系統的建模與模擬 470
15.5.3 調用MATLAB工作區中的信號矩陣信源 472
15.6 本章小結 474
第16章 Stateflow應用初步 475
16.1 Stateflow基礎 476
16.1.1 Stateflow的定義 476
16.1.2 狀態圖編輯器 476
16.1.3 狀態操作 478
16.1.4 轉移操作 479
16.1.5 流程圖 480
16.2 並行機制 483
16.2.1 設置狀態關系 483
16.2.2 並行狀態活動順序配置 484
16.2.3 本地事件廣播 484
16.2.4 直接事件廣播 485
16.3 Stateflow的對象 486
16.3.1 真值表 486
16.3.2 圖形函數 488
16.4 本章小結 489
第4部分
第17章 App設計 490
17.1 App設計工具介紹 491
17.1.1 App設計工具的特點 491
17.1.2 構建App的動力 491
17.1.3 構建App 492
17.1.4 構建實時編輯器任務 493
17.2 App設計工具操作界面 494
17.2.1 啟動App設計工具 494
17.2.2 設計視圖下的操作界面 495
17.2.3 代碼視圖下的操作界面 497
17.3 創建並運行簡單的App 499
17.3.1 建立新的App 499
17.3.2 創建組件 499
17.3.3 添加回調 500
17.3.4 運行App 501
17.4 在設計工具中顯示圖形 502
17.4.1 在現有坐標區中顯示圖形 502
17.4.2 在容器中顯示圖形 504
17.4.3 以編程方式創建坐標區 506
17.4.4 使用不帶目標參數的函數 508
17.4.5 使用不支持自動調整大小的函數 508
17.5 設計繪圖App 509
17.5.1 佈局UI組件 510
17.5.2 App行為編程 511
17.5.3 代碼解析 512
17.5.4 運行App 515
17.6 獲取App 516
17.7 本章小結 517
第18章 文件操作 518
18.1 文件夾的管理 519
18.1.1 當前文件夾管理 519
18.1.2 創建文件夾 522
18.1.3 刪除文件夾 523
18.1.4 復制或移動文件或文件夾 523
18.2 打開和關閉文件 526
18.2.1 打開文件 526
18.2.2 關閉文件 527
18.3 工作區數據文件 528
18.3.1 輸出數據到MAT文件中 528
18.3.2 讀取MAT文件——load函數 529
18.3.3 查看MAT文件的變量 529
18.4 讀/寫二進制文件 530
18.4.1 寫二進制文件 530
18.4.2 讀二進制文件 531
18.5 讀/寫文本文件 533
18.5.1 寫文本文件 533
18.5.2 讀文本文件 534
18.5.3 其他讀/寫文本文件的函數 537
18.6 文件內的位置控制 542
18.7 導入數據 544
18.8 本章小結 545
第19章 編譯器 546
19.1 編譯器概述 547
19.2 編譯器的安裝和配置 547
19.2.1 編譯器的安裝 547
19.2.2 編譯器的配置 547
19.3 編譯過程 548
19.4 編譯命令mcc 548
19.5 編譯生成獨立可執行的應用程序 549
19.5.1 編譯M文件 550
19.5.2 編譯圖形繪制M文件 551
19.5.3 由含feval指令的M文件生成EXE文件 552
19.5.4 編譯GUI文件 554
19.6 本章小結 555
第20章 外部接口 556
20.1 接口概述 557
20.1.1 MEX文件介紹 557
20.1.2 MAT文件介紹 557
20.1.3 MATLAB計算引擎介紹 557
20.2 MEX文件應用 558
20.2.1 MEX文件的結構 558
20.2.2 創建C/C++語言MEX文件 559
20.2.3 調試C/C++語言MEX程序文件 563
20.3 MAT文件應用 564
20.3.1 使用C/C++語言創建MAT文件的過程 565
20.3.2 使用C/C++語言創建MAT文件示例 565
20.3.3 使用C/C++語言讀取MAT文件示例 567
20.4 計算引擎應用 570
20.5 調用Java語言 570
20.5.1 Java接口使用 571
20.5.2 Java接口編程應用示例 575
20.6 本章小結 575