第1篇
第1章 MATLAB R2018a概述..............1
1.1 MATLAB R2018a簡介 ........................2
1.1.1 MathWorks及其產品概述 ...............2
1.1.2 MATLAB與其他數學軟件 .............2
1.1.3 MATLAB的主要特點 .....................3
1.1.4 MATLAB的系統組成 .....................3
1.1.5 MATLAB應用程序簡介 .................4
1.1.6 MATLAB R2018a新特性 ................5
1.2 MATLAB R2018a的目錄結構 ............6
1.3 MATLAB R2018a的工作環(huán)境 ............7
1.3.1 菜單/工具欄 ...................................7
1.3.2 命令行窗口.......................................8
1.3.3 工作區(qū)...............................................9
1.4 MATLAB R2018a的通用命令 ............9
1.5 MATLAB R2018a的文件管理 ..........11
1.5.1 當前文件夾瀏覽器和路徑管理器 11
1.5.2 搜索路徑及其設置.........................11
1.6 MATLAB R2018a的幫助系統 ..........13
1.6.1 純文本幫助.....................................13
1.6.2 演示(Demos)幫助 .....................14
1.6.3 幫助導航瀏覽器.............................14
1.7 MATLAB使用初步 ...........................14
1.8 本章小結 .............................................15
第2章 MATLAB基礎知識.................17
2.1 數據類型 .............................................18
2.1.1 數值類型.........................................18
2.1.2 邏輯類型.........................................22
2.1.3 字符和字符串.................................24
2.1.4 函數句柄.........................................26
2.1.5 結構體類型.....................................28
2.1.6 數組類型.........................................30
2.1.7 單元數組類型.................................32
2.1.8 map容器類型 .................................34
2.2 基本矩陣操作 .....................................38
2.2.1 矩陣和數組的概念及其區(qū)別.........38
2.2.2 矩陣的構造.....................................39
2.2.3 矩陣大小及結構的改變.................43
2.2.4 矩陣下標引用.................................44
2.2.5 矩陣信息的獲?。?6
2.2.6 矩陣的保存和加載.........................51
2.3 運算符 .................................................56
2.3.1 算術運算符.....................................56
2.3.2 關系運算符.....................................58
2.3.3 邏輯運算符.....................................59
2.3.4 運算優(yōu)先級.....................................60
2.4 字符串處理函數 .................................60
2.4.1 字符串的構造.................................61
2.4.2 字符串比較函數.............................62
2.4.3 字符串查找和替換函數.................63
2.4.4 字符串――數值轉換.....................64
2.5 本章小結 .............................................64
第3章 數組與矩陣.............................65
3.1 數組運算 .............................................66
3.1.1 數組的創(chuàng)建和操作.........................66
3.1.2 數組的常見運算.............................69
3.2 矩陣操作 .............................................72
3.2.1 創(chuàng)建矩陣.........................................72
3.2.2 改變矩陣大小.................................76
3.2.3 重構矩陣.........................................78
3.3 矩陣元素的運算 .................................79
3.3.1 矩陣的加減運算.............................79
3.3.2 矩陣的乘法運算.............................80
3.3.3 矩陣的除法運算.............................81
3.3.4 矩陣的冪運算.................................82
3.3.5 矩陣元素的查找.............................83
3.3.6 矩陣元素的排序.............................83
3.3.7 矩陣元素的求和.............................84
3.3.8 矩陣元素的求積.............................85
3.3.9 矩陣元素的差分.............................86
3.4 矩陣運算 .............................................86
3.4.1 矩陣分析.........................................87
3.4.2 矩陣分解.........................................91
3.4.3 特征值和特征向量.........................97
3.5 稀疏矩陣 .............................................99
3.5.1 稀疏矩陣的存儲方式.....................99
3.5.2 稀疏矩陣的生成...........................100
3.5.3 稀疏矩陣的運算...........................104
3.6 本章小結 ...........................................104
第4章 MATLAB編程基礎................105
4.1 M文件編輯器 ..................................106
4.2 變量 ...................................................108
4.2.1 變量的命名...................................108
4.2.2 變量的類型...................................109
4.2.3 MATLAB默認的特殊變量 .........109
4.2.4 關鍵字...........................................110
4.3 MATLAB的控制流 .........................110
4.3.1 順序結構.......................................110
4.3.2 if-else-end分支結構 ....................111
4.3.4 try-catch結構 ...............................115
4.3.5 for循環(huán)結構 .................................115
4.3.6 while循環(huán)結構 .............................117
4.4 控制程序流的其他常用指令 ...........118
4.4.1 return指令 ....................................118
4.4.2 input和keyboard指令 ................118
4.4.3 yesinput指令 ................................119
4.4.4 pause指令 ....................................119
4.4.5 continue指令 ................................119
4.4.6 break指令 .....................................120
4.4.7 error和warning指令 ...................120
4.5 腳本和函數 .......................................120
4.5.1 腳本...............................................120
4.5.2 函數...............................................121
4.5.3 M文件的一般結構 ......................123
4.5.4 匿名函數、子函數、私有函數與私有目錄 ..................................125
4.5.5 重載函數.......................................126
4.5.6 eval和feval函數 .........................126
4.5.7 內聯函數.......................................129
4.5.8 向量化和預分配...........................131
4.5.9 函數的函數...................................132
4.5.10 P碼文件 .....................................133
4.6 M文件中變量的檢測與傳遞 ..........134
4.6.1 輸入/輸出變量檢測指令 ...........134
4.6.2 “可變數量”輸入/輸出變量 ...135
4.6.3 跨空間變量傳遞和賦值...............137
4.7 MATLAB程序的調試 .....................139
4.7.1 程序調試的基本概念...................139
4.7.2 直接調試法...................................140
4.7.3 使用調試函數進行調試...............140
4.7.4 工具調試法...................................143
4.7.5 程序的性能優(yōu)化技術...................144
4.8 本章小結 ...........................................146
第5章 數據可視化...........................147
5.1 圖形繪制 ...........................................148
5.1.1 離散數據及離散函數...................148
5.1.2 連續(xù)函數.......................................148
5.1.3 圖形繪制示例...............................149
5.1.4 圖形繪制的基本步驟...................151
5.2 二維圖形繪制 ...................................151
5.2.1 plot指令 .......................................151
5.2.2 格柵...............................................155
5.2.3 文字說明.......................................156
5.2.4 線型、標記和顏色.......................159
5.2.5 坐標軸設置...................................161
5.2.6 圖形疊繪.......................................162
5.2.7 子圖繪制.......................................163
5.2.8 交互式繪圖...................................164
5.2.9 雙坐標軸繪制...............................165
5.2.10 fplot繪圖指令 ............................166
VII 5.2.11 ezplot繪圖指令 ..........................167
5.2.12 特殊坐標軸繪圖.........................168
5.2.13 二維特殊圖形函數.....................170
5.3 三維圖形繪制 ...................................174
5.3.1 曲線圖繪制...................................174
5.3.2 網格圖繪制...................................175
5.3.3 曲面圖繪制...................................176
5.3.4 光照模型.......................................177
5.3.5 繪制等值線圖...............................178
5.4 四維圖形可視化 ...............................179
5.4.1 用顏色描述第四維.......................179
5.4.2 其他函數.......................................180
5.5 本章小結 ...........................................181
第2篇
第6章 數據分析...............................183
6.1 多項式及其函數 ...............................184
6.1.1 多項式的表達式和創(chuàng)建...............184
6.1.2 多項式求根...................................185
6.1.3 多項式的四則運算.......................186
6.1.4 多項式的導數、積分與估值.......188
6.1.5 多項式運算函數及操作指令.......189
6.1.6 有理多項式...................................189
6.2 數據插值 ...........................................191
6.2.1 一維插值.......................................191
6.2.2 二維插值.......................................195
6.3 函數的極限 .......................................196
6.3.1 極限的概念...................................196
6.3.2 求極限的函數...............................196
6.4 函數數值積分 ...................................197
6.4.1 數值積分問題的數學表述...........198
6.4.2 一元函數的數值積分...................198
6.4.3 多重數值積分...............................200
6.5 本章小結 ...........................................201
第7章 符號數學計算........................203
7.1 MATLAB符號計算概述 .................204
7.2 符號對象和符號表達式 ...................204
7.2.1 符號對象的創(chuàng)建命令...................204
7.2.2 符號對象的創(chuàng)建示例...................205
7.2.3 符號計算中的運算符和函數.......208
7.2.4 符號對象的類別識別函數...........211
7.2.5 符號表達式中的變量確定...........213
7.2.6 符號精度計算...............................214
7.3 符號表達式操作 ...............................216
7.3.1 符號表達式顯示...........................216
7.3.2 符號表達式合并...........................216
7.3.3 符號表達式展開...........................217
7.3.4 符號表達式嵌套...........................218
7.3.5 符號表達式分解...........................218
7.3.6 符號表達式化簡...........................219
7.4 符號表達式替換 ...............................221
7.4.1 subs替換函數 ..............................221
7.4.2 subexpr替換函數 .........................222
7.5 符號函數的操作 ...............................223
7.5.1 復合函數操作...............................223
7.5.2 反函數操作...................................224
7.6 符號微積分 .......................................225
7.6.1 符號表達式的極限.......................225
7.6.2 符號表達式的微分.......................226
7.6.3 符號表達式的積分.......................227
7.6.4 符號表達式的級數求和...............228
7.6.5 符號表達式的泰勒級數...............229
7.7 符號積分變換 ...................................230
7.7.1 傅里葉變換及其反變換...............230
7.7.2 拉普拉斯變換及其反變換...........231
7.7.3 Z變換及其反變換 .......................232
7.8 符號代數方程求解 ...........................233
7.9 符號微分方程求解 ...........................235
7.10 符號分析可視化 .............................237
7.10.1 funtool分析界面 ........................237
7.10.2 taylortool分析界面 ....................240
7.11 本章小結 .........................................241
第8章 概率統計..............................243
8.1 產生隨機變量 ...................................244
8.1.1 二項分布的隨機數據的產生.......244
VIII 8.1.2 正態(tài)分布的隨機數據的產生.......244
8.1.3 常見分布的隨機數產生...............245
8.2 概率密度計算 ...................................246
8.2.1 通用函數概率密度值...................246
8.2.2 專用函數概率密度值...................248
8.3 累積概率分布 ...................................249
8.3.1 通用函數累積概率值...................249
8.3.2 專用函數累積概率值...................250
8.4 統計特征 ...........................................251
8.4.1 平均值、中值...............................251
8.4.2 數據比較.......................................252
8.4.3 期望...............................................253
8.4.4 方差和標準差...............................253
8.4.5 協方差與相關系數.......................253
8.5 統計作圖 ...........................................255
8.5.1 正整數頻率表...............................255
8.5.2 累積分布函數圖形.......................255
8.5.3 最小二乘擬合直線.......................256
8.5.4 繪制正態(tài)分布概率圖形...............257
8.5.5 樣本數據的盒圖...........................258
8.5.6 參考線繪制...................................258
8.5.7 樣本概率圖形...............................260
8.5.8 正態(tài)擬合直方圖...........................261
8.6 本章小結 ...........................................262
第9章 數學建模函數.........................263
9.1 曲線擬合函數 ...................................264
9.1.1 多項式擬合...................................264
9.1.2 加權最小方差(WLS)擬合原理及實例 ..................................265
9.1.3 非線性曲線擬合...........................267
9.2 參數估計函數 ...................................268
9.2.1 常見分布的參數估計...................268
9.2.2 點估計...........................................270
9.2.3 區(qū)間估計.......................................272
9.3 參數傳遞 ...........................................272
9.3.1 輸入和輸出參數的數目...............273
9.3.2 可變數目的參數傳遞...................274
9.3.3 返回被修改的輸入參數...............274
9.3.4 全局變量.......................................276
9.4 本章小結 ...........................................276
第10章 經典智能算法......................277
10.1 粒子群算法的MATLAB實現 ......278
10.1.1 基本原理.....................................278
10.1.2 程序設計.....................................279
10.1.3 經典應用.....................................286
10.2 遺傳算法的MATLAB實現 ..........290
10.2.1 基本原理.....................................290
10.2.2 程序設計.....................................293
10.2.3 經典應用.....................................297
10.3 蟻群算法概述 .................................303
10.3.1 基本原理.....................................303
10.3.2 程序設計.....................................304
10.3.3 經典應用.....................................306
10.4 本章小結 .........................................314
第3篇
第11章 偏微分方程工具箱................315
11.1 偏微分方程(PDE)工具箱介紹 ..............................................316
11.1.1 偏微分方程常見類型介紹 .........316
11.1.2 偏微分方程工具箱簡介 .............322
11.2 求解偏微分方程示例 .....................323
11.2.1 求解橢圓方程 .............................324
11.2.2 求解拋物線方程 .........................328
11.2.3 求解雙曲線方程 .........................331
11.2.4 求解特征值方程 .........................335
11.3 本章小結 .........................................338
第12章 優(yōu)化工具箱.........................339
12.1 優(yōu)化工具箱及最優(yōu)化問題介紹 .....340
12.1.1 優(yōu)化工具箱常用函數.................340
12.1.2 最優(yōu)化問題.................................343
12.2 線性規(guī)劃 .........................................345
12.2.1 線性規(guī)劃函數.............................346
12.2.2 線性規(guī)劃問題的應用.................347
12.3 無約束非線性規(guī)劃 .........................355
IX 12.3.1 基本數學原理介紹.....................355
12.3.2 無約束非線性規(guī)劃函數.............356
12.3.3 無約束非線性規(guī)劃問題的應用 359
12.4 二次規(guī)劃 .........................................359
12.4.1 二次規(guī)劃函數quadprog ............359
12.4.2 二次規(guī)劃問題的應用.................361
12.5 有約束最小化 .................................362
12.5.1 有約束最小化函數fmincon ......362
12.5.2 有約束最小化應用.....................365
12.6 目標規(guī)劃 .........................................366
12.6.1 目標規(guī)劃函數fgoalattain ..........366
12.6.2 目標規(guī)劃應用.............................369
12.7 最大最小化 .....................................372
12.7.1 最大最小化函數fminimax ........372
12.7.2 最大最小化應用.........................374
12.8 本章小結 .........................................375
第13章 小波分析工具箱....................377
13.1 小波分析 .........................................378
13.1.1 小波分析概述.............................378
13.1.2 傅里葉變換和小波變換.............379
13.1.3 多分辨分析.................................382
13.1.4 小波包分析.................................385
13.1.5 幾種常用的小波.........................389
13.1.6 小波應用演示示例.....................391
13.2 小波工具箱介紹 .............................392
13.2.1 小波工具箱的啟動.....................392
13.2.2 一維連續(xù)小波分析工具.............393
13.2.3 一維離散小波分析工具.............398
13.3 小波分析在圖像處理中的應用 .....403
13.3.1 基于小波變換的圖像局部壓縮 ..............................................404
13.3.2 二維小波變換的圖像壓縮.........405
13.3.3 圖像壓縮中閾值的確定與作用命令 ......................................408
13.3.4 基于小波包變換的圖像壓縮.....409
13.3.5 小波變換用于圖像去噪.............411
13.3.6 小波分析用于圖像增強.............414
13.3.7 圖像鈍化與銳化.........................416
13.3.8 小波分析用于圖像融合.............418
13.3.9 小波分析用于圖像分解.............420
13.4 本章小結 .........................................422
第14章 Simulink仿真基礎...............423
14.1 Simulink概述 .................................424
14.1.1 Simulink的基本概念 .................424
14.1.2 Simulink的工作環(huán)境與啟動 .....426
14.1.3 Simulink模型的特點 .................427
14.1.4 Simulink模塊的組成 .................429
14.1.5 Simulink中的數據類型 .............430
14.1.6 Simulink中的模塊和模塊庫 .....433
14.1.7 Simulink常用工具 .....................438
14.1.8 Simulink的實例演示 .................439
14.2 Simulink模型創(chuàng)建 .........................441
14.2.1 Simulink模塊的基本操作 .........442
14.2.2 模型和模型文件.........................445
14.2.3 創(chuàng)建模型的基本步驟和技巧.....447
14.3 過零檢測和代數環(huán) .........................450
14.3.1 過零檢測.....................................450
14.3.2 代數環(huán).........................................452
14.4 本章小結 .........................................453
第15章 Simulink仿真應用...............455
15.1 子系統的創(chuàng)建和封裝 .....................456
15.1.1 子系統介紹.................................456
17.1.2 創(chuàng)建子系統.................................457
15.1.3 封裝子系統.................................458
15.2 仿真模型的分析 .............................462
15.2.1 模型狀態(tài)的確定.........................462
15.2.2 線性化的數學描述.....................464
15.2.3 平衡點分析.................................465
15.2.4 微分方程的求解算法.................466
15.3 運行仿真 .........................................467
15.3.1 啟動仿真.....................................467
17.3.2 仿真的配置.................................470
17.3.3 優(yōu)化仿真過程.............................475
15.4 模型調試 .........................................477
17.4.1 Simulink調試器 .........................477
X 17.4.2 命令行調試及設置斷點.............478
15.5 Simulink實例應用 .........................479
15.6 本章小結 .........................................484
第4篇
第16章 句柄圖形對象.......................485
16.1 句柄圖形對象體系 .........................486
16.1.1 句柄圖形組織.............................486
16.1.2 句柄圖形對象類型簡介.............486
16.2 句柄圖形對象操作 .........................487
16.2.1 創(chuàng)建對象.....................................487
16.2.2 訪問對象句柄.............................489
16.2.3 復制和刪除對象.........................491
16.2.4 控制圖形輸出.............................492
16.2.5 保存句柄.....................................496
16.3 對象屬性設置 .................................497
16.3.1 設置屬性.....................................497
16.3.2 設置默認屬性.............................498
16.3.3 通用屬性.....................................500
16.4 Figure對象 .....................................501
16.4.1 Figure對象介紹 .........................501
16.4.2 Figure對象操作 .........................502
16.5 Axes對象 ........................................503
16.5.1 坐標軸介紹.................................503
16.5.2 標簽與外觀.................................503
16.5.3 位置.............................................504
16.5.4 一圖多軸.....................................505
16.5.5 坐標軸控制.................................508
16.5.6 線條顏色控制.............................509
16.5.7 繪圖操作.....................................510
16.6 Core對象 ........................................511
16.6.1 Core對象介紹 ............................511
16.6.2 Core對象創(chuàng)建示例 ....................512
16.7 Plot對象 .........................................513
16.7.1 Plot對象介紹 .............................513
16.7.2 Plot對象創(chuàng)建示例 .....................513
16.7.3 連接變量.....................................514
16.8 Group對象......................................514
16.8.1 Group對象介紹 .........................514
16.8.2 創(chuàng)建Group對象 ........................515
16.8.3 對象變換.....................................515
16.9 Annotation對象 ..............................516
16.9.1 Annotation對象介紹 ..................516
16.9.2 Annotation對象使用示例 ..........516
16.10 本章小結 .......................................517
第17章 圖形用戶界面......................519
17.1 圖形用戶界面介紹 .........................520
17.2 圖形用戶界面控件 .........................520
17.2.1 圖形用戶界面控件的創(chuàng)建.........521
17.2.2 鼠標動作執(zhí)行.............................523
17.2.3 事件隊列的執(zhí)行順序.................524
17.2.4 回調函數的編寫.........................525
17.3 對話框對象 .....................................527
17.3.1 公共對話框.................................528
17.3.2 一般對話框.................................531
17.4 界面菜單 .........................................537
17.4.1 菜單建立.....................................537
17.4.2 菜單屬性.....................................538
17.5 編寫M文件 ...................................539
17.6 圖形界面創(chuàng)建工具GUIDE ...........541
17.6.1 利用創(chuàng)建工具GUIDE進行GUI設計 ......................................541
17.6.2 GUIDE創(chuàng)建的工具 ...................547
17.6.3 創(chuàng)建帶Uicontrol控件的圖形界面 ......................................549
17.7 本章小結........................................550
第18章 文件讀取I/O.......................551
18.1 文件夾的管理 .................................552
18.1.1 當前文件夾管理.........................552
18.1.2 創(chuàng)建文件夾.................................555
18.1.3 刪除文件夾.................................556
18.1.4 復制或移動文件夾.....................557
18.2 打開和關閉文件 .............................560
18.2.1 打開文件.....................................560
18.2.2 關閉文件.....................................561
XI 18.3 工作區(qū)數據―MAT文件 ...............562
18.3.1 輸出數據到MAT文件 ..............562
18.3.2 讀取MAT文件―load函數 ......563
18.3.3 查看MAT文件的變量 ..............563
18.4 讀/寫二進制文件 ..........................564
18.4.1 寫二進制文件.............................564
18.4.2 讀二進制文件.............................566
18.5 讀/寫文本文件 ............................568
18.5.1 寫文本文件.................................568
18.5.2 讀文本文件.................................569
18.5.3 其他讀/寫文本文件的函數 .....572
18.6 文件內的位置控制 .........................578
18.7 導入數據 .........................................580
18.8 本章小結 .........................................582
第19章 MATLAB編譯器..................583
19.1 MATLAB Compiler(編譯器)概述 .................................................584
19.2 編譯器的安裝和配置 .....................585
19.2.1 編譯器的安裝.............................585
19.2.2 編譯器的配置.............................585
19.3 編譯過程 .........................................585
19.3.1 安裝MCR ...................................585
19.3.2 MCR編譯過程 ...........................587
19.4 編譯命令mcc .................................587
19.5 編譯生成獨立運行程序 .................588
19.5.1 編譯M文件 ...............................588
19.5.2 編譯圖形繪制M文件 ...............590
19.5.3 由含feval指令的M文件生成EXE 文件 ......................................591
19.5.4 編譯GUI文件 ...........................592
19.6 本章小結 .........................................593
第20章 外部接口應用介紹................595
20.1 接口概述 .........................................596
20.1.1 MEX文件介紹 ...........................596
20.1.2 MAT文件介紹 ...........................596
20.1.3 MATLAB計算引擎介紹 ...........596
20.2 基于C/C++語言的MEX文件應用 ...597
20.2.1 MEX文件結構 ...........................597
20.2.2 創(chuàng)建C/C++ MEX文件 ..............598
20.2.3 調試C/C++語言MEX程序文件 ..............................................602
20.3 基于C/C++語言的MAT文件應用 .................................................603
20.3.1 使用C/C++語言創(chuàng)建MAT文件的過程 ..........................................603
20.3.2 使用C/C++語言創(chuàng)建MAT文件示例 ..............................................604
20.3.3 使用C/C++語言讀取MAT文件示例 ..............................................606
20.4 基于C/C++語言的計算引擎應用 .................................................608
20.5 MATLAB中Java語言的調用 ......609
20.5.1 Java接口使用 ............................610
20.5.2 Java接口編程應用示例 ............613
20.6 本章小結 .........................................614