MATLAB的S-Function函數(shù)介紹ppt課件.ppt

MATLAB的S-Function函數(shù)介紹ppt課件.ppt

ID:60859170

大小:1.09 MB

頁數(shù):111頁

時(shí)間:2020-12-24

MATLAB的S-Function函數(shù)介紹ppt課件.ppt_第1頁
MATLAB的S-Function函數(shù)介紹ppt課件.ppt_第2頁
MATLAB的S-Function函數(shù)介紹ppt課件.ppt_第3頁
MATLAB的S-Function函數(shù)介紹ppt課件.ppt_第4頁
MATLAB的S-Function函數(shù)介紹ppt課件.ppt_第5頁
資源描述:

《MATLAB的S-Function函數(shù)介紹ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第6章S-函數(shù)6.1S-函數(shù)概述6.2S-函數(shù)的工作原理6.3編寫M文件S-函數(shù)6.4編寫CMEXS-函數(shù)6.1S-函數(shù)概述6.1.1S-函數(shù)的基本概念S-函數(shù)是系統(tǒng)函數(shù)(SystemFunction)的簡(jiǎn)稱,是指采用非圖形化的方式(即計(jì)算機(jī)語言,區(qū)別于Simulink的系統(tǒng)模塊)描述的一個(gè)功能塊。用戶可以采用MATLAB代碼,C,C++,F(xiàn)ORTRAM或Ada等語言編寫S-函數(shù)。S-函數(shù)由一種特定的語法構(gòu)成,用來描述并實(shí)現(xiàn)連續(xù)系統(tǒng)、離散系統(tǒng)以及復(fù)合系統(tǒng)等動(dòng)態(tài)系統(tǒng);S-函數(shù)能夠接收來自Simulink求解器的相關(guān)信息,并對(duì)求解器發(fā)出的命令做出適當(dāng)?shù)捻憫?yīng),這種交互作用

2、非常類似于Simulink系統(tǒng)模塊與求解器的交互作用。S-函數(shù)作為與其他語言相結(jié)合的接口,可以使用這個(gè)語言所提供的強(qiáng)大能力。例如,MATLAB語言編寫的S-函數(shù)可以充分利用MATLAB所提供的豐富資源,方便地調(diào)用各種工具箱函數(shù)和圖形函數(shù);使用C語言編寫的S-函數(shù)則可以實(shí)現(xiàn)對(duì)操作系統(tǒng)的訪問,如實(shí)現(xiàn)與其它進(jìn)程的通信和同步等。簡(jiǎn)單來說,用戶可以從如下的幾個(gè)角度來理解S-函數(shù):(1)S-函數(shù)為Simulink的“系統(tǒng)”函數(shù)。(2)能夠響應(yīng)Simulink求解器命令的函數(shù)。(3)采用非圖形化的方法實(shí)現(xiàn)一個(gè)動(dòng)態(tài)系統(tǒng)。(4)可以開發(fā)新的Simulink模塊。(5)可以與已有的代碼

3、相結(jié)合進(jìn)行仿真。(6)采用文本方式輸入復(fù)雜的系統(tǒng)方程。(7)擴(kuò)展Simulink功能。M文件S-函數(shù)可以擴(kuò)展圖形能力,CMEXS-函數(shù)可以提供與操作系統(tǒng)的接口。(8)S-函數(shù)的語法結(jié)構(gòu)是為實(shí)現(xiàn)一個(gè)動(dòng)態(tài)系統(tǒng)而設(shè)計(jì)的(默認(rèn)用法),其它S-函數(shù)的用法是默認(rèn)用法的特例(如用于顯示目的)。6.1.2如何使用S-函數(shù)前面簡(jiǎn)單介紹了S-函數(shù)的基本概念及其主要的功能。在動(dòng)態(tài)系統(tǒng)設(shè)計(jì)、仿真與分析中,用戶可以使用Functions&Tables模塊庫(kù)中的S-function模塊來使用S-函數(shù);S-function模塊是一個(gè)單輸入單輸出的系統(tǒng)模塊,如果有多個(gè)輸入與多個(gè)輸出信號(hào),可以使用M

