本書全面簡潔地介紹MATLAB/Simulink的基礎(chǔ)知識。全書以當今流行的MATLAB R2018a和Simulink 9.1為平臺,結(jié)合高等學校教師的豐富教學經(jīng)驗和科學研究,詳細介紹MATLAB/Simulink的開發(fā)環(huán)境、程序設(shè)計和系統(tǒng)仿真。本書的特色是注重MATLAB/Simulink的基礎(chǔ),兼顧數(shù)學應(yīng)用;內(nèi)容編排合理科學,由淺入深,循序漸進;內(nèi)容翔實,例題新穎,例題豐富,便于高校不同專業(yè)的本科生學習和掌握MATLAB/Simulink。本書可以作為高等院校理工科各專業(yè)本科生或者研究生教學用書,也可以作為廣大科研工作者參考用書。
本教材嚴格參照教育部《普通高等學校本科專業(yè)目錄》、教育部高等學校電子電氣基礎(chǔ)課程教學指導(dǎo)分委員會《電子電氣基礎(chǔ)課程教學基本要求》,以及新工科和工程教育專業(yè)認證理念編寫。本書是以當今流行的MATLAB R2020a和Simulink 10.1為平臺編寫的,是不同專業(yè)作者十余年在高校從事MATLAB課程教學、課程改革、畢業(yè)設(shè)計指導(dǎo)和利用MATLAB進行科學研究基礎(chǔ)上編著而成。本書具有以下特色:
? 融合新工科和工程教育專業(yè)認證理念 以學生為中心,案例式教學為手段,培養(yǎng)學生用MATLAB/Simulink解決復(fù)雜工程問題的能力。
? 知識體系編排科學,符合認知學習規(guī)律 按照先基礎(chǔ)后案例,先理論后實驗,由淺入深,循序漸進的原則進行編排,便于讀者從入門開始學習MATLAB/Simulink。
? 內(nèi)容簡單全面,例題與實例豐富實用 詳細介紹MATLAB/Simulink的基本內(nèi)容,列舉豐富的例題和案例,便于讀者充分掌握MATLAB/Simulink的各種函數(shù)和命令。
? 理論教學與動手實踐結(jié)合緊密 本書提供配套的教學課件、程序代碼、習題解答及全書插圖,便于教師教學;同時,也提供配套的11個MATLAB/Simulink實驗內(nèi)容,便于學生上機實踐。
教學資源
? 教學課件
? 程序代碼
? 習題解答
? 全書插圖
? 教學大綱
? 授課計劃
MATLAB是由MathWorks公司開發(fā)的,目前已經(jīng)發(fā)展成為國際上流行、應(yīng)用廣泛的科學計算軟件之一。在全球5000所大學中,MATLAB被廣泛應(yīng)用于工程、科學、經(jīng)濟和金融等領(lǐng)域的教學、科研以及學生項目開發(fā)。MATLAB軟件具有強大的矩陣計算、數(shù)值計算、符號計算、數(shù)據(jù)可視化和系統(tǒng)仿真分析等功能,廣泛應(yīng)用于科學計算、人工智能與數(shù)據(jù)科學、電子電氣與信息技術(shù)、機械能動與控制、工業(yè)工程與智能制造、金融、經(jīng)濟與管理等領(lǐng)域,也成為線性代數(shù)、高等數(shù)學、概率論與數(shù)理統(tǒng)計、信號與系統(tǒng)、數(shù)字信號處理、數(shù)字圖像處理、時間序列分析、自動控制原理、動態(tài)系統(tǒng)仿真等課程的基本教學工具。近年來,MATLAB成為國內(nèi)外眾多高校本科生和研究生的課程,成為學生必須掌握的基本編程語言之一,也成為教師、科研人員和工程師進行教學、科學研究和生產(chǎn)實踐的一個基本工具。
本書以當今流行的MATLAB R2020a和Simulink 10.1為平臺,由不同專業(yè)作者在高校從事十余年MATLAB課程教學、課程改革、畢業(yè)設(shè)計指導(dǎo)和利用MATLAB進行科學研究的基礎(chǔ)上編著而成,具有以下特點:
(1) 體現(xiàn)新工科和工程教育專業(yè)認證理念。以學生為中心,案例式教學為手段,培養(yǎng)學生用MATLAB解決復(fù)雜工程問題的能力。
(2) 內(nèi)容編排科學、合理。本書按先基礎(chǔ)后案例,先理論后實驗,由淺入深、循序漸進的原則進行編排,便于讀者學習MATLAB和Simulink。
(3) 內(nèi)容全面,案例豐富。本書詳細介紹MATLAB和Simulink的基本內(nèi)容,提供豐富的例題和案例,便于讀者更好地掌握MATLAB和Simulink的各種函數(shù)和命令。
(4) 理論教學與上機實驗相配套。 為了便于教師教學,本書提供配套的電子教案、例題和案例的源代碼、習題答案以及所有圖片; 為了便于讀者上機做實驗,本書提供
11個MATLAB/Simulink基本實驗。
本書分三篇: MATLAB/Simulink基礎(chǔ)篇、MATLAB/Simulink案例篇和MATLAB/Simulink實驗篇。MATLAB/Simulink基礎(chǔ)篇包括: 第1章MATLAB語言概述,主要介紹MATLAB語言的發(fā)展、特點、環(huán)境、幫助系統(tǒng)、數(shù)據(jù)類型和運算符; 第2章MATLAB矩陣及其運算,主要介紹矩陣的創(chuàng)建、矩陣的修改、矩陣基本運算和矩陣分析; 第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ù)值計算,主要介紹多項式運算、數(shù)據(jù)插值、數(shù)據(jù)擬合、數(shù)據(jù)統(tǒng)計和數(shù)值計算; 第6章MATLAB符號運算,主要介紹符號定義、符號運算、符號極限、符號微分和積分; 第7章MATLAB數(shù)據(jù)可視化,主要介紹MATLAB二維曲線繪制、二維特殊圖形繪制、三維曲線和曲線繪制; 第8章MATLAB圖形用戶界面,主要介紹圖形用戶界面、控制框常用對象及功能、GUI菜單的設(shè)計; 第9章Simulink仿真基礎(chǔ),主要介紹Simulink、常用模塊、模塊編輯和Simulink仿真。MATLAB/Simulink案例篇主要介紹本書前9章MATLAB/Simulink基礎(chǔ)內(nèi)容的66個典型案例。MATLAB/Simulink實驗篇介紹11個基本的MATLAB/Simulink實驗。
本書適合作為高等院校理工科各專業(yè)的教學用書,也可以作為研究生、科研與工程技術(shù)人員的參考用書。建議授課學時為40或48學時。對于短課時(如32學時,低年級開的課程),可以講授第1~7章和第9章
內(nèi)容以及第11章實驗部分,第8章MATLAB圖形用戶界面和第10章MATLAB/Simulink案例應(yīng)用部分可以留給學生自學。
本書第1~5章、第8章、第11章由廣東海洋大學徐國保編寫,第10章由廣東海洋大學劉雯景編寫,第7章由廣東海洋大學趙桂艷編寫,第9章由北京林業(yè)大學陳鋒軍編寫,第6章由廣東海洋大學黃江編寫。為了確保本書的質(zhì)量,各部分的應(yīng)用案例由教學經(jīng)驗豐富的相關(guān)專業(yè)任課教師編寫。本書的編寫思路與內(nèi)容選擇由編者集體討論確定,全書的代碼更新和調(diào)試運行由劉雯景負責,
全書例題的微課視頻錄制由徐國保和趙桂艷負責,
全書由徐國保負責統(tǒng)稿、校稿和定稿。
在本書的編寫過程中,參考和引用了相關(guān)教材和資料,在此一并向教材和資料的作者表示誠摯的謝意。
為了便于學生學習,全書附有習題(84道習題)的參考答案和所有例題的源代碼及微課視頻(419分鐘)。為了方便教師教學,本書配有完整的教學課件(10章PPT)、所有例題(172個例題)的源代碼、全書圖片(259張圖)素材、實驗內(nèi)容(11個實驗)電子版、課程大綱、授課計劃表以及課后習題答案等內(nèi)容,歡迎選用本書作為教材的老師聯(lián)系作者索取。
由于編者的水平有限,書中難免存在不妥之處,歡迎使用本書的教師、學生和科技人員批評指正,以便再版時改進和提高。
編者2021年7月
MATLAB/Simulink基礎(chǔ)篇
第1章MATLAB語言概述
1.1MATLAB語言的發(fā)展
1.2MATLAB語言的特點
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)機幫助系統(tǒng)
1.5MATLAB數(shù)據(jù)類型
1.5.1常量和變量
1.5.2整數(shù)和浮點數(shù)
1.5.3復(fù)數(shù)
1.6MATLAB運算符
1.6.1算術(shù)運算符
1.6.2關(guān)系運算符
1.6.3邏輯運算符
1.6.4優(yōu)先級
習題
第2章MATLAB矩陣及其運算
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矩陣部分擴展
2.2.4矩陣結(jié)構(gòu)變換
2.3矩陣的基本運算
2.3.1矩陣的加減運算
2.3.2矩陣的乘法運算
2.3.3矩陣的除法運算
2.3.4矩陣的乘方運算
2.3.5矩陣的點運算
2.4矩陣的分析
2.4.1方陣的行列式
2.4.2矩陣的秩和跡
2.4.3矩陣的逆和偽逆
2.4.4線性方程組的解
2.4.5矩陣的特征值和特征向量
2.4.6矩陣的分解
2.4.7矩陣的信息獲取函數(shù)
習題
第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ù)組的操作
習題
第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文件的分類和特點
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ù)
習題
第5章MATLAB數(shù)值計算
5.1多項式
5.1.1多項式的創(chuàng)建
5.1.2多項式的值和根
5.1.3多項式的四則運算
5.1.4多項式的微積分運算
5.1.5多項式的部分分式展開
5.2數(shù)據(jù)插值
5.2.1一維插值
5.2.2二維插值
5.2.3多維插值
5.3數(shù)據(jù)擬合
5.4數(shù)據(jù)統(tǒng)計
5.4.1矩陣元素的值和小值
5.4.2矩陣元素的平均值和中值
5.4.3矩陣元素的排序
5.4.4矩陣元素求和與求積
5.4.5矩陣元素的累加和與累乘積
5.4.6標準方差和相關(guān)系數(shù)
5.5數(shù)值計算
5.5.1函數(shù)極值
5.5.2函數(shù)零點
5.5.3數(shù)值差分
5.5.4數(shù)值積分
5.5.5常微分方程求解
習題
第6章MATLAB符號運算
6.1MATLAB符號運算的特點
6.2MATLAB符號對象的創(chuàng)建和使用
6.3符號多項式函數(shù)運算
6.3.1多項式函數(shù)的符號表達形式及相互轉(zhuǎn)換
6.3.2符號多項式的向量表示形式及其計算
6.3.3反函數(shù)和復(fù)合函數(shù)求解
6.4符號微積分運算
6.4.1函數(shù)的極限和級數(shù)運算
6.4.2符號微分運算
6.4.3符號積分運算
6.5符號方程求解
6.5.1符號代數(shù)方程求解
6.5.2符號常微分方程求解
6.5.3一維偏微分方程求解
習題
第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多個圖形繪制
7.3二維特殊圖形的繪制
7.3.1柱狀圖
7.3.2餅形圖
7.3.3直方圖
7.3.4離散數(shù)據(jù)圖
7.3.5向量圖
7.3.6極坐標圖
7.3.7對數(shù)坐標圖
7.3.8雙縱坐標圖
7.3.9函數(shù)繪圖
7.4三維曲線和曲面的繪制
7.4.1繪制三維曲線圖
7.4.2繪制三維曲面圖
7.4.3繪制三維特殊圖形
7.4.4繪制動畫圖形
7.5MATLAB圖形窗口
習題
第8章MATLAB圖形用戶界面
8.1圖形用戶界面簡介
8.1.1GUI的設(shè)計原則及步驟
8.1.2GUI設(shè)計窗口的打開、關(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è)計
8.3.1使用菜單編輯器創(chuàng)建菜單
8.3.2使用句柄對象創(chuàng)建菜單
習題
第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)建一個新模型
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)模型注釋與信號標簽設(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)
習題
MATLAB/Simulink案例篇
第10章MATLAB/Simulink案例
10.1MATLAB運算基礎(chǔ)案例
10.1.1三角函數(shù)運算案例
10.1.2指數(shù)和對數(shù)運算案例
10.1.3面積和周長案例
10.1.4關(guān)系和邏輯運算案例
10.2MATLAB矩陣運算案例
10.2.1等差矩陣生成案例
10.2.2特殊矩陣生成案例
10.2.3矩陣修改案例
10.2.4矩陣運算案例
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多項式案例
10.6.1多項式的值和根案例
10.6.2多項式的四則運算案例
10.6.3多項式的微積分運算案例
10.6.4多項式的部分分式展開案例
10.7MATLAB數(shù)據(jù)插值和擬合案例
10.7.1數(shù)據(jù)插值案例
10.7.2數(shù)據(jù)擬合案例
10.8MATLAB數(shù)據(jù)統(tǒng)計和數(shù)值計算案例
10.8.1數(shù)據(jù)統(tǒng)計案例
10.8.2數(shù)值計算案例
10.9MATLAB符號計算案例
10.9.1MATLAB符號多項式函數(shù)運算案例
10.9.2MATLAB符號微積分運算案例
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實驗篇
第11章MATLAB/Simulink實驗
11.1實驗一MATLAB運算基礎(chǔ)
11.2實驗二向量和矩陣的運算
11.3實驗三字符串及矩陣分析
11.4實驗四M腳本文件和函數(shù)文件
11.5實驗五程序結(jié)構(gòu)設(shè)計
11.6實驗六多項式運算及多項式插值和擬合
11.7實驗七數(shù)據(jù)統(tǒng)計和數(shù)值計算
11.8實驗八符號計算
11.9實驗九MATLAB繪圖
11.10實驗十MATLAB圖形用戶界面
11.11實驗十一Simulink仿真
附錄A習題答案
參考文獻