版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章5.1
Simulink模塊庫簡介
5.2
Simulink模型的建立
5.3
Simulink在系統(tǒng)仿真研究中的應(yīng)用舉例
5.4小結(jié)
5.1
Simulink模塊庫簡介5.1.1輸入模塊組
5.1.2輸出池模塊組
5.1.3連續(xù)系統(tǒng)模塊組
5.1.4離散系統(tǒng)模塊組
5.1.5非線性模塊組
5.1.6數(shù)學(xué)函數(shù)模塊組
5.1.7查表模塊組
5.1.8用戶自定義函數(shù)模塊組
5.1.9信號與系統(tǒng)模塊組
5.1.10信號屬性模塊組
5.1.11
Simulink中其他工具箱的模塊組SIMULINK簡介
Simulink是MATLAB下專門對動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的一個(gè)交互式軟件,有友好的圖形用戶界面。Simulink支持線性,非線性系統(tǒng),連續(xù)系統(tǒng),離散系統(tǒng),或者混合系統(tǒng)的建模與仿真。同時(shí)它也支持具有不同部分擁有不同采樣率的多種采樣速度的系統(tǒng)仿真。2.SimulinkExtras(Simulink附加庫)3.CommunicationsBlockset(通信模塊集)4.ControlSystemToolbox(控制系統(tǒng)工具箱)5.DSPBlockset(數(shù)字信號處理模塊集)6.Dials&GaugesBlockset(面板和儀表模塊集)7.Fixed-PointBlockset(定點(diǎn)模塊集)8.FuzzyLogicToolbox(模糊邏輯工具箱)9.MPCBlockset(MPC模塊集)10.NCDBlockset(非線性控制設(shè)計(jì)模塊集)11.MotorolaDSPBlockset(DSP模塊集)12.NeuralNetworkBlockset(神經(jīng)網(wǎng)絡(luò)模塊集)13.PowerSystemBlockset(電力系統(tǒng)模塊集)SIMULINK的一些其它工具箱14.Real-TimeWindowsTarget(實(shí)時(shí)窗口目標(biāo)庫)15.Real-TimeWorkshop(實(shí)時(shí)工作空間庫)16.SystemIDBlocks(系統(tǒng)辨識模塊集)17.Stateflow(有限狀態(tài)流程庫)18.AerospaceBlockset(航空模塊集)23.DataAcquistionToolbox(數(shù)據(jù)采集工具箱)20.SignalProcessingBlocks(信號處理工具箱)21.ImageAcquistionToolbox(圖形采集工具箱)22.RFBlockset(射頻工具箱)23.VideoandImageProcessingBlocks圖像處理工具箱新增工具箱:機(jī)構(gòu)仿真工具箱液壓驅(qū)動(dòng)工具箱SIMULINK建模入門:SIMULINK模塊瀏覽器瀏覽器鎖定SIMULINK庫模塊瀏覽區(qū)常用輸入模塊:常用接收模塊:連續(xù)系統(tǒng)模塊:非線性模塊:數(shù)學(xué)模塊:信號分支:單閉環(huán)直流調(diào)速練習(xí)1:磁盤讀取系統(tǒng)控制框圖分別去ka=10、80,觀察系統(tǒng)的階躍響應(yīng)曲線。練習(xí)2:哈勃望遠(yuǎn)鏡的指向系統(tǒng)PD控制速度反饋控制練習(xí)3:習(xí)題6-3ex5.mdl學(xué)習(xí)simulink的方法:
1.聽,聽老師講,掌握快
2.練,聽后練習(xí),掌握牢
3.試,大膽嘗試,掌握好
4.查,查看幫助,掌握多SIMULINK仿真編程四個(gè)層次:
1.會(huì)使用基本模塊搭建模型
2.能使用已有模塊搭建復(fù)雜模塊和模型
3.能使用S-function編寫復(fù)雜模塊
4.能將SIMULINK用于半實(shí)物仿真或?qū)崟r(shí)控制推薦學(xué)習(xí)SIMULINK論壇:研學(xué)論壇()中國振動(dòng)聯(lián)盟()SIMULINK求解代數(shù)方程:daishufangcheng.mdl求例如已知:的解。SIMULINK求解微分方程:其中,u是單位階躍方法一:方法二:方法三:weifenfangcheng.mdlx=ode45(funname,[t0tf],x0,tol)求例如已知:的解。functiony=zhl3_fun(t,x)y=[x(2);(1-x(1)^2)*x(2)-x(1)];[t,x]=ode45(‘zhl3_fun’,[030],[1;0]);figure(1)plot(t,x(:,1),t,x(:,2))xlabel(‘t’)ylabel(‘x(t)’)figure(2)plot(x(:,1),x(:,2))練習(xí)4:SIMULINK求解微分方程:ex3.mdl練習(xí)5:彈簧阻尼系統(tǒng)仿真已知:試分析參數(shù)b對系統(tǒng)階躍響應(yīng)的影響。忽略重力影響,彈簧阻尼系統(tǒng)的數(shù)學(xué)模型:1.PID控制器及積分隔離PID控制器原理2.simulink與工作空間及M文件的關(guān)系3.simulink中圖形曲線如何保存4.求解器設(shè)置5.子系統(tǒng)的創(chuàng)建和封裝綜合示例1:積分隔離PID控制器誤差曲線階躍響應(yīng)曲線jifengeli.mdl綜合示例2:磁懸浮系統(tǒng)建模與仿真已知電磁力:為磁力相關(guān)系數(shù)。參數(shù)值如下:小球的動(dòng)力學(xué)方程:電流變化的方程:cixuanfu.mdl課后練習(xí):請查閱資料,建立瓦特離心調(diào)節(jié)器的數(shù)學(xué)模型,并仿真之。分支模塊fenzhimokuai.mdl分支模塊duofenzhi.mdl使能模塊shineng.mdl觸發(fā)模塊chufa.mdl5.1.2輸出池模塊組Simulink輸出池模塊組5.1.3連續(xù)系統(tǒng)模塊組雙擊Simulink
主模塊組中的連續(xù)系統(tǒng)模塊組“Continuous”圖標(biāo),打開如右圖所示的模塊組。其中有傳遞函數(shù)模塊TransferFcn,狀態(tài)方程模塊StateSpace,零極點(diǎn)模塊Zero-Pole這三個(gè)最常用的線性連續(xù)系統(tǒng)模塊;還有時(shí)間延遲模塊TransportDelay和VariableTransportDelay,簡單的積分器模塊Integrator和微分器模塊Derivative等。利用這些模塊可以搭建起連續(xù)線性系統(tǒng)的Simulink
仿真模型。5.1.4離散系統(tǒng)模塊組Simulink離散系統(tǒng)模塊組5.1.5非線性模塊組非線性模塊組(Discontinuities)在Simulink模塊瀏覽器中又稱為不連續(xù)模塊組Discontinuities。該模塊組內(nèi)容如右圖所示。該模塊組主要包含常見的分段線性、非線性靜態(tài)模塊,如飽和非線性模塊Saturation,死區(qū)非線性模塊DeadZone,繼電非線性模塊Relay,變化率限幅器模塊RateLimiter,量化器模塊Quantizer,磁滯回環(huán)模塊Backlash,還可以處理Coulumb&viscous摩擦。5.1.6數(shù)學(xué)函數(shù)模塊組數(shù)學(xué)函數(shù)模塊組5.1.7查表模塊組查表模塊組5.1.8用戶自定義函數(shù)模塊組用戶自定義函數(shù)模塊組5.1.9信號與系統(tǒng)模塊組信號與系統(tǒng)模塊組5.1.10信號屬性模塊組信號屬性模塊組5.1.11Simulink中其他工具箱的模塊組Simulink下的其他模塊集5.2
Simulink模型的建立5.2.1模型窗口的建立
5.2.2模塊的連接與簡單處理
5.2.3模塊的參數(shù)修改
5.2.4啟動(dòng)系統(tǒng)仿真環(huán)境5.2.1模型窗口的建立1)在MATLAB的命令窗口中選擇File/New/NewModel菜單項(xiàng)。
2)單擊Simulink
工具欄中的“新建模型”圖標(biāo)。
3)選中Simulink
菜單系統(tǒng)中的File/New/Model菜單項(xiàng)。Simulink空白窗口模型5.2.2模塊的連接與簡單處理連接模塊5.2.3模塊的參數(shù)修改Simulink在繪制模塊時(shí),只能給出帶有默認(rèn)參數(shù)值的模塊模型。這經(jīng)常和想要輸入的不同,所以要能夠修改該模塊的參數(shù)值??梢噪p擊該模塊,在編輯欄內(nèi)賦予我們需要的參數(shù)值即可。5.2.4啟動(dòng)系統(tǒng)仿真環(huán)境仿真結(jié)果5.3SIMULINK仿真的運(yùn)行一、設(shè)置仿真參數(shù)和選擇解法器設(shè)置仿真參數(shù)和選擇解法器,選擇Simulation菜單下的Parameters命令,就會(huì)彈出一個(gè)仿真參數(shù)對話框,它主要用三個(gè)頁面來管理仿真的參數(shù)。Solver頁,它允許用戶設(shè)置仿真的開始和結(jié)束時(shí)間,選擇解法器,說明解法器參數(shù)及選擇一些輸出選項(xiàng)。WorkspaceI/O頁,作用是管理模型從MATLAB工作空間的輸入和對它的輸出。Diagnostics頁,允許用戶選擇Simulink在仿真中顯示的警告信息的等級。構(gòu)建好一個(gè)系統(tǒng)的模型之后,接下來的事情就是運(yùn)行模型,得出仿真結(jié)果。運(yùn)行一個(gè)仿真的完整過程分成三個(gè)步驟:設(shè)置仿真參數(shù),啟動(dòng)仿真和仿真結(jié)果分析。1、Solver頁此頁可以進(jìn)行的設(shè)置有:選擇仿真開始和結(jié)束的時(shí)間;選擇解法器,并設(shè)定它的參數(shù);選擇輸出項(xiàng)。仿真時(shí)間:注意這里的時(shí)間概念與真實(shí)的時(shí)間并不一樣,只是計(jì)算機(jī)仿真中對時(shí)間的一種表示,比如10秒的仿真時(shí)間,如果采樣步長定為0.1,則需要執(zhí)行100步,若把步長減小,則采樣點(diǎn)數(shù)增加,那么實(shí)際的執(zhí)行時(shí)間就會(huì)增加。一般仿真開始時(shí)間設(shè)為0,而結(jié)束時(shí)間視不同的因素而選擇??偟恼f來,執(zhí)行一次仿真要耗費(fèi)的時(shí)間依賴于很多因素,包括模型的復(fù)雜程度、解法器及其步長的選擇、計(jì)算機(jī)時(shí)鐘的速度等等。仿真步長模式:用戶在Type后面的第一個(gè)下拉選項(xiàng)框中指定仿真的步長選取方式,可供選擇的有Variable-step(變步長)和Fixed-step(固定步長)方式。變步長模式可以在仿真的過程中改變步長,提供誤差控制和過零檢測。固定步長模式在仿真過程中提供固定的步長,不提供誤差控制和過零檢測。用戶還可以在第二個(gè)下拉選項(xiàng)框中選擇對應(yīng)模式下仿真所采用的算法。變步長模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。ode45:缺省值,四/五階龍格-庫塔法,適用于大多數(shù)連續(xù)或離散系統(tǒng),但不適用于剛性(stiff)系統(tǒng)。它是單步解法器,也就是,在計(jì)算y(tn)時(shí),它僅需要最近處理時(shí)刻的結(jié)果y(tn-1)。一般來說,面對一個(gè)仿真問題最好是首先試試ode45。ode23:二/三階龍格-庫塔法,它在誤差限要求不高和求解的問題不太難的情況下,可能會(huì)比ode45更有效。也是一個(gè)單步解法器。ode113:是一種階數(shù)可變的解法器,它在誤差容許要求嚴(yán)格的情況下通常比ode45有效。ode113是一種多步解法器,也就是在計(jì)算當(dāng)前時(shí)刻輸出時(shí),它需要以前多個(gè)時(shí)刻的解。ode15s:是一種基于數(shù)字微分公式的解法器(NDFs)。也是一種多步解法器。適用于剛性系統(tǒng),當(dāng)用戶估計(jì)要解決的問題是比較困難的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。ode23s:它是一種單步解法器,專門應(yīng)用于剛性系統(tǒng),在弱誤差允許下的效果好于ode15s。它能解決某些ode15s所不能有效解決的stiff問題。ode23t:是梯形規(guī)則的一種自由插值實(shí)現(xiàn)。這種解法器適用于求解適度stiff的問題而用戶又需要一個(gè)無數(shù)字振蕩的解法器的情況。ode23tb:是TR-BDF2的一種實(shí)現(xiàn),TR-BDF2是具有兩個(gè)階段的隱式龍格-庫塔公式。discrtet:當(dāng)Simulink檢查到模型沒有連續(xù)狀態(tài)時(shí)使用它。固定步長模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。ode5:缺省值,是ode45的固定步長版本,適用于大多數(shù)連續(xù)或離散系統(tǒng),不適用于剛性系統(tǒng)。ode4:四階龍格-庫塔法,具有一定的計(jì)算精度。ode3:固定步長的二/三階龍格-庫塔法。ode2:改進(jìn)的歐拉法。ode1:歐拉法。discrete:是一個(gè)實(shí)現(xiàn)積分的固定步長解法器,它適合于離散無連續(xù)狀態(tài)的系統(tǒng)。步長參數(shù):對于變步長模式,用戶可以設(shè)置最大的和推薦的初始步長參數(shù),缺省情況下,步長自動(dòng)地確定,它由值auto表示。Maximumstepsize(最大步長參數(shù)):它決定了解法器能夠使用的最大時(shí)間步長,它的缺省值為“仿真時(shí)間/50”,即整個(gè)仿真過程中至少取50個(gè)取樣點(diǎn),但這樣的取法對于仿真時(shí)間較長的系統(tǒng)則可能帶來取樣點(diǎn)過于稀疏,而使仿真結(jié)果失真。一般建議對于仿真時(shí)間不超過15s的采用默認(rèn)值即可,對于超過15s的每秒至少保證5個(gè)采樣點(diǎn),對于超過100s的,每秒至少保證3個(gè)采樣點(diǎn)。Initialstepsize(初始步長參數(shù)):一般建議使用“auto”默認(rèn)值即可。仿真精度的定義(對于變步長模式)Relativetolerance(相對誤差):它是指誤差相對于狀態(tài)的值,是一個(gè)百分比,缺省值為1e-3,表示狀態(tài)的計(jì)算值要精確到0.1%。Absolutetolerance(絕對誤差):表示誤差值的門限,或者是說在狀態(tài)值為零的情況下,可以接受的誤差。如果它被設(shè)成了auto,那么simulink為每一個(gè)狀態(tài)設(shè)置初始絕對誤差為1e-6。2、WorkspaceI/O頁此頁主要用來設(shè)置SIMULINK與MATLAB工作空間交換數(shù)值的有關(guān)選項(xiàng)。Loadfromworkspace:選中前面的復(fù)選框即可從MATLAB工作空間獲取時(shí)間和輸入變量,一般時(shí)間變量定義為t,輸入變量定義為u。Initialstate用來定義從MATLAB工作空間獲得的狀態(tài)初始值的變量名。Savetoworkspace:用來設(shè)置存往MATLAB工作空間的變量類型和變量名,選中變量類型前的復(fù)選框使相應(yīng)的變量有效。一般存往工作空間的變量包括輸出時(shí)間向量(Time)、狀態(tài)向量(States)和輸出變量(Output)。Finalstate用來定義將系統(tǒng)穩(wěn)態(tài)值存往工作空間所使用的變量名。Saveoption:用來設(shè)置存往工作空間的有關(guān)選項(xiàng)。Limitrowstolast用來設(shè)定SIMULINK仿真結(jié)果最終可存往MATLAB工作空間的變量的規(guī)模,對于向量而言即其維數(shù),對于矩陣而言即其秩;Decimation設(shè)定了一個(gè)亞采樣因子,它的缺省值為1,也就是對每一個(gè)仿真時(shí)間點(diǎn)產(chǎn)生值都保存,而若為2,則是每隔一個(gè)仿真時(shí)刻才保存一個(gè)值。Format用來說明返回?cái)?shù)據(jù)的格式,包括矩陣matrix、結(jié)構(gòu)struct及帶時(shí)間的結(jié)構(gòu)structwithtime。3、Diagnostics頁此頁分成兩個(gè)部分:仿真選項(xiàng)和配置選項(xiàng)。配置選項(xiàng)下的列表框主要列舉了一些常見的事件類型,以及當(dāng)SIMULINK檢查到這些事件時(shí)給予的處理。仿真選項(xiàng)options主要包括是否進(jìn)行一致性檢驗(yàn)、是否禁用過零檢測、是否禁止復(fù)用緩存、是否進(jìn)行不同版本的SIMULINK的檢驗(yàn)等幾項(xiàng)。除了上述3個(gè)主要的頁外,仿真參數(shù)設(shè)置窗口還包括real-timeworkshop頁,主要用于與C語言編輯器的交換,通過它可以直接從SIMULINK模型生成代碼并且自動(dòng)建立可以在不同環(huán)境下運(yùn)行的程序,這些環(huán)境包括實(shí)時(shí)系統(tǒng)和單機(jī)仿真。二、啟動(dòng)仿真設(shè)置仿真參數(shù)和選擇解法器之后,就可以啟動(dòng)仿真而運(yùn)行。選擇Simulink菜單下的start選項(xiàng)來啟動(dòng)仿真,如果模型中有些參數(shù)沒有定義,則會(huì)出現(xiàn)錯(cuò)誤信息提示框。如果一切設(shè)置無誤,則開始仿真運(yùn)行,結(jié)束時(shí)系統(tǒng)會(huì)發(fā)出一鳴叫聲。除了直接在SIMULINK環(huán)境下啟動(dòng)仿真外,還可以在MATLAB命令窗口中通過函數(shù)進(jìn)行,格式如下:
[t,x,y]=sim(‘模型文件名’,[totf],simset(‘參數(shù)1’,參數(shù)值1,‘參數(shù)2’,參數(shù)值2,…))其中to為仿真起始時(shí)間,tf為仿真終止時(shí)間。[t,x,y]為返回值,t為返回的時(shí)間向量值,x為返回的狀態(tài)值,y為返回的輸出向量值。simset定義了仿真參數(shù),包括以下一些主要參數(shù):AbsTol:默認(rèn)值為1e-6設(shè)定絕對誤差范圍。Decimation:默認(rèn)值為1,決定隔多少個(gè)點(diǎn)返回狀態(tài)和輸出值。Solver:解法器的選擇。MaxRows:默認(rèn)值為0,表示不限制。若為大于零的值,則表示限制輸出和狀態(tài)的規(guī)模,使其最大行數(shù)等于該數(shù)值。InitialState:一個(gè)向量值,用于設(shè)定初始狀態(tài)。FixedStep:用一個(gè)正數(shù)表示步階的大小,僅用于固定步長模式。MaxStep:默認(rèn)值為auto。用于變步長模式,表示最大的步階大小。如果知道模型文件名稱,可以用以下命令得到該模型的仿真參數(shù):simget(‘模型文件名’)第四節(jié)SIMULINK自定義功能模塊一、方法1exp5_5.mdl將Signal&Systems
模塊庫中的Subsystem功能模塊復(fù)制到打開的模型窗口中。雙擊Subsystem功能模塊,進(jìn)入自定義功能模塊窗口,從而可以利用已有的基本功能模塊設(shè)計(jì)出新的功能模塊。自定義功能模塊有兩種方法,一種方法是采用Signal&Systems
模塊庫中的Subsystem功能模塊,利用其編輯區(qū)設(shè)計(jì)組合新的功能模塊;另一種方法是將現(xiàn)有的多個(gè)功能模塊組合起來,形成新的功能模塊。對于很大的SIMULINK模型,通過自定義功能模塊可以簡化圖形,減少功能模塊的個(gè)數(shù),有利于模型的分層構(gòu)建。二、方法2exp5_6.mdl在模型窗口中建立所定義功能模塊的子模塊。用鼠標(biāo)將這些需要組合的功能模塊框住,然后選擇Edit菜單下的CreateSubsystem即可。三、自定義功能模塊的封裝
exp5_7.mdlexp5_8.mdlexp5_9.mdlexp5_10.mdl上面提到的兩種方法都只是創(chuàng)建一個(gè)功能模塊而已,如果要命名該自定義功能模塊、對功能模塊進(jìn)行說明、選定模塊外觀、設(shè)定輸入數(shù)據(jù)窗口,則需要對其進(jìn)行封裝處理。首先選中Subsystem功能模塊,再打開Edit菜單中的MaskSubsystem進(jìn)入mask的編輯窗口,可以看出有3個(gè)標(biāo)簽頁。Icon:設(shè)定功能模塊的外觀。Initialization:設(shè)定輸入數(shù)據(jù)窗口(PromptList)。Documentation:設(shè)計(jì)該功能模塊的文字說明。1、Icon標(biāo)簽頁此頁最重要的部分是DrawingCommands,在該區(qū)域內(nèi)可以用disp指令設(shè)定功能模塊的文字名稱,用plot指令畫線,用dpoly指令畫轉(zhuǎn)換函數(shù)。注意,盡管這些命令在名字上和以前講的MATLAB函數(shù)相同,但它們在功能上卻不完全相同,因此不能隨便套用以前所講的格式。disp(‘text’)可以在功能模塊上顯示設(shè)定的文字內(nèi)容。disp(‘text1\ntext2’)分行顯示文字text1和text2plot([x1x2…xn],[y1y2…yn])指令會(huì)在功能模塊上畫出由[x1y1]經(jīng)[x2y2]經(jīng)[x3y3]…直到[xn,yn]為止的直線。功能模塊的左下角會(huì)根據(jù)目前的坐標(biāo)刻度被正規(guī)化為[0,0],右上角則會(huì)依據(jù)目前的坐標(biāo)刻度被正規(guī)化為[1,1]。dpoly(num,den):按s次數(shù)的降冪排序,在功能模塊上顯示連續(xù)的傳遞函數(shù)。dpoly(num,den,’z’):按z次數(shù)的降冪排序,在功能模塊上顯示離散的傳遞函數(shù)。用戶還可以設(shè)置一些參數(shù)來控制圖標(biāo)的屬性,這些屬性在Icon頁右下端的下拉式列表中進(jìn)行選擇。Iconframe:Visible顯示外框線;Invisible:隱藏外框線。IconTransparency:Opaque隱藏輸入輸出的標(biāo)簽;Transparent:顯示輸入輸出的標(biāo)簽。IconRotation:旋轉(zhuǎn)模塊。Drawingcoordinate:畫圖時(shí)的坐標(biāo)系。2、Initialization標(biāo)簽頁此頁主要用來設(shè)計(jì)輸入提示(prompt)以及對應(yīng)的變量名稱(variable)。在prompt欄上輸入變量的含義,其內(nèi)容會(huì)顯示在輸入提示中。而variable是仿真要用到的變量,該變量的值一直存于maskworkspace中,因此可以與其他程序相互傳遞。如果配合在initializationcommands內(nèi)編輯程序,可以發(fā)揮功能模塊的功能來執(zhí)行特定的操作。在prompt編輯框中輸入文字,這些文字就會(huì)出現(xiàn)在prompt列表中;在variable列表中輸入變量名稱,則prompt中的文字對應(yīng)該變量的說明。如果要增加新的項(xiàng)目,可以點(diǎn)擊邊上的Add鍵。Up和Down按鈕用于執(zhí)行項(xiàng)目間的位置調(diào)整。Controltype列表給用戶提供選擇設(shè)計(jì)的編輯區(qū),選擇Edit會(huì)出現(xiàn)供輸入的空白區(qū)域,所輸入的值代表對應(yīng)的variable;Popup則為用戶提供可選擇的列表框,所選的值代表variable,此時(shí)在下面會(huì)出現(xiàn)Popupstrings輸入框,用來設(shè)計(jì)選擇的內(nèi)容,各值之間用邏輯或符號“|”隔開;如選擇Checkbox則用于on與off的選擇設(shè)定。Assignment屬性用于配合Controltype的不同選擇來提供不同的變量值,變量值有Evaluate和Literal兩種,其含義如下:
AssignmentControltypeEvaluateLiteralEdit輸入的文字是程序執(zhí)行時(shí)所用的變量值;輸入內(nèi)容作字符串處理
Popup為選擇的序號,選第一項(xiàng)輸出值為1,選擇內(nèi)容作字符串處理往下類推;
Checkbox輸出為1或0;輸出為‘on’或‘off’的字符串3、Documentation標(biāo)簽頁此頁主要用來針對完成的功能模塊來編寫相應(yīng)的說明文字和Help。在Blockdescription中輸入的文字,會(huì)出現(xiàn)在參數(shù)窗口的說明部分。在Blockhelp中輸入的文字則會(huì)顯示在單擊參數(shù)窗口中的help按鈕后瀏覽器所加載的HTML文件中。Masktype:在此處輸入的文字作為封裝模塊的標(biāo)注性說明,在模型窗口下,將鼠標(biāo)指向模塊,則會(huì)顯示該文字。當(dāng)然必須先在View菜單中選擇BlockDataTips——ShowBlockDataTips。第五節(jié)SIMULINKs-function的設(shè)計(jì)一、s-function的概念s-function是一個(gè)動(dòng)態(tài)系統(tǒng)的計(jì)算機(jī)語言描述,在MATLAB里,用戶可以選擇用m文件編寫,也可以用c或mex文件編寫,在這里只給大家介紹如何用m文件編寫s-function。S-function提供了擴(kuò)展Simulink模塊庫的有力工具,它采用一種特定的調(diào)用語法,使函數(shù)和Simulink解法器進(jìn)行交互。S-function最廣泛的用途是定制用戶自己的Simulink模塊。它的形式十分通用,能夠支持連續(xù)系統(tǒng)、離散系統(tǒng)和混合系統(tǒng)。Simulink為用戶提供了許多內(nèi)置的基本庫模塊,通過這些模塊進(jìn)行連接而構(gòu)成系統(tǒng)的模型。對于那些經(jīng)常使用的模塊進(jìn)行組合并封裝可以構(gòu)建出重復(fù)使用的新模塊,但它依然是基于Simulink原來提供的內(nèi)置模塊。而Simulinks-function是一種強(qiáng)大的對模塊庫進(jìn)行擴(kuò)展的新工具。二、建立m文件s-function1、使用模板文件:sfuntmp1.m該模板文件位于MATLAB根目錄下toolbox/simulink/blocks目錄下。模板文件里s-function的結(jié)構(gòu)十分簡單,它只為不同的flag的值指定要相應(yīng)調(diào)用的m文件子函數(shù)。比如當(dāng)flag=3時(shí),即模塊處于計(jì)算輸出這個(gè)仿真階段時(shí),相應(yīng)調(diào)用的子函數(shù)為sys=mdloutputs(t,x,u)。模板文件使用switch語句來完成這種指定,當(dāng)然這種結(jié)構(gòu)并不唯一,用戶也可以使用if語句來完成同樣的功能。而且在實(shí)際運(yùn)用時(shí),可以根據(jù)實(shí)際需要來去掉某些值,因?yàn)椴⒉皇敲總€(gè)模塊都需要經(jīng)過所有的子函數(shù)調(diào)用。模板文件只是Simulink為方便用戶而提供的一種參考格式,并不是編寫s-function的語法要求,用戶完全可以改變子函數(shù)的名稱,或者直接把代碼寫在主函數(shù)里,但使用模板文件的好處是,比較方便,而且條理清晰。使用模板編寫s-function,用戶只需把s-函數(shù)名換成期望的函數(shù)名稱,如果需要額外的輸入?yún)⒘浚€需在輸入?yún)?shù)列表的后面增加這些參數(shù),因?yàn)榍懊娴?個(gè)參數(shù)是simulink調(diào)用s-function時(shí)自動(dòng)傳入的。對于輸出參數(shù),最好不做修改。接下去的工作就是根據(jù)所編s-function要完成的任務(wù),用相應(yīng)的代碼去替代模板里各個(gè)子函數(shù)的代碼即可。Simulink在每個(gè)仿真階段都會(huì)對s-function進(jìn)行調(diào)用,在調(diào)用時(shí),Simulink會(huì)根據(jù)所處的仿真階段為flag傳入不同的值,而且還會(huì)為sys這個(gè)返回參數(shù)指定不同的角色,也就是說盡管是相同的sys變量,但在不同的仿真階段其意義卻不相同,這種變化由simulink自動(dòng)完成。m文件s-function可用的子函數(shù)說明如下:mdlInitializeSizes:定義s-function模塊的基本特性,包括采樣時(shí)間、連續(xù)或者離散狀態(tài)的初始條件和sizes數(shù)組。mdlDerivatives:計(jì)算連續(xù)狀態(tài)變量的微分方程。mdlUpdate:更新離散狀態(tài)、采樣時(shí)間和主時(shí)間步的要求。mdlOutputs:計(jì)算s-function的輸出。mdlGetTimeOfNextVarHit:計(jì)算下一個(gè)采樣點(diǎn)的絕對時(shí)間,這個(gè)方法僅僅是在用戶在mdlInitializeSizes
里說明了一個(gè)可變的離散采樣時(shí)間。mdlTerminate:實(shí)現(xiàn)仿真任務(wù)必須的結(jié)束。概括說來,建立s-function可以分成兩個(gè)分離的任務(wù):初始化模塊特性包括輸入輸出信號的寬度,離散連續(xù)狀態(tài)的初始條件和采樣時(shí)間。將算法放到合適的s-function子函數(shù)中去。2、定義s-function的初始信息為了讓Simulink識別出一個(gè)m文件s-function,用戶必須在s-函數(shù)里提供有關(guān)s-函數(shù)的說明信息,包括采樣時(shí)間、連續(xù)或者離散狀態(tài)個(gè)數(shù)等初始條件。這一部分主要是在mdlInitializeSizes子函數(shù)里完成。Sizes數(shù)組是s-function函數(shù)信息的載體,它內(nèi)部的字段意義為:NumContStates:連續(xù)狀態(tài)的個(gè)數(shù)(狀態(tài)向量連續(xù)部分的寬度)NumDiscStates:離散狀態(tài)的個(gè)數(shù)(狀態(tài)向量離散部分的寬度)NumOutputs:輸出變量的個(gè)數(shù)(輸出向量的寬度)NumInputs:輸入變量的個(gè)數(shù)(輸入向量的寬度)DirFeedthrough:有無直接饋入NumSampleTimes:采樣時(shí)間的個(gè)數(shù)如果字段代表的向量寬度為動(dòng)態(tài)可變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版房屋代持業(yè)務(wù)合同范本3篇
- 二零二五版電機(jī)維修智能化改造合同范本3篇
- 二零二五年度房地產(chǎn)經(jīng)紀(jì)服務(wù)合同7篇
- 二零二五版購房借款及房地產(chǎn)開發(fā)商風(fēng)險(xiǎn)控制擔(dān)保服務(wù)合同3篇
- 二零二五版商業(yè)地產(chǎn)買賣合同模板下載3篇
- 二零二五年度高等教育機(jī)構(gòu)外國專家項(xiàng)目合作合同參考書3篇
- 二零二五版家用空調(diào)安裝與室內(nèi)環(huán)境改善合同3篇
- 二零二五年度成都上灶師父招聘與餐飲業(yè)人才服務(wù)合同2篇
- 展會(huì)創(chuàng)意展示合同(2篇)
- 2025年度油氣田2#配電房土建安裝與防爆電氣設(shè)備合同3篇
- 下肢皮牽引護(hù)理PPT課件(19頁P(yáng)PT)
- 臺(tái)資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 參會(huì)嘉賓簽到表
- 機(jī)械車間員工績效考核表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評估流程圖
- 人力資源管理之績效考核 一、什么是績效 所謂績效簡單的講就是對
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評論
0/150
提交評論