本書深入淺出,以MATLABR2014a為平臺,全面細(xì)致地講述MATLAB軟件的基礎(chǔ)應(yīng)用及其技術(shù)的應(yīng)用,加入大量MATLAB在工程領(lǐng)域前沿的技術(shù)和科研工作實例的介紹,理論與實踐并重,使讀者能夠很快入手掌握MATLAB圖像處理應(yīng)用方法。全書共10章,內(nèi)容包括MATLAB的運行環(huán)境、矩陣與數(shù)值計算、MATLAB圖形繪制、MATLAB程序設(shè)計、Simulink動態(tài)仿真環(huán)境,以及MATLAB在線性控制系統(tǒng)、智能控制系統(tǒng)、電路及電力電子系統(tǒng)、數(shù)字信號處理系統(tǒng)中的應(yīng)用。本書系統(tǒng)性和應(yīng)用性強,所有相關(guān)程序都經(jīng)過上機(jī)驗證通過,且每章都附有小結(jié)和習(xí)題,方便讀者學(xué)習(xí)與總結(jié)。本書可以作為理工科學(xué)生MATLAB的本科生教材,也可供從事MATLAB領(lǐng)域研究的工程技術(shù)人員參考。
適讀人群 :電氣、通信]、自動化相關(guān)專業(yè)學(xué)生及行業(yè)工程師
計算機(jī)及電子信息專業(yè)本科生均可使用。全書精選100余個MATLAB應(yīng)用實例,側(cè)重MATLAB軟件及應(yīng)用環(huán)節(jié)的全面介紹!
MATLAB是美國Mathworks公司開發(fā)推出的一款集科學(xué)計算、可視化功能、幫助提示功能于一體的開放交互式大型軟件。目前,MATLAB已成為圖像處理、信號處理、自動控制等專業(yè)的基礎(chǔ)核心課程首選實驗平臺,而對于學(xué)生最有效的學(xué)習(xí)途徑是結(jié)合相關(guān)專業(yè)課程的學(xué)習(xí)來掌握MATLAB軟件的使用和編程。
相比于其他同類書籍,本書是在充分體現(xiàn)MATLAB高級語言編程的特點,提高用戶分析問題及解決問題能力的基礎(chǔ)上編寫的,有以下特點。
。1)基礎(chǔ)知識與最新功能并重。全書在介紹MATLAB軟件基本功能和應(yīng)用的基礎(chǔ)上,對其新增功能進(jìn)行了介紹和講解。
(2)結(jié)合實例和詳細(xì)注解。本書精選了一百多個例子,對實例附有詳細(xì)的注釋和解析,以及運行結(jié)果。
(3)面向?qū)嶋H應(yīng)用。本書列舉了語音信號處理、溫度數(shù)據(jù)采集和通信、導(dǎo)航信息解算和自動控制理論等實例
全書共10章。第1-6章為基礎(chǔ)篇,介紹入門基礎(chǔ)、數(shù)值計算、程序設(shè)計、Simulink仿真、圖形繪制、GUI圖形用戶界面等基礎(chǔ)知識;第7-10章為應(yīng)用篇,介紹MATLAB在語音處理、導(dǎo)航控制、數(shù)據(jù)采集通信、自動控制等方面的應(yīng)用。各章內(nèi)容簡單介紹如下。
第1章介紹MATLAB軟件的工作環(huán)境和幫助系統(tǒng),尤其是與舊版本不同的地方。第2章介紹了MATLAB的數(shù)據(jù)類型、數(shù)組和矩陣運算和稀疏矩陣的處理。第3章介紹了程序設(shè)計,包括變量與語句、程序控制、M文件編程和程序調(diào)試等。第4章介紹了Simulink仿真工具的使用,包括相關(guān)概念、工作環(huán)境、系統(tǒng)模型、子系統(tǒng)封裝和S函數(shù)等內(nèi)容。第5章介紹了二維繪圖和三維繪圖的基本方法和圖形控制,以及特殊圖形的繪制。第6章介紹了GUI圖形用戶界面的設(shè)計,包括創(chuàng)建GUI控件、菜單、工具欄和對話框,以及創(chuàng)建GUI組件的回調(diào)函數(shù)設(shè)計方法。第7章介紹了數(shù)據(jù)采集和串口通信應(yīng)用,第8章介紹了導(dǎo)航控制應(yīng)用,第9章介紹了語音信號處理應(yīng)用,第10章介紹了自動控制應(yīng)用。
本書的編寫得到了華北水利水電大學(xué)和機(jī)械工業(yè)出版社的大力支持。本書是張濤和齊永奇共同完成的,其中齊永奇負(fù)責(zé)第3、4、7、9章的編寫,其余部分和全書的通稿由張濤完成。機(jī)械工業(yè)出版社的編緝?yōu)楸緯某霭娓冻隽诵燎诘膭趧。對于書中引用的論文和資料的作者,在此表示深深的感謝。
由于時間倉促,書中難免存在不妥之處,請讀者原諒,并提出寶貴意見。
目錄
第1章MATLAB基礎(chǔ)1
1.1MATLAB概述1
1.1.1MATLAB發(fā)展歷程1
1.1.2MATLAB系統(tǒng)構(gòu)成2
1.1.3MATLAB功能2
1.1.4MATLAB常用工具箱3
1.2MATLAB操作環(huán)境4
1.2.1MATLAB啟動和退出4
1.2.2MATLAB主菜單和功能5
1.2.3命令窗口7
1.2.4命令歷史窗口8
1.2.5工作空間窗口9
1.2.6當(dāng)前工作目錄窗口10
1.3MATLAB幫助使用11
1.3.1命令查詢11
1.3.2演示幫助13
1.3.3聯(lián)機(jī)幫助13
1.4習(xí)題14
第2章MATLAB矩陣計算15
2.1數(shù)據(jù)類型16
2.1.1基本數(shù)值類型16
2.1.2字符串18
2.1.3單元數(shù)組19
2.1.4結(jié)構(gòu)體19
2.2矩陣基礎(chǔ)21
2.2.1矩陣創(chuàng)建21
2.2.2矩陣操作23
2.3矩陣運算27
2.3.1基本運算27
2.3.2其他運算31
2.4矩陣分析33
2.4.1矩陣信息量33
2.4.2矩陣分解37
2.5稀疏矩陣40
2.5.1稀疏矩陣存儲40
2.5.2創(chuàng)建稀疏矩陣40
2.5.3稀疏矩陣運算43
2.6習(xí)題44
第3章 MATLAB程序設(shè)計45
3.1M文件46
3.1.1腳本文件46
3.1.2函數(shù)文件47
3.1.3函數(shù)類型50
3.2變量和語句55
3.2.1變量類型55
3.2.2控制流56
3.3程序調(diào)試64
3.3.1直接調(diào)試法64
3.3.2工具調(diào)試法65
3.4函數(shù)設(shè)計和實現(xiàn)69
3.4.1建立數(shù)學(xué)模型69
3.4.2編寫代碼70
3.4.3運行程序70
3.5習(xí)題71
第4章Simulink仿真設(shè)計71
4.1Simulink概述72
4.1.1Simulink工作環(huán)境72
4.1.2Simulink模塊庫74
4.2Simulink模型的創(chuàng)建和仿真85
4.2.1模型建立86
4.2.2設(shè)置模型參數(shù)87
4.2.3運行仿真89
4.2.4仿真示例89
4.3仿真器參數(shù)配置92
4.3.1Solver面板92
4.3.2Data Import/Export面板94
4.3.3Optimization面板94
4.3.4Diagnotics面板95
4.3.5Hardware Implementation面板95
4.3.6Model Referencing面板96
4.4子系統(tǒng)創(chuàng)建和封裝96
4.4.1創(chuàng)建子系統(tǒng)97
4.4.2封裝子系統(tǒng)97
4.5S函數(shù)設(shè)計99
4.5.1S函數(shù)使用方法99
4.5.2S函數(shù)工作原理100
4.5.3S函數(shù)設(shè)計模板100
4.5.4S函數(shù)示例103
4.6習(xí)題107
第5章MATLAB繪圖108
5.1MATLAB繪圖基本流程109
5.2二維繪圖110
5.2.1基本二維繪圖110
5.2.2函數(shù)繪圖114
5.2.3特殊二維繪圖117
5.3二維繪圖顯示設(shè)置121
5.3.1曲線格式設(shè)置122
5.3.2圖形區(qū)域控制124
5.3.3圖形標(biāo)注信息127
5.3.4圖形編輯器132
5.4三維繪圖134
5.4.1三維曲線134
5.4.2三維網(wǎng)格曲面135
5.4.3三維陰影曲面138
5.5三維圖形顯示控制141
5.5.1視角設(shè)置141
5.5.2光照設(shè)置142
5.5.3顏色設(shè)置144
5.6習(xí)題145
第6章GUI圖形用戶界面設(shè)計145
6.1圖形用戶界面實現(xiàn)146
6.1.1GUI設(shè)計原則146
6.1.2利用GUIDE工具實現(xiàn)圖形界面設(shè)計146
6.2創(chuàng)建用戶控件148
6.3編輯菜單149
6.3.1設(shè)計下拉菜單149
6.3.2設(shè)計右鍵彈出菜單152
6.4設(shè)計工具欄152
6.5生成對話框153
6.5.1文件打開和保存對話框153
6.5.2輸入對話框154
6.5.3問題對話框154
6.5.4消息對話框155
6.5.5錯誤對話框155
6.5.6警告對話框156
6.5.7進(jìn)程條156
6.5.8列表對話框157
6.5.9幫助對話框157
6.6其他設(shè)計工具158
6.6.1控件位置編輯器158
6.6.2Tab順序編輯器158
6.6.3文件編輯器159
6.6.4屬性編輯器159
6.6.5對象瀏覽器160
6.7回調(diào)函數(shù)設(shè)計160
6.7.1界面初始化設(shè)計161
6.7.2對象回調(diào)函數(shù)設(shè)計162
6.7.3回調(diào)函數(shù)的數(shù)據(jù)管理171
6.8 GUI生成MATLAB App172
6.9習(xí)題174
第7章 MATLAB在數(shù)據(jù)采集中的應(yīng)用174
7.1數(shù)據(jù)采集概述175
7.1.1數(shù)據(jù)采集系統(tǒng)175
7.1.2數(shù)據(jù)采集工具箱176
7.2 數(shù)據(jù)采集過程176
7.2.1聲卡的硬件屬性和特性177
7.2.2聲卡數(shù)據(jù)采集178
7.3串口通信185
7.3.1串口通信概念185
7.3.2串口通信標(biāo)準(zhǔn)186
7.4 MATLAB串口通信187
7.4.1MATLAB串口概述187
7.4.2 MATLAB串口通信過程188
7.5溫度采集和通信系統(tǒng)的設(shè)計實現(xiàn)190
7.5.1創(chuàng)建GUI190
7.5.2系統(tǒng)界面設(shè)計190
7.5.3代碼實現(xiàn)192
7.6習(xí)題196
第8章 MATLAB在導(dǎo)航定位中的應(yīng)用196
8.1慣性導(dǎo)航系統(tǒng)197
8.1.1算法初始化198
8.1.2姿態(tài)算法198
8.1.3速度算法201
8.1.4位置算法202
8.1.5誤差模型202
8.1.6慣性導(dǎo)航的MATLAB實現(xiàn)204
8.2衛(wèi)星導(dǎo)航系統(tǒng)209
8.2.1 GPS系統(tǒng)組成209
8.2.2 GPS定位原理210
8.2.3 GPS導(dǎo)航特點211
8.3其他導(dǎo)航系統(tǒng)212
8.3.1視覺導(dǎo)航212
8.3.2聲學(xué)導(dǎo)航212
8.3.3地球物理導(dǎo)航213
8.3.4多普勒測速導(dǎo)航214
8.4組合導(dǎo)航和信息融合215
8.4.1組合導(dǎo)航信息融合構(gòu)架215
8.4.2卡爾曼濾波217
8.4.3組合導(dǎo)航系統(tǒng)建模219
8.4.4組合導(dǎo)航信息融合的MATLAB實現(xiàn)221
8.5習(xí)題224
第9章 MATLAB在語音信號處理中的應(yīng)用225
9.1語音信號概述226
9.2語音信號的采集226
9.3語音信號的加窗處理227
9.4短時時域分析229
9.4.1短時能量分析229
9.4.2短時過零分析231
9.4.3短時相關(guān)分析233
9.5短時頻域分析234
9.5.1短時傅里葉變換234
9.5.2短時頻域特征235
9.5.3頻域分析的應(yīng)用238
9.6語音濾波處理239
9.6.1語音的加噪合成239
9.6.2語音的濾波處理241
9.7MATLAB語音處理綜合實例246
9.8習(xí)題258
第10章 MATLAB在自動控制中的應(yīng)用259
10.1控制系統(tǒng)數(shù)學(xué)模型260
10.1.1傳遞函數(shù)模型260
10.1.2零極點模型261
10.1.3狀態(tài)空間模型262
10.1.4控制模型的轉(zhuǎn)換26