4、ux模塊與Demux模塊對(duì)信號(hào)進(jìn)行組合和分離操作。一般而言,S-函數(shù)的使用步驟如下:(1)創(chuàng)建S-函數(shù)源文件。創(chuàng)建S-函數(shù)源文件有多種方法,當(dāng)然用戶可以按照S-函數(shù)的語法格式自行書寫每一行代碼,但是這樣做容易出錯(cuò)且麻煩。Simulink為我們提供了很多S-函數(shù)模板和例子,用戶可以根據(jù)自己的需要修改相應(yīng)的模板或例子即可。(2)在動(dòng)態(tài)系統(tǒng)的Simulink模型框圖中添加S-function模塊,并進(jìn)行正確的設(shè)置。(3)在Simulink模型框圖中按照定義好的功能連接輸入輸出端口。圖6.1S-函數(shù)塊對(duì)話框【例6.1】使用S-函數(shù)實(shí)現(xiàn)系統(tǒng):y=2u。解:(1)打開模板M文件

5、S-函數(shù)模板文件sfuntmpl.m(版本不同timestwo),在MATLABrootwork目錄下另存為doublesfunction.m。(2)找到函數(shù)mdlInitializeSizes,修改以下代碼:sizes.NumOutputs=1;sizes.NumInputs=1;圖6.2一個(gè)用S-函數(shù)實(shí)現(xiàn)的簡(jiǎn)單系統(tǒng)(3)找到函數(shù)mdlOutputs,加入以下代碼:sys=2*u;(到現(xiàn)在為止我們的第一個(gè)S-函數(shù)寫完了。下面演示一下它的作用。)(4)在Simulink空白頁中添加S-function塊,打開S-function塊對(duì)話框,參數(shù)S-function

6、name設(shè)置為doublesfunction。按照?qǐng)D6.2添加連接好其余的各個(gè)模塊。(5)開始仿真,在Scope中觀察輸出結(jié)果,可以看到輸入正弦信號(hào)被放大為原來的2倍,如圖6.2所示。6.1.3與S-函數(shù)相關(guān)的一些術(shù)語理解下列與S-函數(shù)相關(guān)的一些基本術(shù)語對(duì)于用戶理解S-函數(shù)的概念與編寫都是非常有益的;而且這些概念在其它的仿真語言中也是會(huì)經(jīng)常遇到的。1.仿真例程(Routines)Simulink在仿真的特定階段調(diào)用對(duì)應(yīng)的S-函數(shù)功能模塊(函數(shù)),來完成不同的任務(wù),如初始化、計(jì)算輸出、更新離散狀態(tài)、計(jì)算導(dǎo)數(shù)、結(jié)束仿真等,這些功能模塊(函數(shù))稱為仿真例程或者回調(diào)函數(shù)(c

7、allbackfunctions)。表6.1列出了S-函數(shù)例程函數(shù)和對(duì)應(yīng)的仿真階段。關(guān)于仿真例程將在S-函數(shù)工作原理一節(jié)詳細(xì)介紹。表6.1S-函數(shù)例程S-函數(shù)仿真例程仿真階段mdlInitialization初始化mdlGetTimeofNextVarHit計(jì)算下一個(gè)采樣點(diǎn)mdlOutput計(jì)算輸出mdlUpdate更新離散狀態(tài)mdlDerivatives計(jì)算導(dǎo)數(shù)mdlTerminate結(jié)束仿真2.直接饋通(Directfeedthrough)直接饋通意味著輸出或可變采樣時(shí)間與輸入直接相關(guān)。在如下的兩種情況下需要直接饋通:(1)某一時(shí)刻的系統(tǒng)輸出y中包含某一時(shí)刻

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。