MATLAB是廣受歡迎的科學與工程計算軟件之一,版本升級很快,本書修訂時的最新版本是 R2019b,但是MATLAB R2015b產(chǎn)品族仍然是MathWorks公司應(yīng)用較多的版本。根據(jù)廣大讀者的需求,本書仍以MATLAB R2015b為平臺,比較系統(tǒng)地介紹MATLAB R2015b環(huán)境、MATLAB數(shù)值計算、MATLAB符號計算、MATLAB計算的可視化和GUI設(shè)計、MATLAB程序設(shè)計、線性控制系統(tǒng)分析與設(shè)計、Simulink仿真環(huán)境、MATLAB高級應(yīng)用等。本書內(nèi)容主要分為實用教程、習題、實驗及附錄四個部分,各部分深入淺出,相互配合,層次清晰。實用教程部分先講解基礎(chǔ)知識,后開展實例操作;習題部分系統(tǒng)練習基本內(nèi)容;實驗部分先引導操作,后展開思考練習;附錄部分包含習題參考答案、模擬測試題及其參考答案、例題索引和程序的調(diào)試介紹。同時,本書配備教學課件和實例文件,方便老師授課和學生自學。本書配套對應(yīng)的教學視頻,通過掃描二維碼播放。同時,將PPT、習題、實驗、實例和微課視頻等形成在線平臺資源,進行系統(tǒng)展示。本書可作為大學本科和?朴嘘P(guān)課程的教材或教學參考書,也適于MATLAB用戶學習和參考。
鄭阿奇,南京師范大學計算機科學與技術(shù)學院,副教授,東南大學本科,曾任計算機軟件系主任,獲選南京師范大學教學名師培養(yǎng)人選。主編5套計算機系列教材,獲教育部優(yōu)秀教材二等獎、電子部優(yōu)秀教材二等獎、兩次獲江蘇省優(yōu)秀教學成果二等獎、江蘇省暢銷圖書編輯二等獎、全國高校出版社優(yōu)秀暢銷書二等獎、兩次獲南京師范大學優(yōu)秀教學成果一等獎、南京師范大學精品教材一等獎。參加主持國家八六三計劃子項目、江蘇省科技開發(fā)項目,主持南京市科技開發(fā)項目、泰州市科委項目、金陵石化公司項目,獲江蘇省優(yōu)秀軟件獎,江蘇省科技進步獎、南京市創(chuàng)新成果獎。獲國家發(fā)明專利和實用新型專利20多個。
目 錄
第1部分 實 用 教 程
第1章 MATLAB R2015b環(huán)境 1
1.1 MATLAB簡介 1
1.1.1 MATLAB工具箱 2
1.1.2 MATLAB的功能和特點 2
1.2 MATLAB R2015b的環(huán)境設(shè)置 3
1.2.1 MATLAB的集成開發(fā)環(huán)境 3
1.2.2 工具欄 4
1.3 常用窗口 7
1.3.1 命令窗口
(Command Window) 8
1.3.2 當前目錄瀏覽器窗口
(Current Folder) 12
1.3.3 工作空間窗口
(Workspace) 14
1.3.4 歷史命令窗口
(Command History) 16
1.3.5 變量編輯器窗口
(Variable Editor) 17
1.3.6 M文件編輯/調(diào)試器窗口
(Editor/Debugger) 18
1.3.7 代碼分析報告窗口
(Code Analyzer Report) 19
1.3.8 程序性能剖析窗口
(Profiler) 19
1.3.9 MATLAB R2015b幫助 20
1.4 MATLAB R2015b其他管理 22
1.4.1 MATLAB用戶文件格式 22
1.4.2 設(shè)置搜索路徑 23
1.5 1個實例 26
第2章 MATLAB數(shù)值計算 30
2.1 變量和數(shù)據(jù) 30
2.1.1 數(shù)據(jù)類型 30
2.1.2 常數(shù) 32
2.1.3 變量 33
2.2 矩陣和數(shù)組 34
2.2.1 矩陣輸入 34
2.2.2 矩陣元素 37
2.2.3 字符串 41
2.2.4 矩陣和數(shù)組運算 44
2.2.5 多維數(shù)組 55
2.3 日期和時間 58
2.3.1 日期和時間的表示格式 58
2.3.2 日期和時間函數(shù) 59
2.4 稀疏矩陣 60
2.4.1 稀疏矩陣的建立 60
2.4.2 稀疏矩陣的存儲空間 62
2.4.3 稀疏矩陣的運算 63
2.5 多項式 63
2.5.1 多項式的求值、求根和部分
分式展開 63
2.5.2 多項式的乘除法和微積分 65
2.5.3 多項式擬合和插值 66
2.6 元胞數(shù)組和結(jié)構(gòu)數(shù)組 69
2.6.1 元胞數(shù)組 69
2.6.2 結(jié)構(gòu)數(shù)組 72
2.7 表格型和分類型 75
2.7.1 表格型 75
2.7.2 分類型 76
2.8 數(shù)據(jù)分析 77
2.8.1 數(shù)據(jù)統(tǒng)計和相關(guān)分析 77
2.8.2 差分和積分 78
2.8.3 卷積和快速傅里葉變換 80
2.8.4 向量函數(shù) 82
第3章 MATLAB符號計算 84
3.1 符號表達式的建立 84
3.1.1 創(chuàng)建符號常量 84
3.1.2 創(chuàng)建符號變量和符號表達式 86
3.1.3 符號矩陣 87
3.2 符號表達式的代數(shù)運算 88
3.2.1 符號表達式的運算符和函數(shù) 88
3.2.2 符號數(shù)值任意精度控制和
運算 90
3.2.3 符號對象與數(shù)值對象的轉(zhuǎn)換 91
3.3 符號表達式的操作和轉(zhuǎn)換 92
3.3.1 符號表達式中自由變量的
確定 92
3.3.2 符號表達式的化簡 93
3.3.3 符號表達式的替換 94
3.3.4 求反函數(shù)和復合函數(shù) 95
3.3.5 符號表達式的轉(zhuǎn)換 97
3.4 符號極限、微積分和級數(shù)求和 98
3.4.1 符號極限 98
3.4.2 符號微分 99
3.4.3 符號積分 100
3.4.4 符號級數(shù) 101
3.5 符號積分變換 103
3.5.1 傅里葉變換及其反變換 103
3.5.2 拉普拉斯變換及其反變換 104
3.5.3 Z變換及其反變換 105
3.6 符號方程的求解 106
3.6.1 代數(shù)方程 106
3.6.2 符號常微分方程 107
3.7 符號函數(shù)的可視化 108
3.7.1 符號函數(shù)的繪圖命令 108
3.7.2 圖形化的符號函數(shù)計算器 110
第4章 MATLAB計算的可視化和GUI設(shè)計 112
4.1 二維曲線的繪制 112
4.1.1 基本繪圖函數(shù) 112
4.1.2 繪制曲線的一般步驟 117
4.1.3 多個圖形繪制的方法 118
4.1.4 曲線的線形、顏色和數(shù)據(jù)
點形 120
4.1.5 設(shè)置坐標軸和文字標注 121
4.1.6 交互式圖形函數(shù) 125
4.2 圖形對象 126
4.2.1 句柄圖形體系 126
4.2.2 圖形對象的操作 127
4.3 MATLAB的特殊圖形繪制 132
4.3.1 條形圖 132
4.3.2 面積圖和實心圖 133
4.3.3 直方圖 134
4.3.4 餅形圖 136
4.3.5 離散數(shù)據(jù)圖 136
4.3.6 對數(shù)坐標和極坐標圖 137
4.3.7 等高線圖 138
4.3.8 復向量圖 139
4.4 MATLAB的三維圖形繪制 140
4.4.1 繪制三維線圖函數(shù) 140
4.4.2 繪制三維網(wǎng)線圖和曲面圖 140
4.4.3 立體圖形與圖軸的控制 143
4.4.4 色彩的控制 144
4.5 圖形繪制工具 147
4.5.1 圖形窗口 147
4.5.2 圖形文件轉(zhuǎn)儲 148
4.6 對話框 149
4.7 用戶圖形界面設(shè)計 152
4.7.1 可視化的界面環(huán)境 152
4.7.2 菜單 153
4.7.3 控件 155
4.7.4 對象對齊工具、屬性編輯器
和對象瀏覽器 157
4.7.5 回調(diào)函數(shù) 158
第5章 MATLAB程序設(shè)計 160
5.1 程序流程控制 160
5.1.1 for…end循環(huán)結(jié)構(gòu) 160
5.1.2 while…end循環(huán)結(jié)構(gòu) 161
5.1.3 if…else…end條件轉(zhuǎn)移結(jié)構(gòu) 161
5.1.4 switch…case開關(guān)結(jié)構(gòu) 163
5.1.5 try…catch…end試探結(jié)構(gòu) 163
5.1.6 流程控制語句 164
5.1.7 循環(huán)結(jié)構(gòu)與動畫 166
5.2 M文件 169
5.2.1 M文件編輯器 170
5.2.2 M腳本文件 170
5.2.3 M函數(shù)文件 171
5.3 函數(shù)調(diào)用和參數(shù)傳遞 173
5.3.1 子函數(shù)和私有函數(shù) 173
5.3.2 局部變量和全局變量 174
5.3.3 嵌套函數(shù) 175
5.3.4 函數(shù)的參數(shù) 176
5.3.5 程序舉例 180
5.4 利用函數(shù)句柄執(zhí)行函數(shù) 184
5.4.1 函數(shù)句柄的創(chuàng)建 184
5.4.2 用feval命令執(zhí)行函數(shù) 184
5.5 利用泛函命令進行數(shù)值分析 185
5.5.1 求極小值 185
5.5.2 求過零點 187
5.5.3 數(shù)值積分 188
5.5.4 微分方程的數(shù)值解 188
5.6 內(nèi)聯(lián)函數(shù) 190
5.7 M文件性能的優(yōu)化和加速 191
5.7.1 M文件性能優(yōu)化 191
5.7.2 P碼文件 192
第6章 線性控制系統(tǒng)分析與設(shè)計 194
6.1 線性系統(tǒng)的描述 194
6.1.1 狀態(tài)空間描述法 194
6.1.2 傳遞函數(shù)描述法 195
6.1.3 零極點描述法 196
6.1.4 離散系統(tǒng)的數(shù)學描述 197
6.2 線性系統(tǒng)模型之間的轉(zhuǎn)換 199
6.2.1 連續(xù)系統(tǒng)模型之間的轉(zhuǎn)換 199
6.2.2 連續(xù)系統(tǒng)與離散系統(tǒng)之間的
轉(zhuǎn)換 202
6.2.3 模型對象的屬性 203
6.3 結(jié)構(gòu)框圖的模型表示 205
6.4 線性系統(tǒng)的時域分析 209
6.4.1 零輸入響應(yīng)分析 210
6.4.2 脈沖響應(yīng)分析 211
6.4.3 階躍響應(yīng)分析 212
6.4.4 任意輸入的響應(yīng) 214
6.4.5 系統(tǒng)的結(jié)構(gòu)參數(shù) 215
6.5 線性系統(tǒng)的頻域分析 219
6.5.1 頻域特性 219
6.5.2 連續(xù)系統(tǒng)頻域特性 219
6.5.3 幅值裕度和相角裕度 223
6.5.4 閉環(huán)頻率特性的性能指標 224
6.6 頻率特性校正 225
6.6.1 超前校正 225
6.6.2 滯后校正 227
6.7 線性系統(tǒng)的根軌跡分析 228
6.7.1 繪制根軌跡 228
6.7.2 根軌跡的其他工具 230
6.8 線性系統(tǒng)的圖形工具界面 233
6.8.1 LTI Viewer界面 233
6.8.2 SISO設(shè)計工具sisotool 235
6.8.3 PID Tuner 237
第7章 Simulink仿真環(huán)境 239
7.1 演示1個Simulink的簡單程序 239
7.2 Simulink文件操作和模型窗口 242
7.2.1 Simulink文件操作 242
7.2.2 Simulink模型窗口 242
7.3 模型創(chuàng)建 242
7.3.1 模塊操作 243
7.3.2 信號線操作 243
7.4 Simulink基本模塊 245
7.5 復雜系統(tǒng)仿真與分析 250
7.5.1 仿真設(shè)置 250
7.5.2 系統(tǒng)仿真舉例 253
7.5.3 仿真結(jié)構(gòu)參數(shù)化 261
7.6 子系統(tǒng)與封裝 262
7.6.1 建立子系統(tǒng) 262
7.6.2 條件執(zhí)行子系統(tǒng) 264
7.6.3 子系統(tǒng)的封裝 267
7.7 用MATLAB函數(shù)創(chuàng)建和運行
Simulink模型 270
7.8 S函數(shù) 272
7.8.1 S函數(shù)簡介 272
7.8.2 S函數(shù)的編寫 273
7.8.3 S函數(shù)模塊的使用 275
第8章 MATLAB高級應(yīng)用 278
8.1 Publish發(fā)布功能 278
8.2 曲線擬合與插值 282
8.3 MuPAD Notebook的使用 285
8.4 低級文件輸入/輸出 287
8.4.1 打開和關(guān)閉文件 287
8.4.2 讀/寫格式化文件 288
8.4.3 讀/寫二進制數(shù)據(jù) 290
8.4.4 文件定位 291
第2部分 習 題
第1章 MATLAB R2015b環(huán)境 294
第2章 MATLAB數(shù)值計算 294
第3章 MATLAB符號計算 296
第4章 MATLAB計算的可視化和GUI設(shè)計 297
第5章 MATLAB程序設(shè)計 299
第6章 線性控制系統(tǒng)分析與設(shè)計 300
第7章 Simulink仿真環(huán)境 302
第8章 MATLAB高級應(yīng)用 303
第3部分 實 驗
實驗1 MATLAB R2015b環(huán)境及命令窗口 305
實驗2 MATLAB數(shù)值計算 316
實驗3 MATLAB符號計算 325
實驗4 MATLAB計算的可視化和GUI設(shè)計 333
實驗5 MATLAB程序設(shè)計 341
實驗6 線性控制系統(tǒng)分析與設(shè)計 348
實驗7 Simulink仿真環(huán)境 358
第4部分 附 錄
附錄A 習題參考答案 368
附錄B 模擬測試題 389
附錄C 模擬測試題參考答案 391
附錄D 例題索引 394
附錄E 程序的調(diào)試 400
E.1 錯誤類型 400
E.2 程序調(diào)試器 400