本書以當前流行MATLAB R2021a為平臺,比較系統(tǒng)地介紹MATLAB環(huán)境、MATLAB數(shù)值計算、MATLAB符號計算、MATLAB計算的可視化和GUI設計、MATLAB程序設計、線性控制系統(tǒng)分析與設計、Simulink仿真環(huán)境等。本書內(nèi)容主要分為實用教程、習題、實訓、附錄和網(wǎng)絡文檔等,各部分深入淺出,相互配合,層次清晰。實用教程部分先講解基礎知識,后開展實例操作;習題部分系統(tǒng)練習基本內(nèi)容;實訓部分先引導操作,后展開思考練習;附錄部分包括程序的調(diào)試、Publish發(fā)布、曲線擬合與插值,網(wǎng)絡文檔包括習題參考答案、模擬測試題、模擬測試題參考答案、低級文件輸入輸出和例題索引。本書提供教學PPT文件、【例x.x】對應M文件和網(wǎng)絡文檔,需要者可從華信教育資源網(wǎng)免費下載。
鄭阿奇,副教授,曾任教于南京師范大學。先后主編出版計算機教材和圖書超過100本,受到市場廣泛好評。出版的教材曾獲得高等教育國家“十一五”規(guī)劃教材、高等職業(yè)教育“十二五”國家規(guī)劃教材、高等職業(yè)教育“十三五”國家規(guī)劃教材、江蘇省高等職業(yè)教育“十四五”規(guī)劃教材、江蘇省教學成果二等獎、高等職業(yè)教育優(yōu)秀教材一等獎等榮譽。
第1部分 實用教程
第1章 MATLAB環(huán)境 1
1.1 MATLAB簡介 1
1.1.1 MATLAB的工具箱 1
1.1.2 MATLAB的特點 2
1.1.3 MATLAB的用戶文件 3
1.2 MATLAB的集成開發(fā)環(huán)境 4
1.2.1 面板與工具欄 4
1.2.2 命令行窗口 7
1.2.3 工作區(qū)窗口 10
1.2.4 命令歷史記錄窗口 12
1.2.5 變量編輯器窗口 13
1.2.6 M文件編輯/調(diào)試器窗口 14
1.2.7 當前文件夾窗口 15
1.2.8 設置搜索路徑 16
1.3 一個簡單的實例 18
1.4 幫助系統(tǒng) 20
1.4.1 通過幫助窗口查看文檔 20
1.4.2 通過命令實現(xiàn)幫助 22
1.4.3 通過Web查找?guī)椭畔?23
第2章 MATLAB數(shù)值計算 24
2.1 變量和數(shù)據(jù) 24
2.1.1 數(shù)據(jù)類型 24
2.1.2 常數(shù) 25
2.1.3 變量 26
2.2 矩陣和數(shù)組 27
2.2.1 矩陣輸入 27
2.2.2 矩陣元素 30
2.2.3 字符串 34
2.2.4 矩陣和數(shù)組運算 37
2.2.5 多維數(shù)組 46
2.3 日期和時間 48
2.3.1 日期和時間的表示格式 49
2.3.2 日期和時間函數(shù) 49
2.4 稀疏矩陣 50
2.4.1 稀疏矩陣的建立 50
2.4.2 稀疏矩陣的存儲空間 52
2.4.3 稀疏矩陣的運算 53
2.5 多項式 53
2.5.1 多項式的求值、求根和部分
分式展開 53
2.5.2 多項式的乘法、除法、微分
和積分 55
2.5.3 多項式擬合和插值 56
2.6 元胞數(shù)組和結(jié)構(gòu)數(shù)組 59
2.6.1 元胞數(shù)組 59
2.6.2 結(jié)構(gòu)數(shù)組 61
2.7 表格型和分類型 64
2.7.1 表格型 64
2.7.2 分類型 65
2.8 數(shù)據(jù)分析 66
2.8.1 數(shù)據(jù)統(tǒng)計和相關(guān)分析 66
2.8.2 差分和積分 67
2.8.3 卷積和快速傅里葉變換 69
2.8.4 向量函數(shù) 71
第3章 MATLAB符號計算 72
3.1 符號表達式的建立 72
3.1.1 創(chuàng)建符號常量 72
3.1.2 創(chuàng)建符號變量和符號表達式 73
3.1.3 符號矩陣 74
3.2 符號表達式的代數(shù)運算 76
3.2.1 符號表達式的運算符和函數(shù) 76
3.2.2 符號數(shù)值任意精度控制和
運算 77
3.2.3 符號對象與數(shù)值對象的轉(zhuǎn)換 78
3.3 符號表達式的操作和轉(zhuǎn)換 79
3.3.1 符號表達式中自由變量的
確定 79
3.3.2 符號表達式的化簡 80
3.3.3 符號表達式的替換 81
3.3.4 求反函數(shù)和復合函數(shù) 82
3.3.5 符號表達式的轉(zhuǎn)換 83
3.4 符號極限、微分、積分和級數(shù) 84
3.4.1 符號極限 84
3.4.2 符號微分 85
3.4.3 符號積分 86
3.4.4 符號級數(shù) 87
3.5 符號積分變換 88
3.5.1 傅里葉變換及其反變換 89
3.5.2 拉普拉斯變換及其反變換 89
3.5.3 Z變換及其反變換 91
3.6 符號方程的求解 92
3.6.1 代數(shù)方程 92
3.6.2 符號常微分方程 93
3.7 符號函數(shù)的可視化 93
3.7.1 符號函數(shù)的繪圖命令 93
3.7.2 圖形化的符號函數(shù)計算器 95
第4章 MATLAB計算的可視化和GUI設計 97
4.1 二維曲線的繪制 97
4.1.1 基本繪圖函數(shù) 97
4.1.2 繪制曲線的一般步驟 101
4.1.3 多個圖形的繪制方法 102
4.1.4 曲線的線形、顏色和數(shù)據(jù)
點形 104
4.1.5 設置坐標軸和文字標注 105
4.1.6 交互式圖形函數(shù) 109
4.2 圖形對象 110
4.2.1 句柄圖形體系 110
4.2.2 圖形對象的操作 110
4.3 MATLAB的特殊圖形繪制 116
4.3.1 條形圖 116
4.3.2 面積圖和實心圖 117
4.3.3 直方圖 118
4.3.4 餅圖 119
4.3.5 離散數(shù)據(jù)圖 120
4.3.6 對數(shù)坐標和極坐標圖 120
4.3.7 等高線圖 121
4.3.8 復向量圖 122
4.4 MATLAB的三維圖形繪制 123
4.4.1 繪制三維線圖函數(shù) 123
4.4.2 繪制三維網(wǎng)線圖和曲面圖 123
4.4.3 立體圖形與圖軸的控制 126
4.4.4 色彩的控制 127
4.5 圖形繪制工具 130
4.5.1 圖窗 130
4.5.2 圖形文件轉(zhuǎn)儲 131
4.6 對話框 132
4.7 用戶圖形界面設計 134
4.7.1 可視化的界面環(huán)境 135
4.7.2 菜單 135
4.7.3 控件 137
4.7.4 對象對齊工具、屬性檢查器和
對象瀏覽器 139
4.7.5 回調(diào)函數(shù) 140
第5章 MATLAB程序設計 141
5.1 程序流程控制 141
5.1.1 for…end循環(huán)結(jié)構(gòu) 141
5.1.2 while…end循環(huán)結(jié)構(gòu) 142
5.1.3 if…else…end條件轉(zhuǎn)移結(jié)構(gòu) 142
5.1.4 switch…case開關(guān)結(jié)構(gòu) 143
5.1.5 try…catch…end試探結(jié)構(gòu) 144
5.1.6 流程控制語句 145
5.1.7 循環(huán)結(jié)構(gòu)與動畫 146
5.2 M文件 150
5.2.1 M文件編輯器 150
5.2.2 M腳本文件 150
5.2.3 M函數(shù)文件 152
5.3 函數(shù)調(diào)用和參數(shù)傳遞 154
5.3.1 子函數(shù)和私有函數(shù) 154
5.3.2 局部變量和全局變量 155
5.3.3 嵌套函數(shù) 156
5.3.4 函數(shù)的參數(shù) 156
5.3.5 程序舉例 160
5.4 利用函數(shù)句柄執(zhí)行函數(shù) 163
5.4.1 函數(shù)句柄的創(chuàng)建及優(yōu)點 163
5.4.2 用feval命令執(zhí)行函數(shù) 164
5.5 利用泛函命令進行數(shù)值分析 164
5.5.1 求極小值 165
5.5.2 求過零點 166
5.5.3 數(shù)值積分 167
5.5.4 微分方程的數(shù)值解 167
5.6 內(nèi)聯(lián)函數(shù) 169
5.7 M文件性能的優(yōu)化和加速 170
5.7.1 M文件性能優(yōu)化 170
5.7.2 P碼文件 171
第6章 線性控制系統(tǒng)分析與設計 172
6.1 線性系統(tǒng)的描述 172
6.1.1 狀態(tài)空間描述法 172
6.1.2 傳遞函數(shù)描述法 173
6.1.3 零極點描述法 174
6.1.4 離散系統(tǒng)的數(shù)學描述 175
6.2 線性系統(tǒng)模型之間的轉(zhuǎn)換 177
6.2.1 連續(xù)系統(tǒng)模型之間的轉(zhuǎn)換 177
6.2.2 連續(xù)系統(tǒng)與離散系統(tǒng)之間的
轉(zhuǎn)換 179
6.2.3 模型對象的屬性 181
6.3 結(jié)構(gòu)框圖的模型表示 183
6.4 線性系統(tǒng)的時域分析 186
6.4.1 零輸入響應分析 187
6.4.2 脈沖響應分析 188
6.4.3 階躍響應分析 189
6.4.4 任意輸入的響應 190
6.4.5 系統(tǒng)的結(jié)構(gòu)參數(shù) 192
6.5 線性系統(tǒng)的頻域分析 195
6.5.1 頻域特性 195
6.5.2 連續(xù)系統(tǒng)頻域特性 195
6.5.3 幅值裕度和相角裕度 199
6.5.4 閉環(huán)頻域特性的性能指標 200
6.6 頻域特性校正 201
6.6.1 超前校正 201
6.6.2 滯后校正 202
6.7 線性系統(tǒng)的根軌跡分析 204
6.7.1 繪制根軌跡 204
6.7.2 根軌跡的其他工具 205
6.8 線性系統(tǒng)的圖形工具界面 208
6.8.1 LTI Viewer界面 208
6.8.2 SISO設計工具sisotool 210
6.8.3 PID Tuner 212
第7章 Simulink仿真環(huán)境 214
7.1 演示一個Simulink的簡單程序 214
7.2 Simulink文件操作和模型窗口 218
7.2.1 Simulink文件操作 218
7.2.2 Simulink模型窗口 218
7.3 模型創(chuàng)建 219
7.3.1 模塊操作 219
7.3.2 信號線操作 219
7.4 Simulink基本模塊 220
7.5 復雜系統(tǒng)仿真與分析 225
7.5.1 仿真設置 225
7.5.2 系統(tǒng)仿真舉例 228
7.5.3 仿真結(jié)構(gòu)參數(shù)化 235
7.6 子系統(tǒng)與封裝 236
7.6.1 建立子系統(tǒng) 236
7.6.2 條件執(zhí)行子系統(tǒng) 238
7.6.3 子系統(tǒng)的封裝 240
7.7 用MATLAB函數(shù)創(chuàng)建和運行Simulink
模型 244
7.8 S函數(shù) 245
7.8.1 S函數(shù)簡介 246
7.8.2 S函數(shù)的編寫 247
7.8.3 S函數(shù)模塊的使用 248
第2部分 習題及參考答案
第1章 MATLAB環(huán)境 251
第2章 MATLAB數(shù)值計算 251
第3章 MATLAB符號計算 253
第4章 MATLAB計算的可視化和GUI
設計 254
第5章 MATLAB程序設計 256
第6章 線性控制系統(tǒng)分析與設計 257
第7章 Simulink仿真環(huán)境 258
第3部分 實訓
實訓1 MATLAB環(huán)境 260
實訓2 MATLAB數(shù)值計算 270
實訓3 MATLAB符號計算 278
實訓4 MATLAB計算的可視化和GUI設計 284
實訓5 MATLAB程序設計 292
實訓6 線性控制系統(tǒng)分析與設計 299
實訓7 Simulink仿真環(huán)境 308
第4部分 附錄
附錄A 程序的調(diào)試 317
A.1 錯誤類型 317
A.2 程序調(diào)試器 317
附錄B Publish發(fā)布 321
附錄C 教學視頻目錄(基于R2015b) 324
附錄D 網(wǎng)絡文檔索引 327
D.1 模擬測試題 327
D.2 模擬測試題參考答案 327
D.3 例題索引 327
D.4 曲線擬合與插值 327
D.5 低級文件輸入/輸出 327