本書(shū)在MATLAB 2016a的基礎(chǔ)上由淺入深地講解了MATLAB/Simulink軟件的知識(shí),內(nèi)容涉及面廣、涵蓋了用戶需要使用的各種功能。本書(shū)編排合理,自始至終采用實(shí)例描述; 內(nèi)容完整且各章相對(duì)獨(dú)立,是一本具有參考價(jià)值的MATLAB/Simulink參考書(shū)。 本書(shū)分為三大部分共16章。部分主要介紹了MATLAB基礎(chǔ)知識(shí)、Simulink仿真入門(mén)、Simulink模型建立與仿真以及Simulink常用命令庫(kù)等; 第二部分主要介紹SFunction的應(yīng)用、控制系統(tǒng)仿真和PID控制仿真等; 第三部分則涉及Simulink高級(jí)應(yīng)用,包括模糊邏輯控制、電力系統(tǒng)仿真、通信系統(tǒng)仿真、神經(jīng)網(wǎng)絡(luò)控制仿真、滑??刂?、車(chē)輛系統(tǒng)仿真、群智能算法仿真和圖像處理仿真等。 本書(shū)以工程應(yīng)用為目標(biāo),深入淺出,實(shí)例引導(dǎo),講解翔實(shí),適合作為理工科高等院校本科生和研究生的教學(xué)用書(shū),也可作為廣大科研工程技術(shù)人員的參考用書(shū)。
(1) 博學(xué)作者編著,圖書(shū)質(zhì)量更有保障:一線博學(xué)工程師執(zhí)筆,系統(tǒng)歸納和總結(jié)了智能算法的實(shí)戰(zhàn)經(jīng)驗(yàn)。(2) 提供配套源碼,便于讀者動(dòng)手實(shí)踐:理論必須聯(lián)系實(shí)踐,本書(shū)提供源代碼下載,方便讀者學(xué)習(xí)使用。(3) 內(nèi)含豐富實(shí)例,利于讀者二次開(kāi)發(fā):書(shū)中提供了十幾個(gè)智能算法的典型實(shí)例,讀者可以據(jù)此二次開(kāi)發(fā)。(4) 提供配套課件,便于教師備課使用:配套提供了完整的教學(xué)課件資料,便于廣大教師備課使用。配套學(xué)習(xí)資源下載地址為清華大學(xué)出版社網(wǎng)站本書(shū)頁(yè)面。系列暢銷(xiāo)圖書(shū)如下:MATLAB 編程指南——計(jì)算、編程、仿真、算法及應(yīng)用MATLAB/Simulink系統(tǒng)仿真MATLAB GUI程序設(shè)計(jì)MATLAB智能算法MATLAB數(shù)學(xué)建模MATLAB科學(xué)計(jì)算MATLAB信號(hào)處理MATLAB圖像處理
李獻(xiàn) 畢業(yè)于中國(guó)科學(xué)院研究生院,博士學(xué)位,碩士畢業(yè)于華中科技大學(xué)。畢業(yè)后留在中科院電工研究所應(yīng)用超導(dǎo)重點(diǎn)實(shí)驗(yàn)室工作。主要從事電磁推進(jìn)、脈沖強(qiáng)磁場(chǎng)以及脈沖功率電源的相關(guān)研究工作。在國(guó)內(nèi)外期刊多篇,出版多部暢銷(xiāo)圖書(shū)。
目錄
第1章MATLAB基礎(chǔ)知識(shí)
1.1MATLAB簡(jiǎn)介
1.2MATLAB的通用命令
1.2.1MATLAB菜單說(shuō)明
1.2.2MATLAB路徑設(shè)置
1.2.3MATLAB系統(tǒng)常量說(shuō)明
1.2.4MATLAB程序注解符說(shuō)明
1.3MATLAB的計(jì)算基礎(chǔ)
1.3.1MATLAB的預(yù)定義變量
1.3.2常用運(yùn)算和基本數(shù)學(xué)函數(shù)
1.3.3數(shù)值的輸出格式
1.4MATLAB程序設(shè)計(jì)基礎(chǔ)
1.4.1MATLAB基本程序設(shè)計(jì)
1.4.2MATLAB程序控制語(yǔ)句的運(yùn)用
1.5MATLAB的繪圖功能
1.5.1離散數(shù)據(jù)圖形繪制
1.5.2函數(shù)圖形繪制
1.5.3網(wǎng)格圖繪制
1.5.4曲面圖的繪制
1.5.5特殊圖形繪制
1.6微積分問(wèn)題的MATLAB求解
1.6.1符號(hào)微積分
1.6.2微分方程的數(shù)值解
1.6.3龍貝格積分法微積分運(yùn)算
1.6.4有限差分方法求邊值問(wèn)題
1.6.5樣條函數(shù)求積分
1.6.6常微分方程符號(hào)解
1.7非線性方程與線性規(guī)劃問(wèn)題求解
1.7.1非線性方程組求解
1.7.2無(wú)約束化問(wèn)題求解
1.7.3線性規(guī)劃問(wèn)題
1.7.4二次型規(guī)劃問(wèn)題
1.8本章小結(jié)
第2章Simulink仿真入門(mén)
2.1Simulink基本操作
2.1.1運(yùn)行Simulink
2.1.2Simulink模塊庫(kù)
2.1.3Simulink模塊的操作
2.2運(yùn)行仿真及參數(shù)設(shè)置簡(jiǎn)介
2.2.1模型的創(chuàng)建
2.2.2模塊的連接與簡(jiǎn)單處理
2.2.3仿真參數(shù)設(shè)置簡(jiǎn)介
2.3子系統(tǒng)及其封裝
2.3.1創(chuàng)建子系統(tǒng)
2.3.2使能子系統(tǒng)
2.3.3觸發(fā)子系統(tǒng)
2.3.4使能觸發(fā)子系統(tǒng)
2.3.5封裝子系統(tǒng)
2.4用MATLAB命令創(chuàng)建和運(yùn)行Simulink模型
2.4.1創(chuàng)建Simulink模型與文件
2.4.2添加模塊和信號(hào)線
2.4.3設(shè)置模型和模塊屬性
2.4.4仿真
2.5本章小結(jié)
第3章Simulink模型的建立與仿真
3.1Simulink模塊庫(kù)簡(jiǎn)介
3.2信號(hào)源模塊組
3.2.1Clock模塊
3.2.2Digital Clock模塊
3.2.3Constant模塊
3.2.4BandLimited White Noise模塊
3.2.5Chirp Signal模塊
3.2.6Sine Wave模塊
3.2.7Pulse Generator模塊
3.2.8Random Number模塊
3.2.9Step模塊
3.2.10Uniform Random Number模塊
3.3連續(xù)模塊組
3.3.1Derivative模塊
3.3.2Integrator模塊
3.3.3Transfer Fcn模塊
3.3.4Transport Delay模塊
3.3.5ZeroPole模塊
3.3.6StateSpace模塊
3.4離散模塊組
3.4.1Discrete Transfer Fcn模塊
3.4.2Discrete Filter模塊
3.4.3Unit Delay模塊
3.4.4Memory模塊
3.4.5Discrete ZeroPole模塊
3.4.6Discrete StateSpace模塊
3.4.7ZeroOrder Hold模塊
3.5查表模塊組
3.5.11D Lookup Table模塊
3.5.22D Lookup Table模塊
3.6用戶自定義函數(shù)模塊組
3.6.1Fcn模塊
3.6.2MATLAB Fcn模塊
3.6.3SFunction模塊
3.7數(shù)學(xué)運(yùn)算模塊組
3.7.1Abs模塊
3.7.2Add模塊
3.7.3Divide模塊
3.7.4Dot Product模塊
3.7.5Gain模塊
3.7.6Complex to MagnitudeAngle模塊
3.7.7MagnitudeAngle to Complex模塊
3.8非線性模塊組
3.8.1Backlash模塊
3.8.2Coulomb & Viscous Friction模塊
3.8.3Dead Zone模塊
3.8.4Quantizer模塊
3.8.5Rate Limiter模塊
3.8.6Saturation模塊
3.9信號(hào)與系統(tǒng)模塊組
3.9.1Bus Selector模塊
3.9.2Bus Creator模塊
3.9.3Mux模塊
3.9.4Demux模塊
3.9.5Data Store Memory模塊
3.9.6Data Store Read模塊
3.9.7Data Store Write模塊
3.9.8Enable模塊
3.9.9Ground模塊
3.10本章小結(jié)
第4章Simulink常用命令庫(kù)分析
4.1Simulink中常用的模塊庫(kù)
4.2Simulink命令代碼
4.2.1Simulink系統(tǒng)路徑
4.2.2獲取Simulink模型參數(shù)值
4.3Simulink系統(tǒng)創(chuàng)建命令
4.3.1simulink命令
4.3.2simulink3命令
4.3.3find_system命令
4.3.4new_system命令
4.3.5open_system命令
4.3.6save_system命令
4.3.7bdclose命令
4.4Simulink模型模塊操作命令
4.4.1add_block命令
4.4.2delete_block命令
4.4.3add_line命令
4.4.4delete_line命令
4.4.5replace_block命令
4.5獲取Simulink文件路徑
4.5.1gcb命令
4.5.2gcbh命令
4.5.3gcs命令
4.5.4bdroot命令
4.6獲取Simulink模型參數(shù)命令
4.6.1get_param命令
4.6.2set_param命令
4.7Simulink代碼建模
4.8本章小結(jié)
第5章基于Simulink的S函數(shù)建模
5.1Simulink S函數(shù)仿真應(yīng)用
5.1.1Simulink S函數(shù)仿真過(guò)程
5.1.2S函數(shù)的回調(diào)方法
5.2Mfile S函數(shù)應(yīng)用
5.3Mfile S函數(shù)模板
5.3.1S函數(shù)工作方式
5.3.2S函數(shù)仿真過(guò)程
5.3.3S函數(shù)的編寫(xiě)
5.3.4M文件S函數(shù)的模塊化
5.4Mfile S函數(shù)實(shí)現(xiàn)
5.5本章小結(jié)
第6章控制系統(tǒng)Simulink仿真
6.1控制系統(tǒng)頻域分析
6.1.1頻率特性的定義
6.1.2頻率特性和傳遞函數(shù)的關(guān)系
6.1.3頻率特性的圖形表示方法
6.2幅相頻率特性
6.2.1比例環(huán)節(jié)
6.2.2微分環(huán)節(jié)
6.2.3積分環(huán)節(jié)
6.2.4慣性環(huán)節(jié)
6.2.5一階復(fù)合微分環(huán)節(jié)
6.2.6二階振蕩環(huán)節(jié)
6.2.7二階復(fù)合微分環(huán)節(jié)
6.2.8延遲環(huán)節(jié)
6.2.9開(kāi)環(huán)系統(tǒng)的幅相特性曲線
6.3對(duì)數(shù)頻率特性
6.3.1比例環(huán)節(jié)
6.3.2微分環(huán)節(jié)
6.3.3積分環(huán)節(jié)
6.3.4慣性環(huán)節(jié)
6.3.5一階復(fù)合微分環(huán)節(jié)
6.3.6二階振蕩環(huán)節(jié)
6.3.7二階復(fù)合微分環(huán)節(jié)
6.3.8延遲環(huán)節(jié)
6.4開(kāi)環(huán)系統(tǒng)的Bode圖
6.5最小相角系統(tǒng)和非最小相角系統(tǒng)
6.6奈奎斯特頻域穩(wěn)定判據(jù)
6.7頻域?qū)?shù)穩(wěn)定判據(jù)
6.8穩(wěn)定裕度
6.8.1穩(wěn)定裕度的定義
6.8.2穩(wěn)定裕度的計(jì)算
6.9本章小結(jié)
第7章基于PID的Simulink控制系統(tǒng)仿真
7.1PID控制原理
7.2基于PID的控制仿真
7.3基于S函數(shù)的PID控制系統(tǒng)仿真
7.4基于PID的倒立擺小車(chē)控制仿真
7.5本章小結(jié)
第8章模糊邏輯控制仿真
8.1模糊邏輯概述
8.1.1高斯型隸屬函數(shù)
8.1.2三角形隸屬函數(shù)
8.2模糊邏輯控制箱圖形界面
8.2.1基本FIS編輯器
8.2.2隸屬函數(shù)編輯器
8.2.3繪制FIS
8.2.4設(shè)置模糊系統(tǒng)屬性
8.2.5規(guī)則編輯器和語(yǔ)法編輯器
8.2.6規(guī)則觀察器和模糊推理框圖
8.3模糊聚類(lèi)分析
8.3.1FIS曲面
8.3.2FIS結(jié)構(gòu)
8.3.3模糊均值聚類(lèi)
8.3.4模糊聚類(lèi)工具箱
8.4模糊與PID控制器仿真設(shè)計(jì)
8.4.1模糊邏輯工具箱
8.4.2PID控制
8.4.3模糊控制器設(shè)計(jì)
8.4.4模糊與PID控制仿真
8.5本章小結(jié)
第9章Simulink在電力系統(tǒng)中的應(yīng)用
9.1同步發(fā)電機(jī)原理分析
9.2簡(jiǎn)化同步電機(jī)模塊使用
9.3同步電機(jī)模塊使用
9.4負(fù)荷模型
9.4.1靜態(tài)負(fù)荷模塊
9.4.2三相動(dòng)態(tài)負(fù)荷模塊
9.5異步電動(dòng)機(jī)模塊
9.6直流電機(jī)模塊
9.7本章小結(jié)
第10章電力系統(tǒng)穩(wěn)定性分析
10.1Powergui模塊
10.1.1仿真類(lèi)型
10.1.2分析工具
10.2二極管模塊
10.3晶閘管模塊
10.4電力系統(tǒng)穩(wěn)態(tài)仿真
10.4.1連續(xù)系統(tǒng)仿真
10.4.2離散系統(tǒng)仿真
10.5電力系統(tǒng)電磁暫態(tài)仿真
10.5.1斷路器模塊
10.5.2三相斷路器模塊
10.5.3三相故障模塊
10.5.4暫態(tài)仿真分析
10.6本章小結(jié)
第11章通信系統(tǒng)仿真設(shè)計(jì)
11.1通信系統(tǒng)仿真概述
11.2信源與信道模型
11.2.1隨機(jī)數(shù)產(chǎn)生器
11.2.2泊松分布產(chǎn)生器
11.2.3伯努利二進(jìn)制信號(hào)產(chǎn)生器
11.2.4加性噪聲產(chǎn)生器
11.3濾波器分析
11.4調(diào)制與解調(diào)
11.4.1基帶模型與調(diào)制通帶分析
11.4.2解調(diào)與模擬調(diào)制模型分析
11.4.3數(shù)字調(diào)制解調(diào)器模型分析
11.5本章小結(jié)
第12章神經(jīng)網(wǎng)絡(luò)控制
12.1神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介
12.2人工神經(jīng)元模型
12.3神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則
12.4MATLAB神經(jīng)網(wǎng)絡(luò)工具箱
12.5基于BP神經(jīng)網(wǎng)絡(luò)的PID自適應(yīng)控制
12.6基于Simulink的神經(jīng)網(wǎng)絡(luò)模塊仿真
12.6.1模塊的設(shè)置
12.6.2模塊的生成
12.7基于Simulink的神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)
12.8反饋線性化控制
12.9本章小結(jié)
第13章滑模控制
13.1基于名義模型的滑??刂?/p>
13.1.1名義控制系統(tǒng)結(jié)構(gòu)
13.1.2基于名義模型的控制
13.1.3基于名義模型的滑??刂破鞯脑O(shè)計(jì)
13.1.4基于名義模型的滑??刂品抡?/p>
13.2全局滑??刂?/p>
13.2.1全局滑??刂葡到y(tǒng)
13.2.2全局滑模控制器的設(shè)計(jì)
13.2.3基于全局滑??刂频姆抡?/p>
第3章Simulink模型的建立與仿真
Simulink是MATLAB的仿真工具箱,它是面向框圖的仿真軟件。Simulink能用繪制方框圖代替程序,結(jié)構(gòu)和流程清晰; 利用Simulink可智能化地建立和運(yùn)行仿真,仿真精細(xì)、貼近實(shí)際。Simulink適應(yīng)面廣??蓱?yīng)用于線性、非線性系統(tǒng),連續(xù)、離散及混合系統(tǒng),以及單任務(wù)、多任務(wù)離散事件系統(tǒng)。采用Simulink模塊庫(kù)能夠方便地進(jìn)行模型的編輯和仿真構(gòu)建。學(xué)習(xí)目標(biāo): (1) 學(xué)習(xí)Simulink基本庫(kù)原件; (2) 學(xué)習(xí)Simulink各模塊的使用; (3) 學(xué)習(xí)Simulink各模塊的參數(shù)配置; (4) 學(xué)習(xí)使用Simulink各模塊搭建仿真框圖。3.1Simulink模塊庫(kù)簡(jiǎn)介在MATLAB命令行窗口輸入simulink,打開(kāi)Simulink工具箱,進(jìn)行Simulink工具箱模塊庫(kù)的學(xué)習(xí)。Simulink模塊庫(kù)很龐大,以下將主要介紹常規(guī)的Simulink應(yīng)用模塊,包括信號(hào)源模塊組、連續(xù)模塊組、離散模塊組、查表模塊組、用戶自定義函數(shù)模塊組、數(shù)學(xué)運(yùn)算模塊組、非線性模塊組、輸出池模塊組、信號(hào)與系統(tǒng)模塊組、子系統(tǒng)模塊組、常用模塊組、其他工具箱與模塊集等。3.2信號(hào)源模塊組Simulink模塊庫(kù)中提供了豐富的信號(hào)源模塊組,下面逐一介紹。3.2.1Clock模塊時(shí)鐘模塊以及時(shí)鐘模塊的屬性如圖31所示。
圖31時(shí)鐘模塊
時(shí)鐘模塊如圖31所示,在Simulink仿真中,時(shí)鐘模塊主要用于計(jì)時(shí),效果很直觀。在時(shí)鐘模塊的屬性窗口中: (1) Display time: 如果該復(fù)選框被選中,則該時(shí)鐘模塊在仿真過(guò)程中,界面將顯示時(shí)間,如果不顯示,則可將其輸入到工作區(qū)中。(2) Decimation: 默認(rèn)為10,Decimation的數(shù)值可以為任意整數(shù),在仿真過(guò)程中,隨著時(shí)鐘不斷地更新,其數(shù)值不斷增加,例如對(duì)于10s的仿真,系統(tǒng)Decimation默認(rèn)為10,則表示系統(tǒng)將以1s、2s、3s、…、10s依次遞增。搭建時(shí)鐘模塊如圖32所示。運(yùn)行仿真文件,輸出結(jié)果如圖33所示。
圖32時(shí)鐘使用
圖33時(shí)鐘模塊示波器時(shí)鐘變化圖
3.2.2Digital Clock模塊數(shù)字時(shí)鐘模塊以及數(shù)字時(shí)鐘模塊的屬性如圖34所示。
圖34數(shù)字時(shí)鐘模塊
圖35Digital Clock模塊使用
在Simulink仿真中,數(shù)字時(shí)鐘模塊主要用于離散系統(tǒng)的計(jì)時(shí),該模塊能夠輸出保持前一次的值不變。對(duì)于其屬性窗口: Sample time表示采樣時(shí)間,默認(rèn)值為1s。搭建Digital Clock模塊如圖35所示。運(yùn)行仿真文件,輸出結(jié)果如圖36所示。
圖36Digital Clock模塊示波器時(shí)鐘變化圖
3.2.3Constant模塊Constant模塊,表示常數(shù)輸入,其模塊屬性如圖37所示。
圖37Constant模塊
在Simulink仿真中,常數(shù)模塊主要用在輸入的量為定值的情況。對(duì)于其屬性窗口: (1) Constant value: 表示常數(shù)值,由用戶指定。(2) Sample time: 表示采樣時(shí)間,默認(rèn)值為inf,也可以設(shè)置為與系統(tǒng)的采樣時(shí)間相一致。搭建Constant模塊如圖38所示。
圖38Constant模塊使用
運(yùn)行仿真文件,輸出結(jié)果如圖39所示。
圖39Constant模塊示波器時(shí)鐘變化圖
3.2.4BandLimited White Noise模塊BandLimited White Noise模塊產(chǎn)生服從正態(tài)分布的隨機(jī)數(shù),用于混合系統(tǒng)或者連續(xù)系統(tǒng),用戶可以采樣該模塊產(chǎn)生比系統(tǒng)最小時(shí)間常數(shù)更小的相關(guān)時(shí)間的隨機(jī)序列來(lái)模擬白噪聲的效果,通常噪聲的相關(guān)時(shí)間t可計(jì)算如下:
t=2π100fmax
其中,fmax(rad/s)表示系統(tǒng)的帶寬。采用時(shí)間t作為換算因子,保障了一個(gè)連續(xù)系統(tǒng)對(duì)我們需要近似模擬的白噪聲應(yīng)具有的系統(tǒng)方差(系統(tǒng)噪聲),BandLimited White Noise模塊屬性如圖310所示。
圖310BandLimited White Noise模塊
對(duì)于其屬性窗口: (1) Noise power: 表示白噪聲PSD的幅度,默認(rèn)值為0.1。(2) Sample time: 表示采樣時(shí)間,默認(rèn)值為0.1。(3) Seed: 表示隨機(jī)數(shù)信號(hào)發(fā)生器的初始種子,默認(rèn)值為[23341]。搭建BandLimited White Noise模塊如圖311所示。
圖311BandLimited White Noise模塊使用
運(yùn)行仿真文件,輸出結(jié)果如圖312所示。
圖312BandLimited White Noise模塊示波器時(shí)鐘變化圖
3.2.5Chirp Signal模塊Chirp Signal模塊產(chǎn)生頻率隨時(shí)間線性增加的正弦信號(hào),即調(diào)頻信號(hào),該模塊可用于非線性系統(tǒng)的譜分析,且以矢量或標(biāo)量輸出。Chirp Signal模塊的模塊屬性如圖313所示。
圖313Chirp Signal模塊
對(duì)于其屬性窗口: (1) Initial frequency(Hz): 表示信號(hào)的初始化頻率,指定為標(biāo)量或矢量,默認(rèn)值為0.1。(2) Target time(secs): 表示頻率變化的較大時(shí)間,默認(rèn)值為100。(3) Frequency at target time(Hz): 表示對(duì)應(yīng)目標(biāo)時(shí)間的信號(hào)頻率,輸入為矢量或標(biāo)量,默認(rèn)值為1。搭建Chirp Signal模塊如圖314所示。
圖314Chirp Signal模塊使用
運(yùn)行仿真文件,輸出結(jié)果如圖315所示。
圖315Chirp Signal模塊示波器時(shí)鐘變化圖
3.2.6Sine Wave模塊Sine Wave正弦波模塊,產(chǎn)生如下形式的正弦波:
f(t)=Amp sin(Freq t Phase) Bias
其中,Amp為正弦波振幅,F(xiàn)req為正弦波的頻率,Phase為初始相位,Bias為正弦波上下移動(dòng)的常量。Sine Wave正弦波的模塊屬性如圖316所示。
圖316Sine Wave正弦波模塊
對(duì)于其屬性窗口: (1) Amplitude: 表示正弦信號(hào)的振幅,指定為標(biāo)量或矢量,默認(rèn)值為1。(2) Bias: 表示正弦信號(hào)離0均值線的偏移量,默認(rèn)值為0。(3) Frequency(rad/sec): 表示對(duì)應(yīng)目標(biāo)信號(hào)頻率,輸入為矢量或標(biāo)量,默認(rèn)值為1。(4) Phase(rad): 表示信號(hào)的初始相位,默認(rèn)值為0。(5) Sample time: 表示系統(tǒng)采樣時(shí)間。(6) Inter vector parameters as 1D: 該復(fù)選框可以選中,也可以不選,選中表示信號(hào)按照一行的數(shù)據(jù)矢量進(jìn)行輸出; 不勾選,則信號(hào)以列向量存儲(chǔ)。搭建Sine Wave模塊如圖317所示。
圖317Sine Wave模塊使用
運(yùn)行仿真文件,輸出結(jié)果如圖318所示。
圖318Sine Wave模塊示波器時(shí)鐘變化圖
3.2.7Pulse Generator模塊Pulse Generator模塊產(chǎn)生等間隔的脈沖波形,脈沖寬度就是脈沖持續(xù)高電平期間的數(shù)字采樣周期數(shù),脈沖周期等于脈沖持續(xù)高電平、低電平的數(shù)字采樣周期之和,相位延遲則是起始脈沖所對(duì)應(yīng)的數(shù)字采樣周期數(shù)。Pulse Generator的模塊屬性如圖319所示。
圖319Pulse Generator模塊
對(duì)于其屬性窗口: (1) Amplitude: 表示脈沖信號(hào)的振幅,指定為標(biāo)量或矢量,默認(rèn)值為1。(2) Period(secs): 表示脈沖數(shù)字采樣周期,默認(rèn)值為10。(3) Pulse width(%of period): 表示脈沖寬度,輸入為矢量或標(biāo)量,默認(rèn)值為5。(4) Phase delay(secs): 表示信號(hào)的相位延遲,默認(rèn)值為0。(5) Inter vector parameters as 1D: 該復(fù)選框可以選中,也可以不選,選中表示信號(hào)按照一行的數(shù)據(jù)矢量進(jìn)行輸出; 不勾選,則信號(hào)以列向量存儲(chǔ)。搭建Pulse Generator模塊如圖320所示。
圖320Pulse Generator模塊使用
運(yùn)行仿真文件,輸出結(jié)果如圖321所示。
圖321Pulse Generator模塊示波器時(shí)鐘變化圖
3.2.8Random Number模塊Random Number模塊產(chǎn)生服從正態(tài)分布的隨機(jī)信號(hào),在每次仿真開(kāi)始時(shí),種子都設(shè)置為指定的值,默認(rèn)的情況下,產(chǎn)生方差為1、均值為0的隨機(jī)信號(hào)。如果想獲得均勻分布的隨機(jī)信號(hào),則可以使用Uniform Random Number模塊; 如果仿真器對(duì)于比較平滑的信號(hào)能夠積分,那么對(duì)于隨機(jī)波動(dòng)的信號(hào)進(jìn)行積分運(yùn)算,則需要采用BandLimited White Noise信號(hào)。Random Number的模塊屬性如圖322所示。對(duì)于其屬性窗口: (1) Mean: 表示隨機(jī)信號(hào)的均值,指定為標(biāo)量或矢量,默認(rèn)值為0。(2) Variance: 表示隨機(jī)信號(hào)的方差,默認(rèn)值為1。(3) Seed: 表示隨機(jī)種子,輸入為矢量或標(biāo)量,默認(rèn)值為0。(4) Sample time: 表示信號(hào)的采樣時(shí)間,默認(rèn)值為0.1。搭建Random Number模塊如圖323所示。運(yùn)行仿真文件,輸出結(jié)果如圖324所示。
圖322Random Number模塊
圖323Random Number模塊使用
圖324Random Number模塊示波器時(shí)鐘變化圖
3.2.9Step模塊Step模塊產(chǎn)生階躍信號(hào),Step常用于控制系統(tǒng)仿真中,用于測(cè)試系統(tǒng)的穩(wěn)定性和斂散性。Step模塊在指定時(shí)間產(chǎn)生一個(gè)可定義上、下電平的階躍信號(hào),Step產(chǎn)生一個(gè)矢量或標(biāo)量進(jìn)行輸出。Step的模塊屬性如圖325所示。
圖325Step模塊
對(duì)于其屬性窗口: (1) Step time: 表示初始階躍的時(shí)間,指定為標(biāo)量或矢量,系統(tǒng)默認(rèn)值為1。(2) Initial value: 表示仿真的初始時(shí)間,系統(tǒng)默認(rèn)值為0。(3) Final time: 表示仿真的結(jié)束時(shí)間,輸入為矢量或標(biāo)量,系統(tǒng)默認(rèn)值為1。(4) Sample time: 表示信號(hào)的采樣時(shí)間,系統(tǒng)默認(rèn)值為0。搭建Step模塊如圖326所示。運(yùn)行仿真文件,輸出結(jié)果如圖327所示。
圖326Step模塊使用
圖327Step模塊示波器時(shí)鐘變化圖
3.2.10Uniform Random Number模塊Uniform Random Number模塊產(chǎn)生在整個(gè)指定時(shí)間周期內(nèi)均勻分布的隨機(jī)信號(hào),信號(hào)的起始種子可由用戶指定。將Seed種子指定為矢量,可以產(chǎn)生矢量隨機(jī)數(shù)序列。Uniform Random Number的模塊屬性如圖328所示。
圖328Uniform Random Number模塊
對(duì)于其屬性窗口: (1) Minimum: 表示時(shí)間間隔的最小值,指定為標(biāo)量或矢量,系統(tǒng)默認(rèn)值為-1。(2) Maximum: 表示時(shí)間間隔的較大值,指定為標(biāo)量或矢量,系統(tǒng)默認(rèn)值為1。(3) Seed: 表示隨機(jī)序列發(fā)生器的初始種子,輸入為矢量或標(biāo)量,系統(tǒng)默認(rèn)值為0。(4) Sample time: 表示信號(hào)的采樣時(shí)間,系統(tǒng)默認(rèn)值為0.1。搭建Uniform Random Number模塊如圖329所示。運(yùn)行仿真文件,輸出結(jié)果如圖330所示。
圖329Uniform Random Number
模塊使用
圖330Uniform Random Number模塊示波器
時(shí)鐘變化圖
3.3連續(xù)模塊組連續(xù)模塊仿真主要用于系統(tǒng)的積分分析。對(duì)于一個(gè)系統(tǒng)而言,傳遞函數(shù)的構(gòu)建顯得尤為重要。3.3.1Derivative模塊Derivative模塊表示微分環(huán)節(jié),為時(shí)間的一階導(dǎo)數(shù)ΔuΔt,其中,Δu為輸入的變化量,Δt為前兩次仿真時(shí)間點(diǎn)之差。Derivative模塊的仿真精度取決于時(shí)間步長(zhǎng)Δt,步長(zhǎng)越小,結(jié)果越平滑,相應(yīng)的結(jié)果越。如果輸入為離散信號(hào),當(dāng)輸入變化時(shí),輸入的連續(xù)導(dǎo)數(shù)是沖擊信號(hào),否則為0。為得到離散型系統(tǒng)的離散導(dǎo)數(shù),可采用
y(k)=1Δt[u(k)-u(k-1)]
相應(yīng)的Z變換為
Y(z)u(z)=1-z-1Δt=z-1Δt z
Derivative的模塊屬性如圖331所示。
圖331Derivative模塊
對(duì)于其屬性窗口: Coefficient c in the transfer function approximation s/(cs 1) used for linearization表示步長(zhǎng)的設(shè)置,指定為標(biāo)量或矢量,默認(rèn)值為inf(無(wú)窮大)。搭建Derivative模塊如圖332所示。運(yùn)行仿真文件,輸出結(jié)果如圖333所示。
圖332Derivative模塊使用
圖333Derivative模塊示波器時(shí)鐘變化圖
3.3.2Integrator模塊Integrator模塊表示積分環(huán)節(jié),為時(shí)間的一階導(dǎo)數(shù)∫udt,其中,u為輸入的變化量,dt為前兩次仿真時(shí)間點(diǎn)之差。Integrator的模塊屬性如圖334所示。
圖334Integrator模塊
對(duì)于其屬性窗口: (1) External reset: 設(shè)置信號(hào)的觸發(fā)事件(rising、falling、either、level、level hold和none),默認(rèn)設(shè)置為none,即保持系統(tǒng)原態(tài)。(2) Initial condition source: 表示參數(shù)輸入的狀態(tài),分為外部輸入external和內(nèi)部輸入internal,通常默認(rèn)設(shè)置為internal。(3) Initial condition: 表示狀態(tài)的初始條件,用于設(shè)置Initial condition source的參數(shù)。(4) Limit output: 若選中,則可以設(shè)置積分的上界(Upper saturation limit)和下界(Lower saturation limit)。(5) Upper saturation limit: 表示積分上界,默認(rèn)值為inf。(6) Lower saturation limit: 表示積分下界,默認(rèn)值為inf。(7) Show saturation port: 若選中,則表示模塊增加一個(gè)飽和輸出端口。(8) Show state port: 若選中,則表示模塊增加一個(gè)輸出端口。(9) Absolute tolerance: 表示模塊狀態(tài)的容限,默認(rèn)值為auto。(10) Ignore limit and reset when linearizing: 若勾選此選項(xiàng),則表示當(dāng)系統(tǒng)為線性化系統(tǒng)時(shí),前面的積分上下限制和觸發(fā)事件無(wú)效,默認(rèn)為不勾選。(11) Enable zerocrossing detection: 使系統(tǒng)通過(guò)零點(diǎn)檢驗(yàn),默認(rèn)勾選。搭建Integrator模塊如圖335所示。運(yùn)行仿真文件,輸出結(jié)果如圖336所示。
圖335Integrator模塊使用
圖336Integrator模塊示波器時(shí)鐘變化圖
3.3.3Transfer Fcn模塊Transfer Fcn模塊用于表征傳遞函數(shù),具體的傳遞函數(shù)的表達(dá)式如下:
H(s)=y(s)u(s)=ansn an-1sn-1 … a1s a0bmsm bm-1sm-1 … b1s b0
其中,y(s)為系統(tǒng)輸出,u(s)為系統(tǒng)輸入,傳遞函數(shù)的計(jì)算則通過(guò)用戶得到的系統(tǒng)模型而來(lái),對(duì)于一個(gè)收斂性系統(tǒng)而言,分母中s的較高次冪大于分子中s的較高次冪。Transfer Fcn的模塊屬性如圖337所示。
圖337Transfer Fcn模塊
對(duì)于其屬性窗口: (1) Numerator coefficients: 表示傳遞函數(shù)分子系數(shù),系統(tǒng)默認(rèn)值為[1]。(2) Denominator coefficients: 表示傳遞函數(shù)分母系數(shù),系統(tǒng)默認(rèn)值為[1 1]。(3) Absolute tolerance: 表示模塊狀態(tài)的容限,默認(rèn)值為auto。(4) State Name(e.g., 'position'): 表示狀態(tài)空間的名字,用戶可以不加以定義。搭建Transfer Fcn模塊如圖338所示。運(yùn)行仿真文件,輸出結(jié)果如圖339所示。
圖338Transfer Fcn模塊使用
圖339Transfer Fcn模塊示波器時(shí)鐘變化圖
3.3.4Transport Delay模塊Transport Delay模塊用于延時(shí)系統(tǒng)的輸入,延時(shí)的時(shí)間可以由用戶指定。在仿真過(guò)程中,模塊將輸入點(diǎn)和仿真時(shí)間存儲(chǔ)在一個(gè)緩沖器內(nèi),該緩沖器的容量由Initial buffer size參數(shù)指定。若輸入點(diǎn)數(shù)超出緩沖器的容量,模塊將配置額外的存儲(chǔ)區(qū)。Transport Delay模塊不能對(duì)離散信號(hào)進(jìn)行插值計(jì)算,模塊返回區(qū)間t-tdelay(當(dāng)前時(shí)間減去時(shí)間延遲)對(duì)應(yīng)的離散值。Transport Delay的模塊屬性如圖340所示。
圖340Transport Delay模塊
對(duì)于其屬性窗口: (1) Time delay: 表示系統(tǒng)延時(shí)量,系統(tǒng)默認(rèn)值為1。(2) Initial output: 表示系統(tǒng)在開(kāi)始仿真和Time delay之間產(chǎn)生的輸出,系統(tǒng)默認(rèn)值為0。(3) Initial buffer size: 表示儲(chǔ)存點(diǎn)數(shù)的初始存儲(chǔ)區(qū)配置,系統(tǒng)默認(rèn)值為auto。(4) Use fixed buffer size: 儲(chǔ)存點(diǎn)數(shù)的初始存儲(chǔ)區(qū)配置為固定值,用戶可以不加以定義。搭建Transport Delay模塊如圖341所示。運(yùn)行仿真文件,輸出結(jié)果如圖342所示。
圖341Transport Delay模塊使用
圖342Transport Delay模塊示波器時(shí)鐘變化圖
3.3.5ZeroPole模塊ZeroPole模塊用于表征一個(gè)以Laplace算子s為變量的零點(diǎn)、極點(diǎn)和增益的系統(tǒng),其傳遞函數(shù)可表示為:
H(s)=y(s)u(s)=ansn an-1sn-1 … a1s a0bmsm bm-1sm-1 … b1s b0
它的變形為以s為變量的零點(diǎn)、極點(diǎn)和增益的系統(tǒng),如下:
H(s)=KZ(s)P(s)=K(s-Z(1))(s-Z(2))…(s-Z(n))(s-P(1))(s-P(2))…(s-P(m))
其中,Z代表零點(diǎn); P為極點(diǎn)矢量; K為增益。ZeroPole模塊的輸入和輸出寬度等于零點(diǎn)矩陣的行數(shù)。ZeroPole的模塊屬性如圖343所示。
圖343ZeroPole模塊
對(duì)于其屬性窗口: (1) Zeros: 表示系統(tǒng)傳遞函數(shù)零點(diǎn)向量,系統(tǒng)默認(rèn)值為[1]。(2) Poles: 表示系統(tǒng)傳遞函數(shù)極點(diǎn)向量,系統(tǒng)默認(rèn)值為[0 -1]。(3) Gain: 表示系統(tǒng)傳遞函數(shù)增益向量,系統(tǒng)默認(rèn)值為[1]。(4) Absolute tolerance: 表示模塊狀態(tài)的容限,系統(tǒng)默認(rèn)值為auto。(5) State Name(e.g., 'position'): 表示狀態(tài)空間的名字,用戶可以不加以定義。搭建ZeroPole模塊如圖344所示。運(yùn)行仿真文件,輸出結(jié)果如圖345所示。
圖344ZeroPole模塊使用
圖345ZeroPole模塊示波器時(shí)鐘變化圖
3.3.6StateSpace模塊StateSpace模塊用于表征一個(gè)控制系統(tǒng)的狀態(tài)空間,具體的狀態(tài)空間的表達(dá)式如下:
x =Ax Bu
y=Cx Du
其中,x為狀態(tài)矢量; u為輸入矢量; y為輸出矢量。StateSpace的模塊屬性如圖346所示。
圖346StateSpace模塊
對(duì)于其屬性窗口:
(1) A: 表示系統(tǒng)狀態(tài)空間矩陣系數(shù),必須是一個(gè)n×n矩陣,n為狀態(tài)數(shù),系統(tǒng)默認(rèn)值為1。(2) B: 表示系統(tǒng)狀態(tài)空間矩陣系數(shù),必須是一個(gè)n×m矩陣,m為狀態(tài)數(shù),系統(tǒng)默認(rèn)值為1。(3) C: 表示系統(tǒng)狀態(tài)空間矩陣系數(shù),必須是一個(gè)r×n矩陣,r為狀態(tài)數(shù),系統(tǒng)默認(rèn)值為1。(4) D: 表示系統(tǒng)狀態(tài)空間矩陣系數(shù),必須是一個(gè)r×m矩陣,系統(tǒng)默認(rèn)值為1。(5) Initial conditions: 表示初始狀態(tài)矢量,系統(tǒng)默認(rèn)值為0。(6) Absolute tolerance: 表示模塊狀態(tài)的容限,系統(tǒng)默認(rèn)值為auto。(7) State Name(e.g., 'position'): 表示狀態(tài)空間的名字,用戶可以不加以定義。搭建StateSpace模塊如圖347所示。運(yùn)行仿真文件,輸出結(jié)果如圖348所示。
圖347StateSpace模塊使用
圖348StateSpace模塊示波器時(shí)鐘變化圖
3.4離散模塊組現(xiàn)實(shí)系統(tǒng)中有很多系統(tǒng)都是離散系統(tǒng),系統(tǒng)根據(jù)采樣時(shí)間點(diǎn)進(jìn)行數(shù)據(jù)采集分析,Simulink中離散系統(tǒng)的表征主要是根據(jù)Z變換進(jìn)行系統(tǒng)仿真建模。3.4.1Discrete Transfer Fcn模塊對(duì)于Discrete Transfer Fcn模塊,由通常的拉普拉斯變換后,得到相應(yīng)的傳遞函數(shù),再經(jīng)過(guò)Z變換,得到離散系統(tǒng)傳遞函數(shù),具體如下:
H(z)=num(z)den(z)=anzn an-1zn-1 … a0z0bmzm bm-1zm-1 … b0z0
其中,num(z)為離散系統(tǒng)傳遞函數(shù)的分子系數(shù),den(z)為離散系統(tǒng)傳遞函數(shù)的分母系數(shù)。Discrete Transfer Fcn的模塊屬性如圖349所示。
圖349Discrete Transfer Fcn模塊
對(duì)于其屬性窗口: (1) Numerator: 表示系統(tǒng)分子系數(shù)矢量,系統(tǒng)默認(rèn)值為[1]。(2) Denominator: 表示系統(tǒng)分母系數(shù)矢量,系統(tǒng)默認(rèn)值為[1 2]。(3) Sample time(-1 for inherited): 表示系統(tǒng)采樣時(shí)間,系統(tǒng)默認(rèn)值為[-1]。(4) Initial states: 表示系統(tǒng)初始狀態(tài)矩陣,系統(tǒng)默認(rèn)值為0。搭建Discrete Transfer Fcn模塊,設(shè)置采樣時(shí)間為0.1s,如圖350所示。運(yùn)行仿真文件,輸出結(jié)果如圖351所示。
圖350Discrete Transfer Fcn模塊使用
圖351Discrete Transfer Fcn模塊示波器時(shí)
專(zhuān)家評(píng)論“科學(xué)與工程計(jì)算技術(shù)叢書(shū)”系列主題反映了MATLAB和Simulink匯集的領(lǐng)域——大規(guī)模編程、機(jī)器學(xué)習(xí)、科學(xué)計(jì)算、機(jī)器人等。我們高興地看到“科學(xué)與工程計(jì)算技術(shù)叢書(shū)”支持MathWorks一直以來(lái)追求的目標(biāo):助您加速工程技術(shù)和科學(xué)研究。——Jim Tung (MathWorks Fellow) 《MATLAB/Simulink系統(tǒng)仿真》本書(shū)通過(guò)綜合應(yīng)用案例,透徹詳盡的講解了MATLAB/Simulink在各方面的應(yīng)用。通過(guò)學(xué)習(xí)實(shí)際工程應(yīng)用案例的具體操作,可以使讀者快速的掌握MATLAB/Simulink系統(tǒng)仿真方法。——劉成龍(中國(guó)科學(xué)院) 《MATLAB/Simulink系統(tǒng)仿真》一書(shū)涉及面廣,涵蓋了一般用戶需要使用的各種功能,并詳細(xì)介紹了MATLAB/Simulink的使用。本書(shū)按邏輯編排,自始至終采用實(shí)例描述;內(nèi)容完整且每章相對(duì)獨(dú)立,是一本詳細(xì)的MATLAB/Simulink參考書(shū)。——王 廣(北京化工大學(xué)) 《MATLAB/Simulink系統(tǒng)仿真》全書(shū)結(jié)合作者多年MATLAB/Simulink使用經(jīng)驗(yàn)與實(shí)際工程應(yīng)用案例,將MATLAB/Simulink軟件的使用方法與技巧到詳細(xì)地講解給讀者。本書(shū)在講解過(guò)程中步驟詳盡、內(nèi)容新穎,講解過(guò)程輔以相應(yīng)的圖片,使讀者在閱讀時(shí)一目了然,從而快速掌握書(shū)中所講內(nèi)容。——溫 正(航天科技集團(tuán)某研究所) 過(guò)學(xué)習(xí)實(shí)際工程應(yīng)用案例的具體操作是掌握MATLAB/Simulink好的方式。本書(shū)通過(guò)綜合應(yīng)用案例,透徹詳盡的講解了MATLAB/Simulink在各方面的應(yīng)用。《MATLAB Simulink系統(tǒng)仿真》詳細(xì)講解了MATLAB/Simulink的基礎(chǔ)知識(shí)和核心內(nèi)容,圍繞MATLAB/Simulink在工程問(wèn)題中的應(yīng)用進(jìn)行仿真運(yùn)算。對(duì)于從事Simulink開(kāi)發(fā)的技術(shù)人員,該書(shū)具有較高的參考價(jià)值。——張 巖(北京航空航天大學(xué)) MATLAB/Simulink是用于動(dòng)態(tài)系統(tǒng)和嵌入式系統(tǒng)的多領(lǐng)域仿真和基于模型的設(shè)計(jì)工具?!禡ATLAB/Simulink系統(tǒng)仿真》從MATLAB使用基礎(chǔ)講起,再輔以MATLAB/Simulink在工程中的應(yīng)用案例,可以幫助讀者盡快掌握MATLAB/Simulink進(jìn)行工程應(yīng)用分析的技能。——李 昕(天津光電集團(tuán)) 《MATLAB/Simulink系統(tǒng)仿真》以MATLAB 2016a版為基礎(chǔ),由淺入深地講解了MATLAB/Simulink軟件的知識(shí),內(nèi)容涉及面廣,涵蓋了一般用戶需要使用的各種功能。本書(shū)按邏輯編排,自始至終采用實(shí)例描述;內(nèi)容完整且每章相對(duì)獨(dú)立,是一本較為有參考價(jià)值的MATLAB/Simulink參考書(shū)。——付文利 (烽火通信集團(tuán))