本書全面簡潔地介紹MATLAB/Simulink的基礎(chǔ)知識。全書以當(dāng)今流行的MATLAB R2018a和Simulink 9.1為平臺,結(jié)合高等學(xué)校教師的豐富教學(xué)經(jīng)驗(yàn)和科學(xué)研究,詳細(xì)介紹MATLAB/Simulink的開發(fā)環(huán)境、程序設(shè)計(jì)和系統(tǒng)仿真。本書的特色是注重MATLAB/Simulink的基礎(chǔ),兼顧數(shù)學(xué)應(yīng)用;內(nèi)容編排合理科學(xué),由淺入深,循序漸進(jìn);內(nèi)容翔實(shí),例題新穎,例題豐富,便于高校不同專業(yè)的本科生學(xué)習(xí)和掌握MATLAB/Simulink。本書可以作為高等院校理工科各專業(yè)本科生或者研究生教學(xué)用書,也可以作為廣大科研工作者參考用書。
本教材嚴(yán)格參照教育部《普通高等學(xué)校本科專業(yè)目錄》、教育部高等學(xué)校電子電氣基礎(chǔ)課程教學(xué)指導(dǎo)分委員會《電子電氣基礎(chǔ)課程教學(xué)基本要求》,以及新工科和工程教育專業(yè)認(rèn)證理念編寫。本書是以當(dāng)今流行的MATLAB R2020a和Simulink 10.1為平臺編寫的,是不同專業(yè)作者十余年在高校從事MATLAB課程教學(xué)、課程改革、畢業(yè)設(shè)計(jì)指導(dǎo)和利用MATLAB進(jìn)行科學(xué)研究基礎(chǔ)上編著而成。本書具有以下特色:
? 融合新工科和工程教育專業(yè)認(rèn)證理念 以學(xué)生為中心,案例式教學(xué)為手段,培養(yǎng)學(xué)生用MATLAB/Simulink解決復(fù)雜工程問題的能力。
? 知識體系編排科學(xué),符合認(rèn)知學(xué)習(xí)規(guī)律 按照先基礎(chǔ)后案例,先理論后實(shí)驗(yàn),由淺入深,循序漸進(jìn)的原則進(jìn)行編排,便于讀者從入門開始學(xué)習(xí)MATLAB/Simulink。
? 內(nèi)容簡單全面,例題與實(shí)例豐富實(shí)用 詳細(xì)介紹MATLAB/Simulink的基本內(nèi)容,列舉豐富的例題和案例,便于讀者充分掌握MATLAB/Simulink的各種函數(shù)和命令。
? 理論教學(xué)與動手實(shí)踐結(jié)合緊密 本書提供配套的教學(xué)課件、程序代碼、習(xí)題解答及全書插圖,便于教師教學(xué);同時(shí),也提供配套的11個(gè)MATLAB/Simulink實(shí)驗(yàn)內(nèi)容,便于學(xué)生上機(jī)實(shí)踐。
教學(xué)資源
? 教學(xué)課件
? 程序代碼
? 習(xí)題解答
? 全書插圖
? 教學(xué)大綱
? 授課計(jì)劃
MATLAB是由MathWorks公司開發(fā)的,目前已經(jīng)發(fā)展成為國際上流行、應(yīng)用廣泛的科學(xué)計(jì)算軟件之一。在全球5000所大學(xué)中,MATLAB被廣泛應(yīng)用于工程、科學(xué)、經(jīng)濟(jì)和金融等領(lǐng)域的教學(xué)、科研以及學(xué)生項(xiàng)目開發(fā)。MATLAB軟件具有強(qiáng)大的矩陣計(jì)算、數(shù)值計(jì)算、符號計(jì)算、數(shù)據(jù)可視化和系統(tǒng)仿真分析等功能,廣泛應(yīng)用于科學(xué)計(jì)算、人工智能與數(shù)據(jù)科學(xué)、電子電氣與信息技術(shù)、機(jī)械能動與控制、工業(yè)工程與智能制造、金融、經(jīng)濟(jì)與管理等領(lǐng)域,也成為線性代數(shù)、高等數(shù)學(xué)、概率論與數(shù)理統(tǒng)計(jì)、信號與系統(tǒng)、數(shù)字信號處理、數(shù)字圖像處理、時(shí)間序列分析、自動控制原理、動態(tài)系統(tǒng)仿真等課程的基本教學(xué)工具。近年來,MATLAB成為國內(nèi)外眾多高校本科生和研究生的課程,成為學(xué)生必須掌握的基本編程語言之一,也成為教師、科研人員和工程師進(jìn)行教學(xué)、科學(xué)研究和生產(chǎn)實(shí)踐的一個(gè)基本工具。
本書以當(dāng)今流行的MATLAB R2020a和Simulink 10.1為平臺,由不同專業(yè)作者在高校從事十余年MATLAB課程教學(xué)、課程改革、畢業(yè)設(shè)計(jì)指導(dǎo)和利用MATLAB進(jìn)行科學(xué)研究的基礎(chǔ)上編著而成,具有以下特點(diǎn):
(1) 體現(xiàn)新工科和工程教育專業(yè)認(rèn)證理念。以學(xué)生為中心,案例式教學(xué)為手段,培養(yǎng)學(xué)生用MATLAB解決復(fù)雜工程問題的能力。
(2) 內(nèi)容編排科學(xué)、合理。本書按先基礎(chǔ)后案例,先理論后實(shí)驗(yàn),由淺入深、循序漸進(jìn)的原則進(jìn)行編排,便于讀者學(xué)習(xí)MATLAB和Simulink。
(3) 內(nèi)容全面,案例豐富。本書詳細(xì)介紹MATLAB和Simulink的基本內(nèi)容,提供豐富的例題和案例,便于讀者更好地掌握MATLAB和Simulink的各種函數(shù)和命令。
(4) 理論教學(xué)與上機(jī)實(shí)驗(yàn)相配套。 為了便于教師教學(xué),本書提供配套的電子教案、例題和案例的源代碼、習(xí)題答案以及所有圖片; 為了便于讀者上機(jī)做實(shí)驗(yàn),本書提供
11個(gè)MATLAB/Simulink基本實(shí)驗(yàn)。
本書分三篇: MATLAB/Simulink基礎(chǔ)篇、MATLAB/Simulink案例篇和MATLAB/Simulink實(shí)驗(yàn)篇。MATLAB/Simulink基礎(chǔ)篇包括: 第1章MATLAB語言概述,主要介紹MATLAB語言的發(fā)展、特點(diǎn)、環(huán)境、幫助系統(tǒng)、數(shù)據(jù)類型和運(yùn)算符; 第2章MATLAB矩陣及其運(yùn)算,主要介紹矩陣的創(chuàng)建、矩陣的修改、矩陣基本運(yùn)算和矩陣分析; 第3章MATLAB字符串和數(shù)組,主要介紹字符串、多維數(shù)組、結(jié)構(gòu)數(shù)組和元胞數(shù)組; 第4章MATLAB程序結(jié)構(gòu)和M文件,主要介紹MATLAB程序結(jié)構(gòu)、M腳本文件、M函數(shù)文件和程序調(diào)試; 第5章MATLAB數(shù)值計(jì)算,主要介紹多項(xiàng)式運(yùn)算、數(shù)據(jù)插值、數(shù)據(jù)擬合、數(shù)據(jù)統(tǒng)計(jì)和數(shù)值計(jì)算; 第6章MATLAB符號運(yùn)算,主要介紹符號定義、符號運(yùn)算、符號極限、符號微分和積分; 第7章MATLAB數(shù)據(jù)可視化,主要介紹MATLAB二維曲線繪制、二維特殊圖形繪制、三維曲線和曲線繪制; 第8章MATLAB圖形用戶界面,主要介紹圖形用戶界面、控制框常用對象及功能、GUI菜單的設(shè)計(jì); 第9章Simulink仿真基礎(chǔ),主要介紹Simulink、常用模塊、模塊編輯和Simulink仿真。MATLAB/Simulink案例篇主要介紹本書前9章MATLAB/Simulink基礎(chǔ)內(nèi)容的66個(gè)典型案例。MATLAB/Simulink實(shí)驗(yàn)篇介紹11個(gè)基本的MATLAB/Simulink實(shí)驗(yàn)。
本書適合作為高等院校理工科各專業(yè)的教學(xué)用書,也可以作為研究生、科研與工程技術(shù)人員的參考用書。建議授課學(xué)時(shí)為40或48學(xué)時(shí)。對于短課時(shí)(如32學(xué)時(shí),低年級開的課程),可以講授第1~7章和第9章
內(nèi)容以及第11章實(shí)驗(yàn)部分,第8章MATLAB圖形用戶界面和第10章MATLAB/Simulink案例應(yīng)用部分可以留給學(xué)生自學(xué)。
本書第1~5章、第8章、第11章由廣東海洋大學(xué)徐國保編寫,第10章由廣東海洋大學(xué)劉雯景編寫,第7章由廣東海洋大學(xué)趙桂艷編寫,第9章由北京林業(yè)大學(xué)陳鋒軍編寫,第6章由廣東海洋大學(xué)黃江編寫。為了確保本書的質(zhì)量,各部分的應(yīng)用案例由教學(xué)經(jīng)驗(yàn)豐富的相關(guān)專業(yè)任課教師編寫。本書的編寫思路與內(nèi)容選擇由編者集體討論確定,全書的代碼更新和調(diào)試運(yùn)行由劉雯景負(fù)責(zé),
全書例題的微課視頻錄制由徐國保和趙桂艷負(fù)責(zé),
全書由徐國保負(fù)責(zé)統(tǒng)稿、校稿和定稿。
在本書的編寫過程中,參考和引用了相關(guān)教材和資料,在此一并向教材和資料的作者表示誠摯的謝意。
為了便于學(xué)生學(xué)習(xí),全書附有習(xí)題(84道習(xí)題)的參考答案和所有例題的源代碼及微課視頻(419分鐘)。為了方便教師教學(xué),本書配有完整的教學(xué)課件(10章PPT)、所有例題(172個(gè)例題)的源代碼、全書圖片(259張圖)素材、實(shí)驗(yàn)內(nèi)容(11個(gè)實(shí)驗(yàn))電子版、課程大綱、授課計(jì)劃表以及課后習(xí)題答案等內(nèi)容,歡迎選用本書作為教材的老師聯(lián)系作者索取。
由于編者的水平有限,書中難免存在不妥之處,歡迎使用本書的教師、學(xué)生和科技人員批評指正,以便再版時(shí)改進(jìn)和提高。
編者2021年7月
MATLAB/Simulink基礎(chǔ)篇
第1章MATLAB語言概述
1.1MATLAB語言的發(fā)展
1.2MATLAB語言的特點(diǎn)
1.3MATLAB語言的環(huán)境
1.3.1MATLAB語言的安裝
1.3.2MATLAB語言的界面簡介
1.4MATLAB幫助系統(tǒng)
1.4.1help查詢幫助函數(shù)
1.4.2lookfor查詢幫助函數(shù)
1.4.3聯(lián)機(jī)幫助系統(tǒng)
1.5MATLAB數(shù)據(jù)類型
1.5.1常量和變量
1.5.2整數(shù)和浮點(diǎn)數(shù)
1.5.3復(fù)數(shù)
1.6MATLAB運(yùn)算符
1.6.1算術(shù)運(yùn)算符
1.6.2關(guān)系運(yùn)算符
1.6.3邏輯運(yùn)算符
1.6.4優(yōu)先級
習(xí)題
第2章MATLAB矩陣及其運(yùn)算
2.1矩陣的創(chuàng)建
2.1.1直接輸入矩陣
2.1.2冒號生成矩陣
2.1.3利用函數(shù)生成矩陣
2.1.4利用文本文件生成矩陣
2.1.5利用M文件生成矩陣
2.1.6特殊矩陣的生成
2.2矩陣的修改
2.2.1矩陣部分替換
2.2.2矩陣部分刪除
2.2.3矩陣部分?jǐn)U展
2.2.4矩陣結(jié)構(gòu)變換
2.3矩陣的基本運(yùn)算
2.3.1矩陣的加減運(yùn)算
2.3.2矩陣的乘法運(yùn)算
2.3.3矩陣的除法運(yùn)算
2.3.4矩陣的乘方運(yùn)算
2.3.5矩陣的點(diǎn)運(yùn)算
2.4矩陣的分析
2.4.1方陣的行列式
2.4.2矩陣的秩和跡
2.4.3矩陣的逆和偽逆
2.4.4線性方程組的解
2.4.5矩陣的特征值和特征向量
2.4.6矩陣的分解
2.4.7矩陣的信息獲取函數(shù)
習(xí)題
第3章MATLAB字符串和數(shù)組
3.1字符串
3.1.1字符串的創(chuàng)建
3.1.2字符串的操作
3.1.3字符串轉(zhuǎn)換
3.2多維數(shù)組
3.2.1多維數(shù)組的創(chuàng)建
3.2.2多維數(shù)組的操作
3.3結(jié)構(gòu)數(shù)組
3.3.1結(jié)構(gòu)數(shù)組的創(chuàng)建
3.3.2結(jié)構(gòu)體內(nèi)部數(shù)據(jù)的獲取
3.3.3結(jié)構(gòu)體的操作函數(shù)
3.4元胞數(shù)組
3.4.1元胞數(shù)組的創(chuàng)建
3.4.2元胞數(shù)組的操作
習(xí)題
第4章MATLAB程序結(jié)構(gòu)和M文件
4.1程序結(jié)構(gòu)
4.1.1順序結(jié)構(gòu)
4.1.2選擇結(jié)構(gòu)
4.1.3循環(huán)結(jié)構(gòu)
4.1.4程序控制命令
4.2M文件
4.2.1M文件的分類和特點(diǎn)
4.2.2M文件的創(chuàng)建和打開
4.3M函數(shù)文件
4.3.1M函數(shù)文件的格式
4.3.2M函數(shù)文件的調(diào)用
4.3.3主函數(shù)和子函數(shù)
4.3.4函數(shù)的參數(shù)
4.3.5函數(shù)的變量
4.4程序調(diào)試
4.4.1命令窗口調(diào)試
4.4.2MATLAB菜單調(diào)試
4.4.3MATLAB調(diào)試函數(shù)
習(xí)題
第5章MATLAB數(shù)值計(jì)算
5.1多項(xiàng)式
5.1.1多項(xiàng)式的創(chuàng)建
5.1.2多項(xiàng)式的值和根
5.1.3多項(xiàng)式的四則運(yùn)算
5.1.4多項(xiàng)式的微積分運(yùn)算
5.1.5多項(xiàng)式的部分分式展開
5.2數(shù)據(jù)插值
5.2.1一維插值
5.2.2二維插值
5.2.3多維插值
5.3數(shù)據(jù)擬合
5.4數(shù)據(jù)統(tǒng)計(jì)
5.4.1矩陣元素的值和小值
5.4.2矩陣元素的平均值和中值
5.4.3矩陣元素的排序
5.4.4矩陣元素求和與求積
5.4.5矩陣元素的累加和與累乘積
5.4.6標(biāo)準(zhǔn)方差和相關(guān)系數(shù)
5.5數(shù)值計(jì)算
5.5.1函數(shù)極值
5.5.2函數(shù)零點(diǎn)
5.5.3數(shù)值差分
5.5.4數(shù)值積分
5.5.5常微分方程求解
習(xí)題
第6章MATLAB符號運(yùn)算
6.1MATLAB符號運(yùn)算的特點(diǎn)
6.2MATLAB符號對象的創(chuàng)建和使用
6.3符號多項(xiàng)式函數(shù)運(yùn)算
6.3.1多項(xiàng)式函數(shù)的符號表達(dá)形式及相互轉(zhuǎn)換
6.3.2符號多項(xiàng)式的向量表示形式及其計(jì)算
6.3.3反函數(shù)和復(fù)合函數(shù)求解
6.4符號微積分運(yùn)算
6.4.1函數(shù)的極限和級數(shù)運(yùn)算
6.4.2符號微分運(yùn)算
6.4.3符號積分運(yùn)算
6.5符號方程求解
6.5.1符號代數(shù)方程求解
6.5.2符號常微分方程求解
6.5.3一維偏微分方程求解
習(xí)題
第7章MATLAB數(shù)據(jù)可視化
7.1概述
7.2二維曲線的繪制
7.2.1繪圖基本函數(shù)
7.2.2線性圖格式設(shè)置
7.2.3圖形修飾
7.2.4圖形保持
7.2.5多個(gè)圖形繪制
7.3二維特殊圖形的繪制
7.3.1柱狀圖
7.3.2餅形圖
7.3.3直方圖
7.3.4離散數(shù)據(jù)圖
7.3.5向量圖
7.3.6極坐標(biāo)圖
7.3.7對數(shù)坐標(biāo)圖
7.3.8雙縱坐標(biāo)圖
7.3.9函數(shù)繪圖
7.4三維曲線和曲面的繪制
7.4.1繪制三維曲線圖
7.4.2繪制三維曲面圖
7.4.3繪制三維特殊圖形
7.4.4繪制動畫圖形
7.5MATLAB圖形窗口
習(xí)題
第8章MATLAB圖形用戶界面
8.1圖形用戶界面簡介
8.1.1GUI的設(shè)計(jì)原則及步驟
8.1.2GUI設(shè)計(jì)窗口的打開、關(guān)閉和保存
8.1.3GUI的模板
8.2控制框常用對象及功能
8.2.1GUI按鈕
8.2.2GUI滑塊
8.2.3GUI單選按鈕
8.2.4GUI復(fù)選框
8.2.5GUI可編輯文本和靜態(tài)文本
8.2.6GUI彈出式菜單
8.2.7GUI列表框
8.2.8GUI切換按鈕
8.2.9GUI軸
8.3GUI菜單的設(shè)計(jì)
8.3.1使用菜單編輯器創(chuàng)建菜單
8.3.2使用句柄對象創(chuàng)建菜單
習(xí)題
第9章Simulink仿真基礎(chǔ)
9.1Simulink概述
9.1.1Simulink的基本概念
9.1.2Simulink模塊的組成
9.1.3Simulink中的數(shù)據(jù)類型
9.2Simulink的使用
9.2.1Simulink的啟動和退出
9.2.2在Simulink的窗口創(chuàng)建一個(gè)新模型
9.2.3Simulink模塊的操作
9.2.4Simulink的建模和仿真
9.3Simulink的模塊庫及模塊
9.3.1Commonly Used Blocks子模塊庫
9.3.2Continuous子模塊庫
9.3.3Dashboard子模塊庫
9.3.4Discontinuities子模塊庫
9.3.5Discrete子模塊庫
9.3.6Logic and Bit Operations子模塊庫
9.3.7Lookup Tables子模塊庫
9.3.8Math Operations子模塊庫
9.3.9Message & Events子模塊庫
9.3.10Model Verification子模塊庫
9.3.11ModelWide Utilities子模塊庫
9.3.12Ports & Subsystems子模塊庫
9.3.13Signal Attributes子模塊庫
9.3.14Signal Routing子模塊庫
9.3.15Sinks子模塊庫
9.3.16Sources子模塊庫
9.3.17String子模塊庫
9.3.18UserDefined Functions子模塊庫
9.4Simulink模塊操作及建模
9.4.1Simulink模型
9.4.2Simulink模塊的基本操作
9.4.3系統(tǒng)模型注釋與信號標(biāo)簽設(shè)置
9.4.4Simulink建模
9.5Simulink模塊及仿真參數(shù)設(shè)置
9.5.1模塊參數(shù)設(shè)置
9.5.2Simulink仿真參數(shù)設(shè)置
9.6過零檢測和代數(shù)環(huán)
9.6.1過零檢測
9.6.2代數(shù)環(huán)
習(xí)題
MATLAB/Simulink案例篇
第10章MATLAB/Simulink案例
10.1MATLAB運(yùn)算基礎(chǔ)案例
10.1.1三角函數(shù)運(yùn)算案例
10.1.2指數(shù)和對數(shù)運(yùn)算案例
10.1.3面積和周長案例
10.1.4關(guān)系和邏輯運(yùn)算案例
10.2MATLAB矩陣運(yùn)算案例
10.2.1等差矩陣生成案例
10.2.2特殊矩陣生成案例
10.2.3矩陣修改案例
10.2.4矩陣運(yùn)算案例
10.2.5線性方程組求解案例
10.3MATLAB字符串及數(shù)組案例
10.3.1MATLAB字符串案例
10.3.2MATLAB多維數(shù)組案例
10.3.3MATLAB元胞數(shù)組和結(jié)構(gòu)數(shù)組案例
10.4MATLAB程序結(jié)構(gòu)案例
10.4.1MATLAB順序結(jié)構(gòu)案例
10.4.2MATLAB選擇結(jié)構(gòu)案例
10.4.3MATLAB循環(huán)結(jié)構(gòu)案例
10.5MATLAB文件案例
10.5.1M腳本文件案例
10.5.2M函數(shù)文件案例
10.6MATLAB多項(xiàng)式案例
10.6.1多項(xiàng)式的值和根案例
10.6.2多項(xiàng)式的四則運(yùn)算案例
10.6.3多項(xiàng)式的微積分運(yùn)算案例
10.6.4多項(xiàng)式的部分分式展開案例
10.7MATLAB數(shù)據(jù)插值和擬合案例
10.7.1數(shù)據(jù)插值案例
10.7.2數(shù)據(jù)擬合案例
10.8MATLAB數(shù)據(jù)統(tǒng)計(jì)和數(shù)值計(jì)算案例
10.8.1數(shù)據(jù)統(tǒng)計(jì)案例
10.8.2數(shù)值計(jì)算案例
10.9MATLAB符號計(jì)算案例
10.9.1MATLAB符號多項(xiàng)式函數(shù)運(yùn)算案例
10.9.2MATLAB符號微積分運(yùn)算案例
10.9.3MATLAB符號方程求解案例
10.10MATLAB繪圖案例
10.10.1二維曲線的繪制案例
10.10.2二維特殊圖形的繪制案例
10.10.3三維曲線和曲面的繪制案例
10.11MATLAB圖形用戶界面案例
10.11.1曲線修飾演示系統(tǒng)案例
10.11.2圖像預(yù)處理演示系統(tǒng)案例
10.12Simulink仿真案例
MATLAB/Simulink實(shí)驗(yàn)篇
第11章MATLAB/Simulink實(shí)驗(yàn)
11.1實(shí)驗(yàn)一MATLAB運(yùn)算基礎(chǔ)
11.2實(shí)驗(yàn)二向量和矩陣的運(yùn)算
11.3實(shí)驗(yàn)三字符串及矩陣分析
11.4實(shí)驗(yàn)四M腳本文件和函數(shù)文件
11.5實(shí)驗(yàn)五程序結(jié)構(gòu)設(shè)計(jì)
11.6實(shí)驗(yàn)六多項(xiàng)式運(yùn)算及多項(xiàng)式插值和擬合
11.7實(shí)驗(yàn)七數(shù)據(jù)統(tǒng)計(jì)和數(shù)值計(jì)算
11.8實(shí)驗(yàn)八符號計(jì)算
11.9實(shí)驗(yàn)九MATLAB繪圖
11.10實(shí)驗(yàn)十MATLAB圖形用戶界面
11.11實(shí)驗(yàn)十一Simulink仿真
附錄A習(xí)題答案
參考文獻(xiàn)