MATLAB語言是集數(shù)值計算、符號運算、可視化建模、仿真和圖形處理等功能于一體的高級計算機語言,它具有很好的開放性,用戶可以根據(jù)自己的需求,利用MATLAB提供的基本工具,靈活地編制和開發(fā)自己的程序。這使MATLAB在眾多領(lǐng)域里得到廣泛的應(yīng)用。
MATLAB從產(chǎn)生時起,就得到國內(nèi)外許多院校師生和科研人員的關(guān)注、應(yīng)用和開發(fā)。Moler博士等一批數(shù)學(xué)家和軟件專家成立了Mathsworks軟件開發(fā)公司,對MATLAB進行了大規(guī)模擴展與改進。許多學(xué)者對MATLAB進行了自主開發(fā),并將其以工具箱的形式加入MATLAB總體環(huán)境。目前的MATLAB已增加了許多專用工具箱,如有限元分析、控制系統(tǒng)、系統(tǒng)辨識、信號處理、魯棒控制、分析與綜合、模糊控制、神經(jīng)網(wǎng)絡(luò)、小波分析、定量反饋理論、多變量頻域設(shè)計等工具箱。
在國內(nèi),MATLAB語言也得到越來越多院校師生和科研、工程技術(shù)人員的青睞,在教學(xué)、科研、工程技術(shù)中得到應(yīng)用,成為大學(xué)生、研究生必須掌握的基本技能之一。
Simulink是MATLAB軟件的擴展,是用來對動態(tài)系統(tǒng)進行建模、仿真和分析的軟件包,是面向系統(tǒng)結(jié)構(gòu)圖、非常方便的仿真工具,它使一個復(fù)雜系統(tǒng)模型的建立和仿真變得簡單和直觀。近年來,Simulink已經(jīng)在學(xué)術(shù)和工業(yè)等領(lǐng)域得到廣泛應(yīng)用。
本書作者將十幾年的MATLAB理論教學(xué)、研究和實際編程經(jīng)驗進行系統(tǒng)總結(jié),參考以往出版的MATLAB專著和教材,根據(jù)MATLAB應(yīng)用前景和潛能,精心編寫了本書。
本書以實例形式詳細(xì)介紹了MATLAB的基本功能和常用命令,系統(tǒng)全面地幫助讀者了解MATLAB的強大功能,深入領(lǐng)悟和掌握MATLAB的使用方法和編程技巧。為學(xué)生掌握、運用MATLAB語言打下良好基礎(chǔ)。本科、?茖W(xué)生在校期間,可以用MATLAB完成線性代數(shù)、自動控制理論、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等內(nèi)容的工程計算以及系統(tǒng)分析、設(shè)計和仿真。
本書在編寫過程中,充分考慮到該課程的教學(xué)課時數(shù)有限(計劃40~50學(xué)時),而MATLAB內(nèi)容豐富的特點,以及當(dāng)前學(xué)生的知識水平和能力結(jié)構(gòu)的現(xiàn)狀,力求做到理論知識少而精,夠用為度,注重培養(yǎng)學(xué)生解決實際問題的應(yīng)用能力,為培養(yǎng)應(yīng)用型人才奠定基礎(chǔ)。
本書既可以作為大專院校計算機專業(yè)及其他相關(guān)專業(yè)的教材,也可以作為各種基礎(chǔ)課程和控制類等專業(yè)的輔助性教科書。自本書第1版發(fā)行以來,得到廣大讀者的關(guān)心與幫助,在此向廣大讀者致以深切的謝意。
第3版保留了第1、2版中理論教學(xué)部分,增加了MATLAB課程設(shè)計任務(wù)部分,讀者在掌握本書內(nèi)容的基礎(chǔ)上可以具備二次開發(fā)的能力,以便自主編程,進行更為廣泛深入的研究和工程設(shè)計工作。
總之,第3版既考慮到教材的實用性、系統(tǒng)性,又兼顧了MATLAB仿真技術(shù)的發(fā)展和應(yīng)用的需要,對原版教材由淺入深、循序漸進地做了補充,希望得到讀者的認(rèn)可。
第3版教材仍由遼寧科技學(xué)院張岳編寫完成。在第3版編寫過程中,編著者借鑒了一些優(yōu)秀的MATLAB教材,同時,得到遼寧科技學(xué)院王立福同學(xué)的大力支持和幫助,在此表示由衷的感謝。
由于編著者水平有限,書中難免存在不足和疏漏之處,懇請廣大讀者批評、指正。
編著者2022年3月
課件和習(xí)題答案
第2版前言
MATLAB語言是集數(shù)值計算、符號運算、可視化建模、仿真和圖形處理等功能于一體的高級計算機語言,它具有很好的開放性,用戶可以根據(jù)自己的需求,利用MATLAB提供的基本工具,靈活地編制和開發(fā)自己的程序,使MATLAB在眾多領(lǐng)域里得到廣泛應(yīng)用。
MATLAB從產(chǎn)生時起,就得到國內(nèi)外許多院校師生、科研人員的關(guān)注、應(yīng)用和開發(fā)。Moler博士等一批數(shù)學(xué)家和軟件專家成立了MathWorks軟件開發(fā)公司,對MATLAB進行了大規(guī)模的擴展與改進。許多學(xué)者對MATLAB進行了自主開發(fā),以工具箱的形式加入MATLAB總體環(huán)境。目前的MATLAB已增加了許多專用工具箱,如有限元分析、控制系統(tǒng)、系統(tǒng)辨識、信號處理、魯棒控制、分析與綜合、模糊控制、神經(jīng)網(wǎng)絡(luò)、小波分析、定量反饋理論、多變量頻域設(shè)計等工具箱。
在國內(nèi),MATLAB語言也得到越來越多院校師生和科研、工程技術(shù)人員的青睞,在教學(xué)、科研、工程技術(shù)中得到應(yīng)用,成為大學(xué)生、研究生必須掌握的基本技能之一。
Simulink是MATLAB軟件的擴展,是用來對動態(tài)系統(tǒng)進行建模、仿真和分析的軟件包,是面向系統(tǒng)結(jié)構(gòu)圖的方便的仿真工具,使一個復(fù)雜系統(tǒng)模型的建立和仿真變得簡單和直觀。近年來,Simulink已經(jīng)在學(xué)術(shù)和工業(yè)等領(lǐng)域得到廣泛應(yīng)用。
本書作者將十幾年的MATLAB理論教學(xué)、研究和實際編程經(jīng)驗進行系統(tǒng)總結(jié),參考以往出版的MATLAB專著和教材,根據(jù)MATLAB應(yīng)用前景和潛能,精心編寫了本書。
本書以實例形式詳細(xì)介紹了MATLAB的基本功能和常用命令,系統(tǒng)、全面地幫助讀者了解MATLAB的強大功能,深入領(lǐng)悟和掌握MATLAB的使用方法和編程技巧。為學(xué)生掌握、運用MATLAB語言打下良好基礎(chǔ)。本科、專科學(xué)生在校期間,可以用MATLAB完成線性代數(shù)、自動控制理論、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等內(nèi)容的工程計算以及系統(tǒng)分析、設(shè)計和仿真。
本書在編寫過程中,充分考慮到該課程的教學(xué)時數(shù)有限(計劃40~50學(xué)時),而MATLAB內(nèi)容豐富的特點,以及當(dāng)前學(xué)生的知識水平和能力結(jié)構(gòu)的現(xiàn)狀,力求做到理論知識少而精,夠用為度,注重培養(yǎng)學(xué)生解決實際問題的應(yīng)用能力。
本書既可以作為大專院校計算機專業(yè)及其他相關(guān)專業(yè)的教材,也可以作為各種基礎(chǔ)課程和控制類等專業(yè)的輔助性教科書。自本書發(fā)行以來,得到廣大讀者的關(guān)心與幫助,在此向廣大讀者致以深切的謝意。
第2版除保留了原版中理論教學(xué)部分外,還增加了圖形用戶界面設(shè)計部分,讀者在掌握本書內(nèi)容的基礎(chǔ)上可以具備二次開發(fā)的能力,以便自主編程,進行更為廣泛深入的研究和工程設(shè)計工作。
總之,第2版既考慮到教材的實用性、系統(tǒng)性,又兼顧了MATLAB仿真技術(shù)的發(fā)展和應(yīng)用的需要,希望得到讀者的認(rèn)可。
第2版仍由遼寧科技學(xué)院張岳編寫。在編寫過程中借鑒了一些院校有關(guān)MATLAB教材,在此向教材的作者們表示由衷的感謝。
由于作者水平有限,書中難免存在不足和疏漏之處,懇請廣大讀者批評指正。
編者2016年3月
第1版前言
MATLAB軟件是由美國New Mexico大學(xué)的Cleve Moler博士首創(chuàng),全名為Matrix Labortory(矩陣實驗室)。它建立在20世紀(jì)七八十年代流行的LINPACK(線性代數(shù)計算)和ESPACK(特征值計算)軟件包的基礎(chǔ)上。MATLAB是伴隨Windows環(huán)境的發(fā)展而迅速發(fā)展起來的。它充分利用了Windows環(huán)境的交互性、多任務(wù)功能和圖形功能,創(chuàng)建了以C語言為基礎(chǔ)的MATLAB專用語言,使復(fù)雜的矩陣運算、數(shù)值運算變得簡單、直觀。
MATLAB語言是集數(shù)值計算、符號運算、可視化建模、仿真和圖形處理等功能于一體的高級計算機語言,它具有很好的開放性,用戶可以根據(jù)自己的需求,利用MATLAB提供的基本工具,靈活地編制和開發(fā)自己的程序,使MATLAB在眾多領(lǐng)域得到了廣泛應(yīng)用。
MATLAB從產(chǎn)生時起,就得到國內(nèi)外許多院校師生、科研人員的關(guān)注、應(yīng)用和開發(fā)。Moler博士等一批數(shù)學(xué)家和軟件專家成立了MathWorks軟件開發(fā)公司,對MATLAB進行了大規(guī)模的擴展與改進。許多學(xué)者對MATLAB進行了自主開發(fā),以工具箱的形式加入MATLAB總體環(huán)境。目前的MATLAB已增加了許多專用工具箱,如有限元分析、控制系統(tǒng)、系統(tǒng)辨識、信號處理、魯棒控制、分析與綜合、模糊控制、神經(jīng)網(wǎng)絡(luò)、小波分析、定量反饋理論、多變量頻域設(shè)計等工具箱。
在國內(nèi),MATLAB語言也得到越來越多院校師生和科研、工程技術(shù)人員的青睞,在教學(xué)、科研、工程技術(shù)中得到應(yīng)用,成為大學(xué)生、研究生必須掌握的基本技能之一。
Simulink是MATLAB軟件的擴展,是用來對動態(tài)系統(tǒng)進行建模、仿真和分析的軟件包,是面向系統(tǒng)結(jié)構(gòu)圖的方便的仿真工具,使一個復(fù)雜系統(tǒng)模型的建立和仿真變得簡單和直觀。近年來,Simulink已經(jīng)在學(xué)術(shù)和工業(yè)等領(lǐng)域得到廣泛應(yīng)用。
本書作者將十幾年的MATLAB理論教學(xué)、研究和實際編程經(jīng)驗進行系統(tǒng)總結(jié),參考以往出版的MATLAB專著和教材,根據(jù)MATLAB應(yīng)用前景和潛能,精心編寫了本書。
本書以實例形式詳細(xì)介紹了MATLAB的基本功能和常用命令,系統(tǒng)、全面地幫助讀者了解MATLAB的強大功能,深入領(lǐng)悟和掌握MATLAB的使用方法和編程技巧,為學(xué)生掌握、運用MATLAB語言打下良好基礎(chǔ)。本科、?茖W(xué)生在校期間,可以用MATLAB完成線性代數(shù)、自動控制理論、數(shù)字信號處理、時間序列分析、動態(tài)系統(tǒng)仿真、圖像處理等內(nèi)容的工程計算以及系統(tǒng)分析、設(shè)計和仿真。
本書在編寫過程中,充分考慮該課程的教學(xué)時數(shù)有限(計劃40~50學(xué)時),而MATLAB內(nèi)容豐富的特點,以及當(dāng)前學(xué)生的知識水平和能力結(jié)構(gòu)的現(xiàn)狀,力求做到理論知識少而精,夠用為度,注重培養(yǎng)學(xué)生解決實際問題的應(yīng)用能力。
本書既可以作為應(yīng)用型本科、高職高專院校計算機專業(yè)及其他相關(guān)專業(yè)的教材,也可以作為各種基礎(chǔ)課程和控制類等專業(yè)的輔助性教科書。在掌握本書內(nèi)容的基礎(chǔ)上,讀者可以具備二次開發(fā)的能力,以便自主編程,進行更為廣泛深入的研究和工程設(shè)計工作。
本書由遼寧科技學(xué)院張岳編寫。在編寫過程中借鑒了一些院校有關(guān)MATLAB教材,在此向這些教材的作者表示由衷的感謝。
由于作者水平有限,書中難免存在不足和疏漏之處,懇請廣大讀者批評指正。
編者2011年4月
第1章MATLAB概述
1.1MATLAB簡介
1.2MATLAB用戶界面概述
1.2.1MATLAB的啟動與退出
1.2.2MATLAB的組成及功能
1.2.3MATLAB的在線幫助及功能演示
小結(jié)
習(xí)題
第2章MATLAB矩陣及其運算
2.1變量與常量
2.1.1變量
2.1.2常量
2.2函數(shù)
2.2.1基本數(shù)學(xué)函數(shù)
2.2.2三角函數(shù)與反三角函數(shù)
2.3數(shù)組與矩陣
2.3.1數(shù)組
2.3.2矩陣
2.4矩陣的創(chuàng)建
2.4.1命令行窗口直接輸入
2.4.2通過M文件創(chuàng)建矩陣
2.4.3利用MATLAB函數(shù)創(chuàng)建矩陣
2.4.4通過外部數(shù)據(jù)文件的導(dǎo)入創(chuàng)建矩陣
2.5矩陣與數(shù)組的運算規(guī)則
2.5.1算術(shù)運算符
2.5.2關(guān)系運算符
2.5.3邏輯運算符
2.6特殊矩陣的創(chuàng)建與操作
2.6.1特殊矩陣及其創(chuàng)建
2.6.2矩陣的特殊操作
小結(jié)
習(xí)題
第3章MATLAB的數(shù)值計算
3.1多項式的創(chuàng)建與運算
3.1.1多項式的描述與創(chuàng)建
3.1.2多項式的運算
3.2線性方程求解
3.2.1代數(shù)方程及代數(shù)方程組的求解
3.2.2微分方程及微分方程組的求解
3.3曲線擬合與插值
3.3.1曲線擬合
3.3.2插值
小結(jié)
習(xí)題
第4章MATLAB圖形繪制基礎(chǔ)
4.1二維圖形
4.2特殊圖形
4.2.1條形圖
4.2.2餅圖
4.2.3其他圖形
4.3三維圖形
4.3.1基本三維曲線圖
4.3.2網(wǎng)格圖
4.3.3特殊三維圖形
4.4圖形的控制與修飾
4.4.1圖形窗口的創(chuàng)建與分割
4.4.2坐標(biāo)軸控制函數(shù)
4.4.3圖形的標(biāo)注
小結(jié)
習(xí)題
第5章MATLAB程序設(shè)計
5.1M函數(shù)與M文件
5.1.1M文件編輯器與編譯器
5.1.2M函數(shù)
5.1.3M文件
5.2MATLAB的程序結(jié)構(gòu)
5.2.1順序結(jié)構(gòu)
5.2.2循環(huán)結(jié)構(gòu)
5.2.3分支結(jié)構(gòu)
5.2.4程序流程控制
5.3程序的調(diào)試與優(yōu)化
5.3.1程序錯誤種類
5.3.2程序的調(diào)試
5.3.3程序的優(yōu)化
小結(jié)
習(xí)題
第6章圖形用戶界面設(shè)計
6.1圖形用戶界面的開發(fā)環(huán)境
6.1.1圖形用戶界面的開發(fā)環(huán)境的啟動
6.1.2圖形用戶界面的開發(fā)環(huán)境
6.1.3控件的創(chuàng)建與操作
6.2幾何位置排列工具
6.3屬性編輯器
6.4菜單編輯器
6.5對象瀏覽器
6.6對話框設(shè)計
6.7圖形用戶界面設(shè)計示例
小結(jié)
習(xí)題
第7章Simulink動態(tài)仿真集成環(huán)境
7.1Simulink概述
7.2Simulink仿真結(jié)構(gòu)圖的創(chuàng)建與優(yōu)化
7.2.1創(chuàng)建或打開仿真結(jié)構(gòu)圖
7.2.2功能模塊的處理
7.2.3功能模塊之間的連線處理
7.2.4演示示波器
7.3Simulink仿真方法
7.3.1仿真參數(shù)設(shè)置
7.3.2Simulink建模與仿真示例
7.4模塊化與封裝
7.4.1模塊化
7.4.2封裝
小結(jié)
習(xí)題
第8章MATLAB在線性連續(xù)控制系統(tǒng)中的應(yīng)用
8.1MATLAB在線性控制系統(tǒng)中的建模與仿真
8.1.1傳遞函數(shù)描述
8.1.2部分分式描述
8.1.3零極點描述
8.2線性控制系統(tǒng)的時間響應(yīng)分析
8.2.1階躍輸入激勵下的仿真響應(yīng)分析
8.2.2脈沖輸入激勵下的仿真響應(yīng)分析
8.2.3任意輸入激勵下的仿真響應(yīng)分析
8.3線性控制系統(tǒng)的頻域響應(yīng)分析
8.4線性控制系統(tǒng)的穩(wěn)定性分析
8.4.1直接求根法
8.4.2時域狀態(tài)下穩(wěn)定性分析
8.4.3頻域狀態(tài)下穩(wěn)定性分析
小結(jié)
習(xí)題
第9章MATLAB模糊邏輯工具箱及應(yīng)用
9.1模糊控制簡述
9.2MATLAB模糊邏輯工具箱
9.2.1模糊邏輯工具箱的功能特點
9.2.2模糊推理系統(tǒng)的基本類型
9.2.3模糊邏輯系統(tǒng)的構(gòu)成
9.3MATLAB模糊邏輯工具箱的圖形用戶界面
9.3.1MATLAB模糊邏輯工具箱的啟動
9.3.2MATLAB模糊推理系統(tǒng)編輯器的組成與功能
9.3.3MATLAB隸屬函數(shù)編輯器的組成與功能
9.3.4MATLAB模糊規(guī)則編輯器的組成與功能
9.3.5MATLAB規(guī)則查看器的組成與功能
9.3.6MATLAB表面圖像查看器的組成與功能
9.4基于MATLAB模糊邏輯工具箱的應(yīng)用示例
小結(jié)
習(xí)題
第10章MATLAB在電路及電力電子中的應(yīng)用
10.1SimPowerSystem簡介
10.1.1SimPowerSystem啟動
10.1.2常用模塊功能簡介
10.2MATLAB/Simulink在電路及電力電子中的應(yīng)用
10.3MATLAB/Simulink在電機調(diào)速系統(tǒng)中的建模與仿真
小結(jié)
習(xí)題
第11章MATLAB在數(shù)字信號處理中的應(yīng)用
11.1離散時間信號及其運算
11.1.1離散時間信號的描述
11.1.2離散時間信號的運算
11.2離散時間信號的卷積與相關(guān)
11.2.1卷積
11.2.2相關(guān)
11.3傅里葉變換
11.3.1離散傅里葉變換
11.3.2快速傅里葉變換
11.4濾波器設(shè)計
11.4.1濾波器設(shè)計函數(shù)
11.4.2有限沖激響應(yīng)FIR濾波器的窗函數(shù)
11.4.3MATLAB實現(xiàn)濾波器設(shè)計
11.5SPTOOL工具簡介
11.5.1SPTOOL的工作環(huán)境
11.5.2信號瀏覽器
11.5.3濾波器瀏覽器和濾波器設(shè)計器
11.5.4頻譜瀏覽器
11.5.5濾波器設(shè)計示例
小結(jié)
習(xí)題
附錄AMATLAB課程設(shè)計任務(wù)書
附錄B部分常用TeX字符表
參考文獻