MATLAB軟件環(huán)境是美國新墨西哥大學的Cleve Moler博士首創(chuàng)的,其全稱為MATrixLABoratory(矩陣實驗室)。MATLAB是以20世紀七八十年代流行的LINPACK(線性代數(shù)計算)和ESPACK(特征值計算)軟件包為基礎發(fā)展起來的。MATLAB軟件隨著Windows環(huán)境的發(fā)展而迅速發(fā)展,其充分利用了Windows環(huán)境的交互性、多任務功能和圖形功能,開發(fā)了矩陣的智能和數(shù)學可視化表示方式,創(chuàng)建了一種建立在C語言基礎上的MATLAB專用語言,使得矩陣運算、數(shù)值運算、數(shù)據(jù)與圖形顯示等變得極為簡單易行。MATLAB語言是一種更為抽象的高級數(shù)學應用語言,它一方面與C語言類似,另一方面又更為接近人的抽象思維,通用性強,便于學習和編程。同時,MATLAB軟件環(huán)境還具有很好的開放性,用戶可以根據(jù)自己的需求,利用MATLAB提供的基本工具,靈活地編制和開發(fā)自己的程序,開創(chuàng)新的應用;可以自行編制程序,添加新的計算工具箱。
MATLAB從誕生起,就得到國外許多高校師生、科技人員的關注。Moler博士等一批數(shù)學家和軟件專家成立了Mathworks軟件開發(fā)公司,對MATLAB進行了大規(guī)模的擴展與改進。大批美國和其他國家的學者都對MATLAB 進行了自主開發(fā),以工具箱的形式加入MATLAB總體環(huán)境。目前在控制應用領域也已經(jīng)有多種專用工具箱,如有限元分析、控制系統(tǒng)、系統(tǒng)辨識、信號處理、魯棒控制、分析與綜合、模糊控制、神經(jīng)網(wǎng)絡、小波分析、定量反饋理論、多變量頻域設計、實時化等。同時,增加了強大的符號運算功能、圖形處理功能等,使MATLAB的應用更為廣泛、深入。近幾十年來,MATLAB已逐步成為國內(nèi)外大學的通用計算工具,成為工業(yè)領域、航空航天領域工程師必不可少的研究與計算工具。MATLAB軟件包目前已在國內(nèi)大多數(shù)高等院校、研究院所得到廣泛、深入的應用。
MATLAB的發(fā)展極為迅速,每年更新兩次版本,本書內(nèi)容基于MATLAB
R2017a版本。每一個新版本都對原有版本進行了不同程度的改進:MATLAB 6.0版本增加了航空航天計算模塊,改善了實時化計算模塊;MATLAB 7.0以上版本提供了MATLAB與其下層實時仿真計算機DSPACE的無縫鏈接,具備了由MATLAB語言直接轉(zhuǎn)為C代碼進行實時仿真的功能,使MATLAB在工程設計和實現(xiàn)方面具有了實用性和競爭優(yōu)勢,受到廣大工程設計人員和單位的重視。
本書第二版所用的版本是MATLAB R2006a,到現(xiàn)在已歷經(jīng)了10年的更新。與2015年前的版本相比,MATLAB
R2017a版本的很多指令都有了較大程度的更改和簡化,如矩陣的加法、減法、除法,都變?yōu)橹苯邮褂?、-、*、/和\符號,需要重新介紹。同時,新的版本幾乎涵蓋了舊版本的全部內(nèi)容,在新版本下可以打開使用舊版本編輯的軟件。
今天,MATLAB已經(jīng)走出了校園,深入到工業(yè)生產(chǎn)、科學研究等各個領域,成為世界范圍內(nèi)公認的可靠性高的高級計算機編程語言,成為眾多新型項目開發(fā)和產(chǎn)品研制的首選軟件虛擬環(huán)境,也成為很多專業(yè)領域科技人員必須掌握的一門計算機技術(shù)。
本書介紹了MATLAB 控制與仿真工具箱的基礎知識和基本應用,為學生掌握、運用MATLAB語言打下基礎。大學本科、專科學生在校學習期間,可以通過學習本書內(nèi)容、輔助其更好地完成高等數(shù)學、微積分、線性代數(shù)、微分方程、數(shù)值運算、時域仿真和頻譜分析等課程的課內(nèi)外習題。控制工程與自動化類專業(yè)的本科生、研究生以及工程研究與技術(shù)人員還可利用其進行系統(tǒng)分析、設計、仿真等方面更深入的學習和研究。在掌握本書內(nèi)容的基礎上,用戶還可利用它進行二次開發(fā),自主編程,從而進行更為廣泛、深入的研究和工程設計工作。
本書重點講述了MATLAB 的矩陣運算、符號運算、圖形功能、控制系統(tǒng)分析與設計、Simulink仿真和實時化等方面的內(nèi)容。每章都詳細介紹了MATLAB的基本語句與運算功能,給出了簡單的應用例題以說明該語句的應用,以及MATLAB指令表和應用說明。部分章節(jié)給出了較為復雜的應用例題,說明利用基本語句的再次開發(fā)過程。本書中還給出了很多控制理論與仿真方面的綜合應用例題,豐富了MATLAB軟件的應用。另外,還開發(fā)了MATLAB與ADAMS軟件在虛擬樣機方面的聯(lián)合應用,進一步擴展了MATLAB的應用領域。本書在講解中力求概念清楚,通俗易懂。
本書只涉及MATLAB在Windows環(huán)境下的應用,用戶可自行擴展至Unix、Macintosh等多種計算機操作系統(tǒng)。
本書程序源代碼、習題答案、課件等資料均可通過掃描本頁的二維碼關注北航理工圖書公眾號回復2747獲得。如有疑問請發(fā)送郵件至goodtextbook@126.com 或撥打010 82317036聯(lián)系圖書編輯。
本書在MATLAB中文論壇設有專門的交流版塊,供同行們暢所欲言,相關鏈接如下:
交流版塊:https://www.ilovematlab.cn/forum-271-1.html
程序源代碼下載地址:https://www.ilovematlab.cn/thread-554432-1-1.html
勘誤地址:https://www.ilovematlab.cn/thread-554433-1-1.html
本書由北京航空航天大學自動化科學與電氣工程學院自動控制系教師編寫完成。其中第1章由張平編寫,歐陽光協(xié)助;第2章由吳云潔編寫,李國飛協(xié)助;第3章由夏潔編寫,周銳協(xié)助;第4章由袁少強編寫,毛亦舟協(xié)助;第5章由張平、董小萌編寫,熊笑協(xié)助。作者希望本書可以成為讀者在學習、研究和工程技術(shù)開發(fā)過程中友好而實用的輔助工具,也衷心希望讀者朋友們可以將您的使用意見和改進建議反饋給我們,作者郵箱zhp@buaa.edu.cn、xiaj@buaa.edu.cn。
作 者
2018年5月30日于北京
第1章 MATLAB入門與基本運算………1
1.1 MATLAB環(huán)境與文件管理…… 1
1.2 基本數(shù)據(jù)定義與變量管理……… 3
1.2.1 建立與查詢數(shù)據(jù)………………… 3
1.2.2 在線查詢與功能演示…………… 6
1.3 變量、數(shù)組與函數(shù)………………… 7
1.3.1 變 量………………………… 7
1.3.2 注釋和標點…………………… 8
1.3.3 復數(shù)表示……………………… 8
1.3.4 數(shù)學函數(shù)……………………… 9
1.4 數(shù)據(jù)的輸入與輸出……………… 10
1.4.1 利用M 文件生成數(shù)據(jù)…………
10
1.4.2 save與load指令………………
10
1.4.3 低級文件的輸入與輸出………… 11
1.5 數(shù)組與矩陣運算………………… 13
1.5.1 矩陣的表示與塊操作…………… 13
1.5.2 矩陣的運算…………………… 17
1.5.3 矩陣函數(shù)……………………… 21
1.6 M 函數(shù)與M 文件………………
22
1.6.1 M 函數(shù)與M 函數(shù)文件…………
22
1.6.2 M 文件………………………… 24
1.7 多項式運算……………………… 26
1.7.1 求根及其逆運算……………… 26
1.7.2 加法、減法與乘法……………… 26
1.7.3 微分與賦值運算……………… 27
1.7.4 有理多項式…………………… 28
1.8 控制語句與邏輯運算…………… 30
1.8.1 for循環(huán)……………………… 30
1.8.2 while循環(huán)…………………… 32
1.8.3 條件語句……………………… 32
1.8.4 關系運算和邏輯運算…………… 33
1.8.5 字符運算……………………… 36
1.9 曲線擬合與插值運算…………… 39
1.9.1 曲線擬合……………………… 39
1.9.2 插值運算……………………… 40
1.10 符號運算……………………… 45
1.10.1 符號表達式…………………… 45
1.10.2 符號表達式的運算…………… 49
1.10.3 微分和積分…………………… 54
1.10.4 符號表達式畫圖……………… 56
1.10.5 符號表達式的簡化…………… 57
1.10.6 可變精度算術(shù)運算…………… 58
1.10.7 符號方程求解………………… 60
1.10.8 線性代數(shù)和符號矩陣………… 63
1.11 本章小結(jié)……………………… 67
習 題………………………………… 67
第2章
圖形與可視化……………… 69
2.1 二維繪圖的plot指令…………
69
2.2 圖形修飾與控制………………… 71
2.2.1 坐標軸的調(diào)整………………… 71
2.2.2 文字標示……………………… 72
2.2.3 網(wǎng)格控制……………………… 73
2.2.4 圖例注解……………………… 73
2.2.5 圖形的保持…………………… 74
2.2.6 圖形窗口的分割……………… 74
2.2.7 圖形的填充…………………… 75
2.2.8 交互式繪圖操作……………… 76
2.3 特殊坐標二維圖形……………… 77
2.3.1 對數(shù)坐標圖形………………… 77
2.3.2 極坐標圖形…………………… 78
2.4 特殊二維圖形…………………… 78
2.4.1 函數(shù)圖形……………………… 78
2.4.2 餅 圖………………………… 79
2.4.3 條形圖………………………… 80
2.4.4 梯形圖………………………… 80
2.4.5 概率分布圖…………………… 81
2.4.6 向量圖………………………… 81
2.4.7 函數(shù)繪圖……………………… 82
2.5 三維圖形………………………… 83
2.5.1 基本三維圖形………………… 84
2.5.2 改變視角……………………… 85
2.5.3 特殊三維圖形………………… 86
2.6 三維數(shù)據(jù)的二維圖……………… 95
2.7 其他圖形函數(shù)…………………… 97
2.8 圖形窗編輯功能………………… 99
2.8.1 圖形窗菜單…………………… 99
2.8.2 快捷工具欄………………… 101
2.8.3 二維圖形的交互編輯示例…… 101
2.9 圖形用戶界面設計…………… 102
2.9.1 圖形窗口的生成……………… 102
2.9.2 菜單的實現(xiàn)………………… 104
2.9.3 對話框的實現(xiàn)………………… 107
2.9.4 控件設計技術(shù)………………… 108
2.10 圖形用戶界面(GUI)的應用………111
2.10.1 控件管理工具 ……………… 114
2.10.2 控件編程設計……………… 116
2.11 動態(tài)圖形與動畫……………… 122
2.12 本章小結(jié)……………………… 123
習 題………………………………… 125
第3章
線性系統(tǒng)分析與設計…… 127
3.1 概 述………………………… 127
3.2 線性系統(tǒng)的描述……………… 127
3.2.1 連續(xù)系統(tǒng)的數(shù)學描述………… 128
3.2.2 離散系統(tǒng)的數(shù)學描述………… 133
3.3 模型之間的轉(zhuǎn)換……………… 134
3.3.1 線性系統(tǒng)模型之間的轉(zhuǎn)換…… 134
3.3.2 連續(xù)系統(tǒng)與離散系統(tǒng)之間的轉(zhuǎn)換…138
3.4 時間響應分析………………… 142
3.4.1 脈沖響應…………………… 143
3.4.2 對任意輸入的響應…………… 145
3.4.3 階躍響應…………………… 147
3.5 頻率響應分析………………… 148
3.5.1 連續(xù)系統(tǒng)頻率特性…………… 149
3.5.2 離散系統(tǒng)頻率特性…………… 154
3.5.3 時間延遲系統(tǒng)的頻率特性…… 156
3.6 根軌跡分析…………………… 157
3.6.1 常規(guī)根軌跡………………… 158
3.6.2 廣義根軌跡………………… 158
3.6.3 零度根軌跡………………… 160
3.7 狀態(tài)反饋設計………………… 161
3.7.1 連續(xù)系統(tǒng)的狀態(tài)反饋設計…… 162
3.7.2 離散系統(tǒng)的狀態(tài)反饋設計…… 164
3.8 最優(yōu)二次型設計……………… 164
3.8.1 連續(xù)系統(tǒng)的最優(yōu)二次型設計… 165
3.8.2 離散系統(tǒng)的最優(yōu)二次型設計… 166
3.8.3 對輸出加權(quán)的最優(yōu)二次型設計……166
3.8.4 線性二次型Gauss最優(yōu)設計…
166
3.9 系統(tǒng)辨識與降階……………… 167
3.9.1 系統(tǒng)辨識…………………… 167
3.9.2 控制系統(tǒng)的模型降階………… 169
3.10 仿真例題………………………171
3.10.1 線性系統(tǒng)離散化及其頻率特性和響應……171
3.10.2 太陽光源跟蹤系統(tǒng)的根軌跡設計……176
3.11 本章小結(jié)……………………… 182
習 題………………………………… 183
第4章 Simulink仿真環(huán)境……… 185
4.1 Simulink概述………………… 185
4.2 Simulink仿真環(huán)境及其模型庫
………………………………… 185
4.3 方框圖模型的建立和仿真…… 194
4.4 Simulink仿真環(huán)境使用說明
………………………………… 198
4.4.1 菜單功能…………………… 198
4.4.2 方框圖模型的裝飾…………… 201
4.4.3 模塊屬性的改變……………… 202
4.4.4 演示示波器………………… 203
4.5 仿真方法及計算步長的選擇… 205
4.5.1 仿真方法的選擇……………… 205
4.5.2 計算步長的選擇……………… 206
4.5.3
Simulink中對仿真方法及步長的設置……207
4.6 模塊組與模塊封裝…………… 210
4.6.1 模塊組的形成………………… 210
4.6.2 模塊封裝…………………… 212
4.7 Simulink仿真實例…………… 215
4.7.1 Simulink的Demo演示實例…… 215
4.7.2 多速率計算機控制系統(tǒng)仿真… 217
4.7.3 仿真結(jié)構(gòu)圖的參數(shù)化………… 221
4.7.4 與M 函數(shù)的組合仿真…………
222
習 題………………………………… 226
第5章 MATLAB綜合應用實例………228
5.1 大量數(shù)據(jù)的處理……………… 228
5.2 證明歐拉矩陣為Hermit矩陣……229
5.3 基于符號語言的線性系統(tǒng)離散化……230
5.4 系統(tǒng)二次型最優(yōu)設計與仿真… 232
5.5 與ADAMS聯(lián)合的虛擬樣機設計應用………236
5.5.1 系統(tǒng)的初步設計……………… 236
5.5.2 機械系統(tǒng)的建模與分析……… 237
5.5.3 控制系統(tǒng)設計與仿真………… 240
5.5.4 ADAMS模型導入Simulink環(huán)境……242
5.5.5
Simulink與ADAMS聯(lián)合仿真及結(jié)果……247
5.6 本章小結(jié)……………………… 249
后 記………………………………… 250
參考文獻……………………………… 251