內容簡介
MATLAB是適合多學科、多工作平台的開放性很強的大型科學套用軟體。本書以MATLAB 2022a軟體為基礎,全面闡述MATLAB的功能,幫助讀者儘快掌握MATLAB的套用技巧。全書共分為16章,從MATLAB工作界面講起,詳細介紹MATLAB的基礎知識、數組、矩陣、符號運算、二維繪圖、三維繪圖、程式設計、函式、數據分析與處理、微積分運算、機率與數理統計、最佳化計算等內容,同時還對Simulink仿真與套用進行詳細的講解。為了方便用戶更好地操作MATLAB,本書中的示例均已記錄在M檔案及其他相關檔案中,讀者可以將相應目錄設定為工作目錄,直接使用M檔案進行操作,以提高學習效率。
本書是一本全面的MATLAB參考書,講解翔實,結合實例引導,深入淺出,可作為高等院校理工科相關專業研究生、本科生的教材,也可作為廣大科研工程技術人員的參考用書。
圖書目錄
目錄
第一部分 MATLAB基礎知識
第1章 初識MATLAB 3
46分鐘
1.1 MATLAB簡介 3
1.2 工作界面 4
1.2.1 命令行視窗 5
1.2.2 命令歷史記錄視窗 8
1.2.3 當前資料夾和路徑管理 9
1.2.4 搜尋路徑 9
1.2.5 工作區和數組編輯器 11
1.2.6 變數的編輯命令 12
1.2.7 存取數據檔案 13
1.3 通用命令 14
1.3.1 常用命令 14
1.3.2 輸入內容的編輯 14
1.3.3 標點 15
1.4 幫助系統 15
1.4.1 純文本幫助 15
1.4.2 幫助導航 16
1.4.3 示例幫助 16
1.5 初步使用MATLAB 17
1.6 本章小結 18
第2章 基礎知識 19
69分鐘
2.1 基本概念 19
2.1.1 常量與變數 19
2.1.2 無窮量和非數值量 20
2.1.3 標量、向量、矩陣與數組 21
2.1.4 命令、函式、表達式和語句 21
2.1.5 數組、矩陣與符號矩陣 22
2.2 數據類型 23
2.2.1 數據類型概述 23
2.2.2 整數類型 24
2.2.3 浮點數類型 26
2.2.4 顯示格式 27
2.2.5 常用函式 28
2.3 基本運算 29
2.3.1 算術運算 29
2.3.2 關係運算 30
2.3.3 邏輯運算 30
2.3.4 運算符的優先權 33
2.3.5 常用函式 33
2.4 向量 34
2.4.1 向量生成 35
2.4.2 向量加減和數乘運算 37
2.4.3 向量點積和叉積運算 37
2.5 字元串 39
2.5.1 字元串變數與一維字元數組 39
2.5.2 對字元串的多項操作 40
2.5.3 二維字元數組 42
2.6 小結 43
第3章 數組 44
100分鐘
3.1 創建數組 44
3.1.1 創建空數組 44
3.1.2 創建一維數組 45
3.1.3 創建二維數組 46
3.1.4 創建三維數組 47
3.1.5 創建低維標準數組 50
3.1.6 創建高維標準數組 51
3.2 數組屬性 52
3.2.1 數組結構 52
3.2.2 數組大小 53
3.2.3 數組維度 54
3.2.4 數組數據類型 54
3.2.5 數組記憶體的占用 55
3.3 創建特殊數組 56
3.3.1 0-1數組 56
3.3.2 對角數組 56
3.3.3 隨機數組 57
3.3.4 魔方數組 58
3.4 數組操作 58
3.4.1 保存和裝載 58
3.4.2 索引和定址 59
3.4.3 擴展和裁剪 61
3.4.4 形狀改變 66
3.4.5 數組運算 69
3.4.6 數組查找 72
3.4.7 數組排序 73
3.4.8 高維數組降維 73
3.5 多維數組及其操作 74
3.5.1 多維數組屬性 74
3.5.2 多維數組操作 75
3.6 小結 78
第4章 矩陣 79
66分鐘
4.1 矩陣基本操作 79
4.1.1 元素存儲次序 79
4.1.2 元素表示及操作 80
4.2 創建矩陣 83
4.2.1 直接輸入法 83
4.2.2 抽取法 84
4.2.3 拼接法 85
4.2.4 函式法 86
4.2.5 拼接函式和變形函式法 87
4.2.6 載入法 89
4.2.7 M檔案法 90
4.2.8 複數矩陣輸入 90
4.2.9 大矩陣的生成 91
4.3 基本運算 91
4.3.1 矩陣行列式的值 91
4.3.2 矩陣加減、數乘與乘法 92
4.3.3 求矩陣的逆 92
4.3.4 矩陣的除法 93
4.3.5 求矩陣的秩 94
4.3.6 求矩陣的特徵值與特徵向量 95
4.3.7 矩陣的乘冪與開方 95
4.3.8 矩陣的指數與對數運算 96
4.3.9 矩陣轉置 96
4.3.10 矩陣的提取與翻轉 97
4.4 矩陣特徵參數 98
4.4.1 條件數、矩陣的穩定性 98
4.4.2 特徵值和特徵向量 99
4.4.3 範數 104
4.4.4 條件數 106
4.5 矩陣的數學函式 107
4.5.1 三角函式 107
4.5.2 指數函式和對數函式 109
4.5.3 複數函式 111
4.6 稀疏矩陣技術 112
4.6.1 基本稀疏矩陣 112
4.6.2 稀疏矩陣函式 115
4.7 矩陣分解 118
4.7.1 Cholesky分解 118
4.7.2 不完全Cholesky分解 119
4.7.3 LU分解 120
4.7.4 不完全LU分解 121
4.7.5 QR分解 122
4.7.6 操作QR分解結果 123
4.7.7 奇異值分解 123
4.8 小結 124
第5章 符號運算 125
55分鐘
5.1 基本概念 125
5.1.1 符號對象 125
5.1.2 符號常量 128
5.1.3 符號變數 128
5.1.4 符號表達式、函式與方程 129
5.1.5 自變數函式 133
5.1.6 符號矩陣 134
5.2 符號運算基本內容 137
5.2.1 符號變數代換 137
5.2.2 符號對象轉換為數值對象 138
5.2.3 符號表達式化簡 140
5.2.4 符號運算的其他函式 143
5.2.5 兩種特定的符號運算函式 144
5.3 符號微積分 146
5.3.1 符號極限運算 146
5.3.2 符號函式微分運算 149
5.3.3 符號函式積分運算 150
5.3.4 符號卷積 152
5.3.5 符號積分變換 152
5.4 符號矩陣及其運算 155
5.4.1 符號矩陣元素訪問 155
5.4.2 符號矩陣基本運算 156
5.4.3 符號矩陣化簡 161
5.4.4 符號矩陣微分與積分 163
5.5 符號方程求解 164
5.5.1 代數方程求解 164
5.5.2 微分方程求解 167
5.6 小結 169
第二部分 MATLAB繪圖與程式設計
第6章 二維繪圖 173
50分鐘
6.1 數據可視化 173
6.1.1 離散數據可視化 173
6.1.2 連續函式可視化 176
6.2 基本二維圖形繪製 178
6.2.1 二維圖形繪製步驟 178
6.2.2 二維基本繪圖函式(plot) 179
6.2.3 快速方程式繪圖(fplot,ezplot) 182
6.3 二維圖形的修飾 183
6.3.1 色彩、線型和點型 183
6.3.2 坐標軸的調整 185
6.3.3 刻度和柵格 187
6.3.4 設定坐標框 188
6.3.5 圖形標識 189
6.3.6 圖案填充 192
6.4 子圖繪製法 194
6.5 特殊圖形的繪製 197
6.5.1 特殊坐標系圖形的繪製 197
6.5.2 特殊二維圖形的繪製 201
6.6 二維繪圖套用 206
6.7 小結 212
第7章 三維繪圖 213
24分鐘
7.1 三維繪圖基礎 213
7.1.1 三維繪圖基本步驟 213
7.1.2 三維繪圖基本函式 214
7.1.3 三維坐標標記及圖形標記 217
7.2 三維格線曲面 218
7.2.1 繪製三維曲面 218
7.2.2 柵格數據的生成 222
7.2.3 格線曲面的繪製命令 224
7.2.4 隱藏線的顯示和關閉 227
7.3 三維陰影曲面的繪製 228
7.3.1 帶有等高線的陰影曲面繪製 228
7.3.2 具有光照效果的陰影曲面繪製 228
7.4 三維圖形的控制 229
7.4.1 設定視角位置 229
7.4.2 設定坐標軸 230
7.5 三維圖形特殊處理 231
7.5.1 透視、鏤空和裁切 231
7.5.2 色彩控制 233
7.5.3 照明和材質處理 236
7.5.4 簡捷繪圖函式 237
7.6 特殊三維圖形 239
7.6.1 螺旋線 239
7.6.2 拋物面 240
7.6.3 柱狀圖 241
7.6.4 柱體 243
7.6.5 餅狀圖 244
7.6.6 雙曲面 245
7.6.7 三維等高線 246
7.6.8 三維離散序列圖 247
7.6.9 其他圖形 247
7.7 三維繪圖套用 248
7.8 小結 256
第8章 程式設計 257
20分鐘
8.1 程式結構 257
8.1.1 if分支結構 257
8.1.2 switch分支結構 258
8.1.3 while循環結構 259
8.1.4 for循環結構 260
8.2 控制語句 261
8.2.1 continue命令 261
8.2.2 break命令 262
8.2.3 return命令 263
8.2.4 input命令 263
8.2.5 keyboard命令 264
8.3 檔案操作 264
8.3.1 fopen語句 265
8.3.2 fclose語句 266
8.4 程式調試 266
8.4.1 程式調試命令 266
8.4.2 程式常見的錯誤類型 267
8.5 程式最佳化 271
8.5.1 效率最佳化(時間最佳化) 271
8.5.2 記憶體最佳化(空間最佳化) 271
8.5.3 幾個常用的算法程式 277
8.6 小結 285
第9章 函式 286
22分鐘
9.1 M檔案 286
9.1.1 M檔案概述 286
9.1.2 變數 287
9.1.3 腳本檔案 288
9.1.4 函式檔案 289
9.1.5 函式調用 290
9.2 函式類型 294
9.2.1 匿名函式 294
9.2.2 主函式 295
9.2.3 嵌套函式 295
9.2.4 子函式 296
9.2.5 私有函式 296
9.2.6 重載函式 296
9.3 參數傳遞 297
9.3.1 參數傳遞概述 297
9.3.2 輸入和輸出參數的數目 297
9.3.3 可變數目的參數傳遞 298
9.3.4 返回被修改的輸入參數 299
9.3.5 全局變數 300
9.4 小結 301
第三部分 MATLAB高級套用
第10章 數據分析與處理 305
23分鐘
10.1 插值 305
10.1.1 一維插值 305
10.1.2 二維插值 307
10.1.3 三維插值 309
10.1.4 多維插值 310
10.1.5 樣條插值 312
10.2 曲線擬合 313
10.2.1 多項式擬合 314
10.2.2 加權最小方差擬合 315
10.3 曲線擬合工具 317
10.3.1 曲線擬合圖形用戶接口 317
10.3.2 繪製擬合殘差圖形 318
10.3.3 數據預測 319
10.4 傅立葉分析 320
10.4.1 離散傅立葉變換 320
10.4.2 FFT和DFT對比 322
10.5 圖像數據分析 324
10.6 小結 329
第11章 微積分運算 330
20分鐘
11.1 極限 330
11.2 求積運算 332
11.2.1 積分基本概念 332
11.2.2 符號積分函式 333
11.2.3 數值積分函式 335
11.3 求積算法實現 340
11.3.1 牛頓-科特斯求積 340
11.3.2 高斯-勒讓德求積 342
11.3.3 復化求積 343
11.3.4 龍貝格求積 346
11.4 微分方程 347
11.4.1 微分方程的概念 347
11.4.2 常微分方程的解 347
11.4.3 微分方程的數值解法 353
11.4.4 偏微分方程的數值解法 354
11.5 多元函式的極值 358
11.6 本章小結 360
第12章 機率與數理統計 361
25分鐘
12.1 隨機數的產生 361
12.1.1 二項分布隨機數 361
12.1.2 泊松分布隨機數 362
12.1.3 均勻分布隨機數 363
12.1.4 常態分配隨機數 363
12.1.5 其他常見分布隨機數 363
12.2 機率密度函式 365
12.2.1 常見分布的密度函式作圖 365
12.2.2 通用函式計算機率密度函式值 368
12.2.3 專用函式計算機率密度函式值 369
12.3 隨機變數的數字特徵 370
12.3.1 平均值、中值 371
12.3.2 數學期望 372
12.3.3 協方差及相關係數 373
12.3.4 中心矩 374
12.3.5 數據比較 374
12.3.6 方差 376
12.3.7 常見分布的期望和方差 377
12.4 參數估計 378
12.4.1 常見分布的參數估計 378
12.4.2 點估計 380
12.4.3 區間估計 382
12.5 假設檢驗 382
12.5.1 方差已知時的均值假設檢驗 382
12.5.2 正態總體均值假設檢驗 383
12.5.3 分布擬合假設檢驗 385
12.6 方差分析 387
12.6.1 單因子方差分析 387
12.6.2 雙因子方差分析 389
12.7 統計圖表的繪製 390
12.7.1 正整數的頻率表 390
12.7.2 經驗累積分布函式圖形 390
12.7.3 最小二乘擬合直線 391
12.7.4 繪製常態分配機率圖形 392
12.7.5 繪製威布爾機率圖形 392
12.7.6 樣本數據的箱線圖 393
12.7.7 增加參考線 393
12.7.8 增加多項式曲線 394
12.7.9 樣本機率圖形 394
12.7.10 附加有正態密度曲線的直方圖 395
12.7.11 在指定的界線之間繪製正態密度曲線 395
12.8 本章小結 396
第13章 最佳化計算 397
18分鐘
13.1 最佳化參數設定 397
13.1.1 創建或編輯最佳化選項 397
13.1.2 獲取最佳化選項參數 400
13.2 線性規劃 400
13.2.1 線性規劃數學模型 401
13.2.2 非標準型的標準化 402
13.2.3 線性規劃函式調用格式 403
13.2.4 線性規劃函式參數含義 403
13.2.5 線性規劃函式命令詳解 405
13.2.6 線性規劃問題求解 406
13.3 有約束非線性規劃 409
13.3.1 函式調用格式 410
13.3.2 函式參數含義 410
13.3.3 函式命令詳解 417
13.3.4 問題求解 417
13.4 無約束非線性最佳化 419
13.4.1 一維搜尋最佳化函式fminbnd 419
13.4.2 多維無約束搜尋函式fminsearch 423
13.4.3 多維無約束最佳化函式fminunc 425
13.5 多目標規劃 430
13.5.1 理想點法 431
13.5.2 線性加權和法 434
13.5.3 最大最小法 436
13.5.4 多目標規劃函式 439
13.6 二次規劃 449
13.6.1 函式調用格式 449
13.6.2 函式參數含義 449
13.6.3 問題求解 453
13.7 最小二乘最優問題 454
13.7.1 約束線性最小二乘 454
13.7.2 非線性數據(曲線)擬合 455
13.7.3 非負線性最小二乘 457
13.8 非線性方程的最佳化解 457
13.8.1 求單變數函式的零點 458
13.8.2 求解非線性方程組 458
13.9 小結 460
第四部分 Simulink仿真套用
第14章 Simulink仿真基礎 463
30分鐘
14.1 基本介紹 463
14.1.1 運行Simulink 463
14.1.2 初識模組庫 463
14.1.3 打開系統模型 465
14.1.4 保存系統模型 465
14.1.5 列印模型框圖並生成報告 465
14.1.6 常用滑鼠和鍵盤操作 467
14.1.7 環境設定 467
14.1.8 仿真基本步驟 468
14.1.9 系統封裝 469
14.2 模組庫介紹 470
14.2.1 信號源模組庫 471
14.2.2 信號輸出模組庫 472
14.2.3 表格模組庫 473
14.2.4 數學運算模組庫 474
14.2.5 連續模組庫 475
14.2.6 非線性模組庫 476
14.2.7 離散模組庫 477
14.2.8 信號路由模組庫 478
14.3 模組操作 479
14.3.1 Simulink模組類型 479
14.3.2 模組的創建 480
14.3.3 模組的連線 481
14.3.4 模組參數設定 484
14.4 系統仿真 484
14.4.1 仿真參數設定 484
14.4.2 啟動仿真 486
14.4.3 仿真結果分析 486
14.4.4 簡單系統的仿真分析 486
14.5 本章小結 491
第15章 Simulink子系統 492
28分鐘
15.1 子系統介紹 492
15.1.1 子系統含義 492
15.1.2 創建子系統 493
15.1.3 模型瀏覽器 496
15.2 高級子系統 498
15.2.1 使能子系統 498
15.2.2 觸發子系統 501
15.2.3 使能觸發子系統 504
15.2.4 交替執行子系統 504
15.3 子系統封裝 507
15.3.1 封裝子系統特徵 507
15.3.2 封裝選項設定 508
15.4 自定義庫 513
15.5 本章小結 514
第16章 Simulink仿真與調試 515
14分鐘
16.1 仿真參數配置 515
16.1.1 求解器概述 515
16.1.2 仿真參數設定 516
16.2 模型調試 520
16.2.1 調試器GUI模式 521
16.2.2 調試器命令行模式 522
16.2.3 調試器命令 522
16.2.4 調試器控制 524
16.3 設定斷點 525
16.3.1 無條件斷點 526
16.3.2 有條件斷點 527
16.4 仿真信息顯示 529
16.4.1 顯示模組I/O 529
16.4.2 顯示代數環信息 530
16.4.3 顯示系統狀態 531
16.4.4 顯示求解器信息 532
16.4.5 顯示模型中模組的執行順序 533
16.4.6 顯示系統或模組 534
16.5 小結 535
參考文獻 536