本教程內(nèi)容豐富、結(jié)構(gòu)合理、思路清晰、語言簡練流暢、示例翔實(shí)。每一章的引言部分概述了該章的學(xué)習(xí)目標(biāo)和學(xué)習(xí)重點(diǎn)。在每一章的正文中,結(jié)合所講述的關(guān)鍵技術(shù)和難點(diǎn),穿插了大量極富實(shí)用價(jià)值的示例。每一章末尾都安排了有針對性的應(yīng)用實(shí)例和練習(xí)題,練習(xí)題有助于培養(yǎng)讀者的實(shí)際動手能力,增強(qiáng)對基本概念的理解和實(shí)際應(yīng)用能力。
MATLAB是當(dāng)前最優(yōu)秀的科學(xué)計(jì)算軟件之一,也是許多科學(xué)領(lǐng)域中分析、應(yīng)用和開發(fā)的基本工具。MATLAB的全稱是MatrixLaboratory,是由美國Mathworks公司于20世紀(jì)80年代推出的數(shù)學(xué)軟件。最初它是一種專門用于矩陣運(yùn)算的軟件,經(jīng)過多年的發(fā)展,MATLAB已經(jīng)發(fā)展成為一種功能全面的軟件,是用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級技術(shù)計(jì)算語言和交互式環(huán)境,幾乎可以解決科學(xué)計(jì)算中的所有問題。而且MATLAB編寫簡單、代碼效率高等優(yōu)點(diǎn)使得MATLAB在工程計(jì)算與仿真、圖像處理、通信、信號處理、金融計(jì)算等領(lǐng)域都得到十分廣泛的應(yīng)用。
MATLABR2016b為2016年推出的最新版本,不僅包含了Simulink的許多新功能,而且簡化了MATLAB應(yīng)用的構(gòu)建流程,有助于加快模型開發(fā)和仿真速度。本書詳細(xì)介紹了MATLABR2016b的功能和使用方法,并且按照由淺入深的順序安排章節(jié),依次介紹了MATLABR2016b的基本應(yīng)用以及數(shù)學(xué)計(jì)算功能及高級應(yīng)用,如編程功能、繪圖、GUI設(shè)計(jì)及Simulink建模等。通過詳細(xì)介紹各功能中的常用函數(shù)及其使用方法,并講解這些函數(shù)的具體應(yīng)用,來使讀者掌握這些功能。每一章的開始部分簡要介紹該章的基本內(nèi)容,并且指定學(xué)習(xí)目標(biāo),使讀者能夠明確學(xué)習(xí)任務(wù)。重點(diǎn)章節(jié)的結(jié)尾部分都有一個(gè)綜合應(yīng)用實(shí)例,以方便對該章內(nèi)容綜合知識的掌握和實(shí)際應(yīng)用能力的提高。課后配有緊扣每章內(nèi)容的習(xí)題。通過這些習(xí)題,讀者可以加深對MATLAB的了解,更加熟悉MATLAB的應(yīng)用。通過閱讀此書,讀者可以快速、全面地掌握MATLABR2016b的使用方法。利用書中的實(shí)例及課后的習(xí)題訓(xùn)練,讀者可以達(dá)到熟練應(yīng)用和融會貫通的目的。
本書內(nèi)容共有12章。第1章介紹MATLAB的發(fā)展歷史、基本功能特點(diǎn)和軟件使用界面;第2章介紹MATLAB數(shù)學(xué)運(yùn)算的基本使用方法,包括MATLAB的常用數(shù)學(xué)函數(shù)、數(shù)據(jù)類型、操作函數(shù)及MATLAB腳本文件等,讓你熟悉MATLAB的基本運(yùn)算功能;第3章介紹MATLAB數(shù)組和向量,包括數(shù)組和向量的創(chuàng)建、數(shù)組的基本運(yùn)算、數(shù)組和向量的操作;第4章介紹MATLAB的數(shù)學(xué)運(yùn)算功能,包括數(shù)據(jù)插值、函數(shù)運(yùn)算及微分方程求解等;第5章介紹MATLAB的其他數(shù)據(jù)結(jié)構(gòu),包括字符串、單元數(shù)組和結(jié)構(gòu)體,為MATLAB編程及更多功能的實(shí)現(xiàn)打下基礎(chǔ);第6章介紹MATLAB編程,包括MATLAB程序設(shè)計(jì)的腳本文件、程序設(shè)計(jì)與開發(fā)、基本語法、語句結(jié)構(gòu)及程序調(diào)試等;第7章介紹MATLAB的符號運(yùn)算工具箱,包括功能和實(shí)現(xiàn)等;第8章介紹MATLAB繪圖,繪圖是MATLAB的一項(xiàng)重要功能,主要介紹基本的圖形繪制、繪制圖形的常用操作、特殊圖形的繪制等內(nèi)容;第9章介紹MATLAB句柄圖形,為學(xué)習(xí)MATLAB圖形用戶界面(GUI)設(shè)計(jì)做好準(zhǔn)備;第10章介紹MATLABGUI設(shè)計(jì);第11章介紹Simulink,主要介紹Simulink建模的基本操作、Simulink的功能模塊庫、常見Simulink模型以及S函數(shù);第12章介紹MATLAB中常用的導(dǎo)入與導(dǎo)出操作。
除封面署名的作者外,參加本書編寫的人員還有宋志輝、侯友山、裴淑娟、李輝、張宇懷、徐曉明、薛繼軍、岳殿召、陳添榮、侯鐵國、劉軍勇、李淑萍、尹志亮、陳光訓(xùn)、吳超群、鄭玉祥、付君澤、黃懷春和靳廷喜等。在本書的編寫過程中,參考了一些相關(guān)著作和文獻(xiàn),在此向這些著作和文獻(xiàn)的作者深表感謝。由于作者水平所限,本書難免有不足之處,歡迎廣大讀者批評指正。我們的郵箱是huchenhao@263.net,電話是010-62796045。
本書對應(yīng)的電子課件、習(xí)題答案和實(shí)例源文件可以到http://www.tupwk.com.cn網(wǎng)站下載。
作者2017年6月
第1章MATLABR2016b簡介1
1.1MATLAB簡介1
1.1.1MATLAB概述1
1.1.2MATLAB的基本功能2
1.1.3MATLAB的更新3
1.2MATLABR2016b的用戶
界面4
1.2.1啟動MATLABR2016b4
1.2.2MATLABR2016b的
主界面4
1.2.3MATLABR2016b的帶狀
工具欄及功能區(qū)介紹6
1.2.4MATLABR2016b的主要
窗口11
1.3MATLABR2016b的路徑
搜索13
1.3.1MATLABR2016b的
當(dāng)前路徑13
1.3.2MATLABR2016b的
路徑搜索14
1.4習(xí)題15
第2章MATLAB的基本使用方法16
2.1簡單的數(shù)學(xué)運(yùn)算16
2.1.1最簡單的計(jì)算器使用法16
2.1.2MATLAB中的常用數(shù)學(xué)
函數(shù)17
2.1.3MATLAB的數(shù)學(xué)運(yùn)算符20
2.1.4標(biāo)點(diǎn)符號的使用21
2.2常用的操作命令和快捷鍵23
2.3MATLAB的數(shù)據(jù)類型24
2.3.1整數(shù)24
2.3.2浮點(diǎn)數(shù)26
2.3.3復(fù)數(shù)27
2.3.4邏輯變量28
2.3.5各種數(shù)據(jù)類型之間的轉(zhuǎn)換31
2.3.6數(shù)據(jù)類型操作函數(shù)32
2.3.7變量33
2.3.8系統(tǒng)預(yù)定義的特殊變量34
2.4MATLAB的運(yùn)算符35
2.4.1關(guān)系運(yùn)算符36
2.4.2邏輯運(yùn)算符36
2.4.3運(yùn)算符的優(yōu)先級37
2.5MATLAB的一些基礎(chǔ)函數(shù)38
2.5.1位操作函數(shù)38
2.5.2邏輯運(yùn)算函數(shù)39
2.5.3集合函數(shù)40
2.5.4時(shí)間與日期函數(shù)41
2.6MATLAB腳本文件42
2.6.1腳本文件的用法42
2.6.2塊注釋43
2.6.3代碼單元44
2.7習(xí)題44
第3章數(shù)組和向量46
3.1MATLAB數(shù)組46
3.2創(chuàng)建數(shù)組47
3.3數(shù)組操作49
3.3.1獲取數(shù)組中的元素49
3.3.2各類型數(shù)組操作49
3.4MATLAB向量57
3.4.1創(chuàng)建向量57
3.4.2向量尺寸59
3.4.3向量索引59
3.4.4縮短向量60
3.4.5向量操作61
3.5習(xí)題68
第4章MATLAB的數(shù)學(xué)運(yùn)算70
4.1多項(xiàng)式與插值70
4.1.1多項(xiàng)式的表示70
4.1.2多項(xiàng)式的四則運(yùn)算71
4.1.3多項(xiàng)式的其他運(yùn)算72
4.1.4數(shù)據(jù)插值74
4.2函數(shù)運(yùn)算78
4.2.1函數(shù)的表示78
4.2.2數(shù)學(xué)函數(shù)圖像的繪制79
4.2.3函數(shù)求極值81
4.2.4函數(shù)求解84
4.2.5數(shù)值積分86
4.2.6含參數(shù)函數(shù)的使用89
4.3微分方程91
4.3.1常微分方程初值問題91
4.3.2常微分方程邊值問題94
4.4習(xí)題96
第5章字符串、單元數(shù)組和結(jié)構(gòu)體97
5.1字符串97
5.1.1字符串的生成97
5.1.2字符串操作99
5.1.3字符串的比較、查找和
替換100
5.1.4字符串與數(shù)值之間的
轉(zhuǎn)換103
5.2單元數(shù)組和結(jié)構(gòu)體105
5.2.1單元數(shù)組105
5.2.2結(jié)構(gòu)體109
5.3習(xí)題113
第6章MATLAB編程114
6.1腳本文件和編輯器114
6.1.1創(chuàng)建和使用腳本文件115
6.1.2有效使用腳本文件116
6.1.3有效使用命令窗口和
編輯器117
6.1.4調(diào)試腳本文件117
6.1.5編程風(fēng)格118
6.1.6記錄度量單位118
6.1.7使用腳本文件存儲數(shù)據(jù)119
6.1.8控制輸入和輸出119
6.1.9用戶輸入120
6.1.10腳本文件示例121
6.2程序設(shè)計(jì)和開發(fā)122
6.2.1算法和控制結(jié)構(gòu)122
6.2.2結(jié)構(gòu)化程序設(shè)計(jì)122
6.2.3自頂向下的設(shè)計(jì)和
程序文檔123
6.2.4偽代碼125
6.2.5查找故障127
6.2.6開發(fā)大型程序127
6.3關(guān)系運(yùn)算符和邏輯變量128
6.3.1logical類129
6.3.2logical函數(shù)129
6.3.3使用邏輯數(shù)組訪問數(shù)組130
6.4邏輯運(yùn)算符和函數(shù)130
6.4.1NOT運(yùn)算131
6.4.2&和|運(yùn)算符131
6.4.3異或函數(shù)132
6.4.4短路邏輯運(yùn)算符133
6.4.5邏輯運(yùn)算符和find函數(shù)135
6.5條件語句136
6.5.1if語句137
6.5.2else語句與elseif語句139
6.5.3字符串和條件語句143
6.6循環(huán)145
6.6.1for循環(huán)145
6.6.2break和continue語句147
6.6.3使用數(shù)組作為循環(huán)索引147
6.6.4隱含循環(huán)148
6.6.5使用邏輯數(shù)組作為掩碼150
6.6.6while循環(huán)151
6.7switch結(jié)構(gòu)153
6.8調(diào)試MATLAB程序155
6.8.1“編輯”功能區(qū)155
6.8.2“斷點(diǎn)”功能區(qū)156
6.8.3“運(yùn)行”功能區(qū)157
6.8.4設(shè)置首選項(xiàng)158
6.8.5查找故障158
6.8.6調(diào)試一個(gè)循環(huán)160
6.9習(xí)題161
第7章MATLAB的符號處理162
7.1符號運(yùn)算簡介162
7.1.1符號對象162
7.1.2符號變量和符號表達(dá)式的
生成163
7.1.3findsym函數(shù)和subs
函數(shù)166
7.1.4符號和數(shù)值之間的轉(zhuǎn)換167
7.1.5任意精度的計(jì)算168
7.1.6創(chuàng)建符號方程169
7.2符號表達(dá)式的化簡與替換171
7.2.1符號表達(dá)式的化簡171
7.2.2符號表達(dá)式的替換175
7.3符號函數(shù)圖形繪制177
7.3.1符號函數(shù)曲線的繪制177
7.3.2符號函數(shù)曲面網(wǎng)格圖及
表面圖的繪制180
7.3.3等值線的繪制181
7.4符號微積分182
7.4.1符號表達(dá)式求極限182
7.4.2符號微分183
7.4.3符號積分184
7.4.4級數(shù)求和185
7.4.5泰勒級數(shù)185
7.5符號方程的求解186
7.5.1代數(shù)方程的求解186
7.5.2求解代數(shù)方程組187
7.5.3微分方程的求解188
7.5.4微分方程組的求解189
7.5.5復(fù)合方程189
7.5.6反方程190
7.6符號積分變換191
7.6.1符號傅立葉變換191
7.6.2符號拉普拉斯變換193
7.6.3符號Z變換194
7.7mfun函數(shù)的使用195
7.8符號函數(shù)計(jì)算器196
7.8.1單變量符號函數(shù)計(jì)算器196
7.8.2泰勒逼近計(jì)算器198
7.9習(xí)題199
第8章MATLAB繪圖201
8.1MATLAB圖形窗口201
8.1.1圖形窗口的創(chuàng)建與控制201
8.1.2圖形窗口的菜單欄204
8.1.3圖形窗口的工具欄208
8.2基本圖形的繪制209
8.2.1二維圖形的繪制209
8.2.2三維圖形的繪制213
8.2.3圖形的其他操作215
8.3特殊圖形的繪制217
8.3.1條形圖和面積圖217
8.3.2餅狀圖220
8.3.3直方圖221
8.3.4離散型數(shù)據(jù)圖222
8.3.5方向矢量圖和速度
矢量圖223
8.3.6等值線的繪制225
8.4圖形注釋226
8.4.1添加基本注釋226
8.4.2添加其他注釋228
8.5三維圖形的高級控制235
8.5.1查看圖形235
8.5.2圖形的色彩控制240
8.5.3光照控制242
8.6習(xí)題243
第9章MATLAB句柄圖形245
9.1MATLAB的圖形對象245
9.1.1Root對象246
9.1.2Figure對象246
9.1.3Core對象247
9.1.4Plot對象248
9.1.5Annotation對象249
9.1.6Group對象251
9.2圖形對象的屬性251
9.3圖形對象屬性值的設(shè)置和
查詢252
9.3.1屬性值的設(shè)置252
9.3.2對象的默認(rèn)屬性值253
9.3.3屬性值的查詢254
9.4習(xí)題255
第10章MATLABGUI設(shè)計(jì)256
10.1GUI簡介256
10.1.1GUI概述256
10.1.2GUI的可選控件257
10.1.3創(chuàng)建簡單的GUI257
10.2通過向?qū)?chuàng)建GUI界面263
10.2.1啟動GUIDE263
10.2.2向GUI中添加控件264
10.2.3創(chuàng)建菜單266
10.3編寫GUI代碼268
10.3.1GUI文件268
10.3.2響應(yīng)函數(shù)269
10.3.3控件編程273
10.3.4GUIDE創(chuàng)建GUI實(shí)例273
10.4通過程序創(chuàng)建GUI275
10.4.1用于創(chuàng)建GUI的函數(shù)276
10.4.2程序創(chuàng)建GUI示例279
10.5習(xí)題288
第11章Simulink的建模與仿真289
11.1Simulink簡介289
11.2Simulink模塊庫291
11.2.1連續(xù)(Continuous)模塊291
11.2.2控制板(Dashboard)
模塊292
11.2.3非連續(xù)(Discontinuous)
模塊293
11.2.4離散(Discrete)模塊294
11.2.5邏輯和位操作(Logicand
BitOperations)模塊295
11.2.6查表(LookupTable)
模塊296
11.2.7數(shù)學(xué)操作(Math
Operations)模塊297
11.2.8模型檢測(Model
Verification)模塊298
11.2.9模型擴(kuò)充(Model-
WideUtilities)模塊299
11.2.10端口和子系統(tǒng)(Ports&
Subsystems)模塊300
11.2.11信號屬性(Signal
Attributes)模塊301
11.2.12信號線路(Signal
Routing)模塊302
11.2.13接收(Sinks)模塊303
11.2.14輸入(Sources)模塊303
11.2.15用戶自定義函數(shù)
(User-DefinedFunctions)
模塊305
11.3Simulink基本仿真建模305
11.3.1仿真框圖305
11.3.2基本建模方法307
11.3.3Simulink基本仿真
建模實(shí)例310
11.4常見Simulink模型312
11.4.1線性狀態(tài)-變量模型312
11.4.2分段線性模型314
11.4.3傳遞-函數(shù)模型320
11.4.4非線性狀態(tài)-變量模型323
11.4.5子系統(tǒng)325
11.5S函數(shù)的設(shè)計(jì)與應(yīng)用330
11.5.1S函數(shù)介紹330
11.5.2S函數(shù)的調(diào)用331
11.5.3S函數(shù)的設(shè)計(jì)331
11.6習(xí)題334
第12章文件和數(shù)據(jù)的導(dǎo)入與導(dǎo)出335
12.1數(shù)據(jù)的基本操作335
12.1.1文件的存儲335
12.1.2數(shù)據(jù)導(dǎo)入336
12.1.3文件的打開337
12.2文本文件的讀寫338
12.3低級文件I/O341
12.4利用界面工具導(dǎo)入數(shù)據(jù)344
12.5習(xí)題345
參考文獻(xiàn)346