MATLAB8.X程序設(shè)計(jì)及典型應(yīng)用第七章_第1頁(yè)
MATLAB8.X程序設(shè)計(jì)及典型應(yīng)用第七章_第2頁(yè)
MATLAB8.X程序設(shè)計(jì)及典型應(yīng)用第七章_第3頁(yè)
MATLAB8.X程序設(shè)計(jì)及典型應(yīng)用第七章_第4頁(yè)
MATLAB8.X程序設(shè)計(jì)及典型應(yīng)用第七章_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第七章Simulink交互式仿真建成環(huán)境本章主要介紹Simulink的模塊庫(kù)、具體建模方法、建模實(shí)例以及子系統(tǒng)及其封裝。本章的主要內(nèi)容有:Simulink的啟動(dòng)和模型庫(kù)模型文件的創(chuàng)建和保存仿真的配置子系統(tǒng)及其封裝在MATLAB指令窗中運(yùn)行Simulink模型7.1Simulink概述及其特點(diǎn)Simulink是MATLAB中的一個(gè)重要組件,它是simulation和link的縮寫,是一個(gè)進(jìn)行動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成軟件包。它支持連續(xù)、離散以及兩者混合的線性和非線性系統(tǒng)的仿真;支持具有單任務(wù)、多任務(wù)的離散事件系統(tǒng)。在Simulink軟件環(huán)境下,用戶可以在屏幕上調(diào)用現(xiàn)成的模塊,并將它們適當(dāng)?shù)剡B接起來(lái)構(gòu)成系統(tǒng)的模型,即所謂的可視化建模。運(yùn)用Simulink創(chuàng)建的模型外表為方塊圖形,且采用分層結(jié)構(gòu),既適宜自上而下的設(shè)計(jì)流程(概念、功能、系統(tǒng)、子系統(tǒng)直至器件),又適宜自下而上的設(shè)計(jì),具有方便、靈活的特點(diǎn)。在該環(huán)境中,用戶可以在仿真過(guò)程中改變感興趣的參數(shù),實(shí)時(shí)地觀察系統(tǒng)行為的變化。Simulink環(huán)境使用戶擺脫了枯燥的數(shù)學(xué)推導(dǎo)和繁瑣地編程,甚得科研工作者的青睞。7.2Simulink的啟動(dòng)和模型庫(kù)

如果用戶在安裝MATLAB的過(guò)程中選擇了Simulink組件,則在MATLAB安裝完成后,Simulink也安裝完畢。用戶必須注意,Simulink不能獨(dú)立運(yùn)行,只能在MATLAB環(huán)境中運(yùn)行。7.2.1Simulink的啟動(dòng)與退出在MATLAB的命令窗口輸入語(yǔ)句simulink并執(zhí)行:>>simulinkSimulink啟動(dòng)后會(huì)顯示如圖7.1所示的Simulink模塊庫(kù)瀏覽器(SimulinkLibraryBrowser)窗口。窗口的左邊是以樹(shù)狀列表形式列出的各類Simulink模塊庫(kù)名稱。雙擊對(duì)應(yīng)模塊庫(kù)的“+”號(hào)可以展開(kāi)子模塊庫(kù)。窗口右邊有三個(gè)切換窗口,一個(gè)是對(duì)應(yīng)用戶選中左側(cè)模塊庫(kù)中的模塊圖標(biāo)和名稱;一個(gè)是通過(guò)搜索模塊名稱得到的搜索結(jié)果;還有一個(gè)是使用頻率最高的模塊列表。啟動(dòng)Simulink也可以通過(guò)單擊MATLAB主窗口工具欄上的圖標(biāo)按鈕來(lái)實(shí)現(xiàn),如圖7.2所示。關(guān)閉Simulink模塊庫(kù)以及所有模型窗口即可以退Simulink。7.2.1Simulink的啟動(dòng)與退出7.2.2Simulink常用模塊Simulink模塊庫(kù)有16個(gè)子模塊庫(kù),通常使用比較多的是信號(hào)源子模塊庫(kù)(Sources)、連續(xù)系統(tǒng)子模塊庫(kù)(Continuous)、離散系統(tǒng)子模塊庫(kù)(Discrete)、數(shù)學(xué)運(yùn)算子模塊庫(kù)(MathOperations)、提取信號(hào)子模塊庫(kù)(Sinks)以及用戶自定義子模塊庫(kù)(User-DefinedFunctions)等。每個(gè)子模塊庫(kù)提供了不同功能的模塊。下面分別介紹各個(gè)常用子模塊庫(kù)以及其模塊,包括模塊的圖標(biāo),名稱,以及功能。其中模塊左側(cè)的">"為信號(hào)流進(jìn)端口,右側(cè)的"?"為信號(hào)流出端口。1、信號(hào)源子模塊庫(kù)(Sources)信號(hào)源子模塊庫(kù)提供的模塊都沒(méi)有輸入端口,而至少有一個(gè)輸出端口。信號(hào)源子模塊庫(kù)中提供了很多標(biāo)準(zhǔn)信號(hào)。各模塊的圖標(biāo)、名稱、功能見(jiàn)表7-1。表7-1信號(hào)源子庫(kù)中模塊圖標(biāo)、名稱、功能一覽表圖標(biāo)名稱功能圖標(biāo)名稱功能Band-LimitedWhiteNoise限帶白噪聲ChirpSignal啁啾信號(hào)Clock時(shí)鐘信號(hào)Constant直流信號(hào)CounterFree-Running循環(huán)計(jì)算器CounterLimited有限循環(huán)計(jì)數(shù)器DigitalClock數(shù)字時(shí)鐘信號(hào)FromWorkspace來(lái)源于工作空間的信號(hào)FromFile來(lái)自于文件的信號(hào)In1創(chuàng)建輸入端口Ground接地信號(hào)Ramp斜坡信號(hào)PulseGenerator脈沖發(fā)生器RepeatingSequence重復(fù)觸發(fā)序列RandomNumber隨機(jī)信號(hào)RepeatingSequenceStaur重復(fù)階梯序列RepertingSequenceInterpol…重復(fù)插值序列SignalGenerator信號(hào)發(fā)生器SignalBuilder信號(hào)生成器Step階躍信號(hào)SineWave正弦信號(hào)UniformRandomNumber均勻隨即信號(hào)表7-1信號(hào)源子庫(kù)中模塊圖標(biāo)、名稱、功能一覽表2、連續(xù)系統(tǒng)子模塊庫(kù)(Continuous)連續(xù)系統(tǒng)子庫(kù)提供了諸多關(guān)于連續(xù)系統(tǒng)運(yùn)算的模塊,包括微分運(yùn)算、積分運(yùn)算等,其圖標(biāo)、名稱和功能見(jiàn)表7-2。圖標(biāo)名稱功能圖標(biāo)名稱功能Derivative一階微分TransportDelay傳輸延時(shí)Integrator定積分或不定積分VariableTimeDelay可變延時(shí)傳輸State-Space狀態(tài)空間模型VariableTransportDelay可變傳輸延時(shí)TransferFcn傳遞函數(shù)Zero-Pole零-極點(diǎn)3、離散系統(tǒng)子模塊庫(kù)(Discrete)離散系統(tǒng)子庫(kù)提供了諸多關(guān)于離散系統(tǒng)運(yùn)算的模塊,包括濾波器、差分運(yùn)算等,其圖標(biāo)、名稱和功能見(jiàn)表7-3所示。圖標(biāo)名稱功能圖標(biāo)名稱功能Difference差值UnitDelay單位延遲DiscreteDerivative離散差分Zero-OrderHold零階保持器DiscreteFilter離散濾波器First-OrderHold一階保持DiscreteFIRFilte離散FIR濾波器Discrete-TimeIntegrator離散時(shí)間積分DiscreteState-Space離散狀態(tài)空間系統(tǒng)Memory存儲(chǔ)單元4、數(shù)學(xué)運(yùn)算子模塊庫(kù)(Math)數(shù)學(xué)運(yùn)算子庫(kù)提供了諸多關(guān)于數(shù)學(xué)運(yùn)算的模塊,其中主要運(yùn)算模塊的圖標(biāo)、名稱和功能見(jiàn)表7-4所示。圖標(biāo)名稱功能圖標(biāo)名稱功能Abs求復(fù)數(shù)模或求絕對(duì)值MathFunction數(shù)學(xué)運(yùn)算函數(shù)Add加法Minmax求最大/最小ComplextoMagnitude-Angle求復(fù)數(shù)的模和幅角Reshape元素重新排列ComplextoReal-Imag求復(fù)數(shù)的實(shí)部和虛部RoundingFloor圓周取整函數(shù)ReciprocalSqrt求平方根的倒數(shù)Sign符號(hào)函數(shù)TrigonometricFunction三角函數(shù)SumofElement元素求和SliderGain連續(xù)可調(diào)增益Polynomial多項(xiàng)式運(yùn)算VectorConcatenate向量串接DotProduct點(diǎn)乘5、提取信號(hào)子模塊庫(kù)(Sinks)輸出子庫(kù)中提供的模塊用來(lái)輸出系統(tǒng)仿真的結(jié)果。它只有輸入端口,用以接受模型傳遞過(guò)來(lái)的信號(hào)。輸出子模塊庫(kù)中各模塊的圖標(biāo)、名稱和功能見(jiàn)表7-5所示。圖標(biāo)名稱功能圖標(biāo)名稱功能Display實(shí)時(shí)數(shù)據(jù)顯示FloatingScope懸浮狀態(tài)示波器Out1創(chuàng)建輸出端口Scope示波器StopSimulation輸入非0時(shí)停止仿真Terminator終端ToFile輸出到文件ToWorkspace輸出到工作空間XYGraph顯示X-Y關(guān)系圖6、用戶自定義的函數(shù)子模塊庫(kù)(User-DefinedFunctions)用戶如果自己編寫函數(shù)文件來(lái)實(shí)現(xiàn)某一功能,可以使用用戶自定義的函數(shù)子模塊庫(kù)中的模塊。圖標(biāo)名稱功能圖標(biāo)名稱功能Fcn表達(dá)式形式InterpretedMATLABFunction函數(shù)計(jì)算形式Level-2MATLABS-Functionlevel-2S函數(shù)形式MATLABFunction函數(shù)文件形式S-FunctionS函數(shù)形式S-FunctionBuilder調(diào)用S函數(shù)形式說(shuō)明:用戶如果想了解更多關(guān)于該模塊的信息,可以使用該模塊的幫助信息。用鼠標(biāo)右擊需要查詢的模塊圖標(biāo),在下拉菜單中選擇幫助選項(xiàng),MATLAB將會(huì)提供該模塊的幫助信息。7.3模型文件的創(chuàng)建和保存Simulink模塊庫(kù)提供了功能齊全的模塊,用戶可以通過(guò)這些模塊來(lái)創(chuàng)建模型文件,并進(jìn)行仿真和系統(tǒng)分析。【例7-1】創(chuàng)建模型并分析結(jié)果在MATLAB指令窗內(nèi)執(zhí)行Simulink或者單擊MATLAB主窗口工具欄上的圖標(biāo)按鈕,打開(kāi)Simulink模塊庫(kù)瀏覽器窗口,(如圖7.1)。單擊該窗口工具條上的新建圖標(biāo)打開(kāi)一個(gè)未命名(untitled)的空白模型窗,如圖所示。(1)進(jìn)入Simulink環(huán)境鼠標(biāo)單擊圖7.1界面上“Sources”進(jìn)入信號(hào)源子模塊庫(kù),選擇正弦信號(hào)圖標(biāo)鼠標(biāo)右擊,選擇“Addto…”選項(xiàng)將該框圖添加到模型窗中,如圖。(2)進(jìn)入信號(hào)源子模塊庫(kù),添加正弦信號(hào)發(fā)生器模塊,查看默認(rèn)參數(shù)或重新設(shè)置參數(shù)或者,按住鼠標(biāo)左鍵不動(dòng)將正弦信號(hào)發(fā)生器框圖直接拖到模型窗中,效果相同。雙擊模型窗中的正弦信號(hào)發(fā)生器模塊,打開(kāi)關(guān)于該模塊參數(shù)設(shè)置的對(duì)話框,如圖7.6所示。(2)進(jìn)入信號(hào)源子模塊庫(kù),添加正弦信號(hào)發(fā)生器模塊,查看默認(rèn)參數(shù)或重新設(shè)置參數(shù)(3)進(jìn)入輸出子模塊庫(kù),選擇輸出方式鼠標(biāo)單擊圖7.1界面上的“Sinks”子模塊庫(kù),選擇示波器(Scope)圖標(biāo)將其添加到模型窗中。雙擊示波器圖標(biāo),打開(kāi)示波器窗口。示波器窗口有一個(gè)工具條,其上各按鈕從左到右的功能分別為:打印、示波器參數(shù)、同時(shí)放大x、y坐標(biāo)軸、放大x軸、放大y軸、自動(dòng)縮放、保存坐標(biāo)軸設(shè)置、恢復(fù)坐標(biāo)軸設(shè)置、浮動(dòng)示波器、釋放坐標(biāo)軸選項(xiàng)、信號(hào)選擇器。單擊圖標(biāo)打開(kāi)示波器參數(shù)設(shè)置窗口,如圖7.7所示。示波器的參數(shù)設(shè)置對(duì)話框有兩個(gè)切換選項(xiàng)卡:General選項(xiàng)卡,可設(shè)置4個(gè)參數(shù),常用的為坐標(biāo)軸數(shù)目(Numberofaxes);History選項(xiàng)卡可設(shè)置兩個(gè)參數(shù),常用的是保存到工作空間(Savedatatoworkspace)。(3)進(jìn)入輸出子模塊庫(kù),選擇輸出方式(4)進(jìn)入數(shù)學(xué)運(yùn)算子模塊庫(kù),選取疊加函數(shù)模塊。鼠標(biāo)單擊圖7.1界面上的“MathOperations”,選擇“Add”的圖標(biāo)并將其添加到模型窗中。鼠標(biāo)雙擊該模塊,將其設(shè)置成“+-”形式,如圖7.9所示.

如果用戶選擇將圖標(biāo)(Iconshape)設(shè)置為圓形,其外觀和功能等同于模塊(5)搭建模型,完成仿真。在未命名的模型窗中,用鼠標(biāo)畫線,將各個(gè)模塊連接成一個(gè)完整的模型,具體連線操作為:先將光標(biāo)指向一個(gè)模塊的輸出端,待光標(biāo)變?yōu)槭址?,按下鼠?biāo)左鍵并拖動(dòng),直到另一模塊的輸入端。如果需要將連接線分支,則需將光標(biāo)指向信號(hào)線的分支點(diǎn)上,按鼠標(biāo)右鍵,待光標(biāo)變?yōu)槭址?,拖?dòng)鼠標(biāo)直到另一模塊的輸入端即可。連接線的箭頭指向?yàn)樾盘?hào)流動(dòng)方向。模型見(jiàn)圖7.10。搭建好模型后,鼠標(biāo)單擊模型窗工具條中的圖標(biāo)啟動(dòng)Simulink系統(tǒng)進(jìn)行仿真。鼠標(biāo)雙擊示波器,可以看到運(yùn)行后的結(jié)果,如圖7.11所示.其中運(yùn)用示波器工具條中的按鈕使得圖形充滿整個(gè)坐標(biāo)系,如信號(hào)x。(5)搭建模型,完成仿真。(5)仿真結(jié)果的分析本例選擇三個(gè)單蹤示波器,分別顯示正弦信號(hào)、余弦信號(hào)和運(yùn)算后的信號(hào),為了更好地比對(duì)信號(hào)運(yùn)算后的變化,用戶可以將三個(gè)信號(hào)送給基本工作空間(WorkSpace),變量名稱分別為x1,x2,x,并以數(shù)值形式保存。具體設(shè)置為:勾選“Savedatatoworkspace”,變量名改為x1,“Format”下拉菜單選擇“Array”,然后點(diǎn)擊“OK”或者“Apply”完成設(shè)置。如圖7.12所示,為正弦信號(hào)x1的設(shè)置,信號(hào)x2、x的設(shè)置方法同上。啟動(dòng)仿真后,示波器立刻得到仿真的結(jié)果,該結(jié)果根據(jù)設(shè)置同時(shí)送給MATLAB基本工作空間。工作空間有四個(gè)變量tout、x1、x2和x,.其中,tout為時(shí)間變量默認(rèn)名,x1,x2,x均為為51×2數(shù)組,其中各數(shù)組的第一列數(shù)值即為變量tout,第二列為各自輸出信號(hào)的振幅。在MATLAB編輯器中編寫文件名為exm7_1的M文件:plot(x1(:,1),x1(:,2),'r:','LineWidth',3)holdonplot(x2(:,1),x2(:,2),'k-.','LineWidth',3)plot(x(:,1),x(:,2),'b','LineWidth',3)holdofflegend('輸入正弦信號(hào)','輸入余弦信號(hào)','輸出信號(hào)',3)xlabel('時(shí)間'),ylabel('振幅')在指令窗中執(zhí)行文件exm7_1.m,結(jié)果如圖所示(5)搭建模型,完成仿真。由圖可知,兩個(gè)信號(hào)運(yùn)算后產(chǎn)生的信號(hào)振蕩頻率與原信號(hào)相同,但振幅和初相位都發(fā)生了變化。創(chuàng)建完善的模型可以存盤。保存模型的方法和保存M文件的方法類似,模型文件的擴(kuò)展名為.mdl。點(diǎn)擊模型文件編輯器的保存圖標(biāo)將該模型文件命名為exm1.若要打開(kāi)該文件,可以通過(guò)以下3種方法:在MATLAB指令窗中輸入模型文件名,注意:不要帶擴(kuò)展名,但該文件一定要在當(dāng)前目錄或MATLAB的搜索路徑上,否則必須注明路徑目錄。2.點(diǎn)擊模塊庫(kù)瀏覽器或某一模型窗中的菜單File→Open,選中該模型文件打開(kāi)。3.點(diǎn)擊模塊庫(kù)瀏覽器或某一模型窗中的圖標(biāo)打開(kāi)該模型文件7.3模型文件的創(chuàng)建和保存7.4仿真的配置Simulink模型實(shí)際上是一個(gè)計(jì)算機(jī)程序,它定義了描寫被仿真系統(tǒng)的一組微分方程或差分方程。當(dāng)對(duì)模型窗中的模型進(jìn)行仿真時(shí),Simulink系統(tǒng)就開(kāi)始了用一種數(shù)值解算方法求解方程。用戶在對(duì)模型進(jìn)行仿真時(shí),如果不做特別設(shè)置(如例7-1),Simulink總以默認(rèn)的參數(shù)進(jìn)行數(shù)值解算。如果用戶不采用系統(tǒng)默認(rèn)的仿真設(shè)置,就必須對(duì)各種仿真參數(shù)進(jìn)行配置(Configuration),其中包括:仿真步長(zhǎng)的選擇、仿真起始時(shí)刻和終止時(shí)刻的設(shè)定、數(shù)值積分算法的選擇以及各種仿真容差的選擇等。在模型窗的主菜單Simulink下拉子菜單中單擊仿真參數(shù)配置選項(xiàng)(ConfigurationParameters),彈出仿真參數(shù)配置對(duì)話窗。圖7.14Simulink仿真參數(shù)配置窗口在該窗口中有若干個(gè)選項(xiàng),對(duì)于一般用戶而言,比較常用的選項(xiàng)為仿真時(shí)間(Simulinktime)和解算器選項(xiàng)(Solveroptions)。下面就這兩個(gè)選項(xiàng)來(lái)闡述參數(shù)值的內(nèi)涵。7.4仿真的配置7.4.1仿真時(shí)間選項(xiàng)參數(shù)配置窗口中的時(shí)間選項(xiàng)提供了起始時(shí)刻(Starttime)和終止時(shí)刻(Stoptime)的參數(shù)設(shè)置,默認(rèn)時(shí)分別為0和10.表示仿真時(shí)長(zhǎng)為10秒,如果解算器設(shè)置的計(jì)算步長(zhǎng)為0.01,則計(jì)算機(jī)需要執(zhí)行1000步結(jié)束。如果將計(jì)算步長(zhǎng)設(shè)置得長(zhǎng)一些,比如0.1,則相應(yīng)的,計(jì)算機(jī)執(zhí)行次數(shù)就減少,即100步即可完成。因此,這里的時(shí)間概念和計(jì)算機(jī)真實(shí)地執(zhí)行時(shí)間是有差別的。相同的時(shí)間設(shè)置,如果計(jì)算步長(zhǎng)設(shè)置得越長(zhǎng),實(shí)際的執(zhí)行時(shí)間就越短。7.4.2解算器選項(xiàng)

在解算器選項(xiàng)解算類型(Tyep)中,有變步長(zhǎng)(Variable-step)和定步長(zhǎng)(Fixed-step)兩種。對(duì)于變步長(zhǎng)選項(xiàng),在算法(Solver)選項(xiàng)中列出了多種變步長(zhǎng)解算方法,對(duì)于連續(xù)系統(tǒng),默認(rèn)的算法ode45即為最佳算法,建議其對(duì)應(yīng)的最大步長(zhǎng)(Maxstepsize)、最小步長(zhǎng)(Minstepsize)和初始步長(zhǎng)(Initialstepsize)使用默認(rèn)(auto)值,如圖(1)。(1)變步長(zhǎng)選項(xiàng)(2)定步長(zhǎng)選項(xiàng)

對(duì)于離散系統(tǒng),Simulink一般默認(rèn)選擇定步長(zhǎng)算法,如圖(2),其中默認(rèn)算法ode4即為最佳算法。如果用戶希望選擇其他的算法,或者使用需要的步長(zhǎng),則通過(guò)鼠標(biāo)在算法的下拉菜單中選擇,在Fixed-stepsize中填入數(shù)據(jù),點(diǎn)擊"OK"或者"Apply"即可完成解算參數(shù)的設(shè)置。7.4.2解算器選項(xiàng)選擇狀態(tài)變量:令則原方程演變?yōu)榉蔷€性狀態(tài)方程組:初始條件為:【例7-2】求解范德波(VandePol)微分方程在初始條件下在范圍內(nèi)的數(shù)值解,并繪制解的曲線和相軌跡。(參數(shù))。分析:信號(hào)為模型的輸出。第一個(gè)方程可以看做是將變量作為積分器的輸入信號(hào),則積分器的輸出信號(hào)為.第二個(gè)方程可以將看做是另外一個(gè)積分器的輸出信號(hào),該積分器的輸入信號(hào)為

.利用Simulink提供的模塊搭建一個(gè)名為exm2.mdl的模型,如圖所示。為了分析需要,用戶可以將仿真結(jié)果送到MATLAB基本工作空間(Workspace):在Sinks子模塊庫(kù)中選擇ToWorkspace子模塊。本例調(diào)用兩個(gè)這樣的模塊,并分別對(duì)模塊的參數(shù)進(jìn)行設(shè)置,將仿真產(chǎn)生的結(jié)果保存變量名為y1和y2,保存格式為數(shù)值數(shù)組。在Sinks模塊庫(kù)中選擇XYGraph模塊,該模塊有兩個(gè)輸入端口,并以第一個(gè)輸入端口為X軸坐標(biāo),第二個(gè)端口輸入為Y軸坐標(biāo)。在仿真配置選項(xiàng)里,將圖7.17中的Stoptime設(shè)置為15;解算器選項(xiàng)中選擇變步長(zhǎng)的ode23算法。啟動(dòng)仿真,仿真結(jié)束后在MATLAB工作空間產(chǎn)生了變量tout,y1,y2在MATLAB指令窗中輸入指令并執(zhí)行:>>plot(tout,y1,'r-.',tout,y2,'LineWidth',3)>>legend('x(t)','dx(t)/dt',2)>>gridon結(jié)果如圖所示。XYGraph模塊顯示方程的相軌跡,如圖所示【說(shuō)明】在Simulink模型中,運(yùn)用鼠標(biāo)就可以對(duì)模塊進(jìn)行選定、復(fù)制、移動(dòng)、刪除和縮放。在模塊上單擊鼠標(biāo),即可選定該模塊,此時(shí)模塊的四角處會(huì)出現(xiàn)小黑塊編輯框。選中模塊后,右擊鼠標(biāo)可以引出對(duì)該模塊的操作菜單,其中包括模塊對(duì)應(yīng)的字體以及模塊的翻轉(zhuǎn)等操作,如圖所示。在模塊編輯窗的任意位置雙擊鼠標(biāo),在光標(biāo)位置會(huì)出現(xiàn)矩形文本輸入框,可以添加文本注釋(label)。利用鼠標(biāo)可以將注釋框拖到模型窗的任何位置。對(duì)于數(shù)學(xué)函數(shù)(MathFunction)模塊,必須將函數(shù)設(shè)置為平方(square)計(jì)算,如圖所示。另外,兩個(gè)積分模塊里的初始值(Initialcondition)也要依據(jù)題目條件來(lái)設(shè)置置。將加法(Add)模塊設(shè)置成正確的"+—"或者"-+"的形式。將乘法(Product)模塊設(shè)置為三個(gè)輸入端口。【說(shuō)明】創(chuàng)建Simulink模型,如圖7.22所示圖7.22飽和非線性系統(tǒng)的Simulink模型【例7-3】某飽和非線性系統(tǒng)如圖7.21所示,求該系統(tǒng)的單位階躍響應(yīng)。x(t)+3-0.51y(t)圖7.1界面上User-DefinedFunctions模塊庫(kù)中選擇MATLABFcn模塊,并將該模塊的MATLABfunction欄目中輸入sat。傳遞函數(shù)(TransferFun)模塊位于圖7.1界面上的“Continuous”模塊庫(kù)內(nèi),將該模塊添加到模型窗中,雙擊該模塊,進(jìn)入傳遞函數(shù)(TransferFun)模塊的參數(shù)設(shè)置界面。輸入設(shè)計(jì)中的參數(shù)值,如圖。編寫函數(shù)名為sat的函數(shù)文件:functionyo=sat(yi)%SATFunctionforexm4.mdl%yi來(lái)自于增益模塊的輸入宗量%yo送給傳遞函數(shù)模塊的輸出宗量ifyi>=1yo=sqrt(yi);elseifyi<=-0.5yo=yi.^2;elseyo=yi;endend啟動(dòng)仿真,示波器顯示仿真結(jié)果如圖所示?!纠?-3】某飽和非線性系統(tǒng)如圖7.21所示,求該系統(tǒng)的單位階躍響應(yīng)。7.5子系統(tǒng)及其封裝

對(duì)于簡(jiǎn)單的動(dòng)態(tài)系統(tǒng),涉及的元件較少,功能簡(jiǎn)單,可以用Simulink系統(tǒng)建模仿真,但對(duì)于大型復(fù)雜系統(tǒng),由于涉及的模塊比較多,直接由基本模塊構(gòu)成的Simulink模型會(huì)非常龐大和復(fù)雜,模型中的信號(hào)流向也不容易辨認(rèn),給模型的檢測(cè)和調(diào)試都帶來(lái)了麻煩。因此,針對(duì)龐大的模型,用戶可以將各個(gè)獨(dú)立功能部分封裝成子系統(tǒng)(Subsystem)模塊,這樣整個(gè)系統(tǒng)的結(jié)構(gòu)和層次變得清晰明了,而且由于各獨(dú)立功能子模塊進(jìn)行了封裝,可移植性也大大加強(qiáng)。7.5.1子系統(tǒng)的創(chuàng)建正如計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言中的子函數(shù),Simulink模型中也存在子系統(tǒng)。創(chuàng)建子系統(tǒng)的方法有兩種:(1)在已經(jīng)建立好的模型中創(chuàng)建子系統(tǒng)如果要在已有的Simulink模型中創(chuàng)建子系統(tǒng),必須先打開(kāi)該模型,并選擇需要組合成子系統(tǒng)的所有模塊,單擊鼠標(biāo)右鍵產(chǎn)生模塊操作子菜單,選擇“CreatSubsystem”,則被選中的模塊就會(huì)被一個(gè)名為“Subsystem”的模塊取代。輸入輸出端口名分別默認(rèn)為“In1”和“Out1”。用戶可以根據(jù)自己的需要修改子系統(tǒng)名稱和輸入輸出端口名稱。【例7-4】(續(xù)例7-3)創(chuàng)建子系統(tǒng)示例。將上例Simulink模型“MATLABFcn”模塊替換為“CommonlyUsedBlocks”模塊庫(kù)中的“saturation”模塊。在“exm4.mdl”窗口中,用鼠標(biāo)拖出虛線框,框住需要加入子系統(tǒng)的模塊。然后右擊鼠標(biāo),在打開(kāi)的菜單選項(xiàng)里選擇“CreatSubsystem”,如圖(a)所示。(b)中的模塊名默認(rèn)為“Subsystem“.用戶可以修改模塊名稱。(a)鼠標(biāo)選擇模塊并導(dǎo)出指令(b)產(chǎn)生子系統(tǒng)后的模型窗用戶雙擊子系統(tǒng),可以進(jìn)入子系統(tǒng)內(nèi)部進(jìn)行查看或編輯,如圖7.26所示。子系統(tǒng)內(nèi)部的模塊"In1"和"Out1"為系統(tǒng)根據(jù)子系統(tǒng)和外部系統(tǒng)的信息流向自動(dòng)添加圖7.26子系統(tǒng)模型窗【例7-4】(續(xù)例7-3)創(chuàng)建子系統(tǒng)示例。(2)在仿真模型中使用Subsystem模塊建立空白子系統(tǒng)選擇Parts&Subsystems子模塊庫(kù)中的Subsystem模塊,雙擊該模塊,可以編輯子系統(tǒng)的模型。在空白的子系統(tǒng)中,只有一個(gè)輸入端口和一個(gè)輸出端口。用戶還可以在該模塊中添加輸入和輸出端口。以上創(chuàng)建子系統(tǒng)的兩種方法實(shí)際上是一個(gè)相反的過(guò)程:方法一是先建立好子系統(tǒng)模型,然后創(chuàng)建子系統(tǒng);方法二則是先創(chuàng)建一個(gè)空白子系統(tǒng),然后搭建子系統(tǒng)模型。7.5.2封裝子系統(tǒng)創(chuàng)建子系統(tǒng)后,原來(lái)紛亂復(fù)雜的模型窗得到了簡(jiǎn)化,信息的流向也變得簡(jiǎn)潔,但在設(shè)置子系統(tǒng)中各個(gè)模塊的參數(shù)時(shí)必須打開(kāi)子系統(tǒng),因而給子系統(tǒng)的應(yīng)用帶來(lái)了不便。為了解決這個(gè)問(wèn)題,Simulink為用戶提供了封裝技術(shù)。利用該技術(shù),用戶不需要進(jìn)入子系統(tǒng)內(nèi)部,只要利用子系統(tǒng)參數(shù)設(shè)置對(duì)話窗,就可以對(duì)系統(tǒng)內(nèi)部模塊的參數(shù)進(jìn)行設(shè)置,從而隱藏了子系統(tǒng)內(nèi)部的結(jié)構(gòu)。用戶可以象使用Simulink內(nèi)部模塊一樣來(lái)使用封裝后的子系統(tǒng)。(1)選中需要封裝的子系統(tǒng),單擊鼠標(biāo)右鍵,在彈出的菜單中選擇“MaskSubsystem”選項(xiàng),打開(kāi)如圖所示的封裝編輯器(MaskEditor)。封裝子系統(tǒng)的步驟(2)設(shè)置封裝編輯器中的各項(xiàng)選項(xiàng),單擊“OK”“Apply”即可。封裝編輯器完成創(chuàng)建自定義的子系統(tǒng)圖標(biāo)和參數(shù)選項(xiàng);完成初始化封裝后的子系統(tǒng)參數(shù)以及為子系統(tǒng)創(chuàng)建在線使用說(shuō)明。7.5.2封裝子系統(tǒng)2.封裝編輯器(MaskEditor)封裝編輯器對(duì)話窗有四個(gè)選項(xiàng),分別為圖標(biāo)(Icon&Ports)、參數(shù)(Paramaters)、初始化(Initialization)和文檔(Documentation)。下面將以對(duì)模型窗exm4的封裝為例,逐項(xiàng)介紹它們的功能以及用法。(1)圖標(biāo)(Icon&Ports)選項(xiàng)及其設(shè)置封裝編輯器對(duì)話窗中的圖標(biāo)(Icon)選項(xiàng)如圖所示,它主要設(shè)置子系統(tǒng)封裝的圖標(biāo),還包括創(chuàng)建描述文本、數(shù)學(xué)模型等。在“Drawingcommands”文本窗口中,用戶可以使用子系統(tǒng)圖標(biāo)命令來(lái)個(gè)性化子系統(tǒng)圖標(biāo)。指令名稱功能描述port_label()在封裝模塊的輸入\輸出端口旁繪制圖標(biāo)disp()在封裝模塊中央顯示文字和變量plot()在封裝模塊表面繪制折現(xiàn)image()在封裝模塊表面顯示圖片sprintf()在封裝模塊表面顯示可變的text文本dpoly()在封裝模塊表面顯示傳遞函數(shù)顯示,默認(rèn)為's'text()在封裝模塊表面指定位置處顯示text文本droots()在封裝模塊表面顯示零極點(diǎn)patch()在封裝模塊表面顯示數(shù)據(jù)點(diǎn)塊color()改變封裝模塊表面色彩fprintf()打印封裝模塊表面顯示的text文本在“Examplesofdrawingcommands”的下拉菜單中給出了Drawingcommands的用法以及語(yǔ)法舉例,其中Command選項(xiàng)列出了創(chuàng)建封裝子系統(tǒng)圖標(biāo)的各種繪制指令,Syntax選項(xiàng)則給出了對(duì)應(yīng)指令的語(yǔ)法示例,在對(duì)應(yīng)的右邊則出現(xiàn)該指令產(chǎn)生的圖標(biāo)。(2)參數(shù)(Parameters)選項(xiàng)及其設(shè)置參數(shù)(Parameters)選項(xiàng)用來(lái)封裝子系統(tǒng)模型中的變量名稱以及相應(yīng)的提示,如圖所示。在參數(shù)(Parameters)選項(xiàng)中,左邊的四個(gè)圖標(biāo):Add、Delete、Moveup、Movedown分別表示添加變量、刪除以及添加的變量、將選中的變量向上移動(dòng)一格和將選中的變量向下移動(dòng)一格。在子選項(xiàng)Dialogparameters中列出了五個(gè)選項(xiàng)卡提示(Prompt)用以輸入封裝子系統(tǒng)中設(shè)置變量的含義、變量(Variable)為輸入變量名;類型(Type)用于設(shè)置變量的類型?!癊dit“提供了兩個(gè)選項(xiàng)卡:復(fù)選框(Checkbox)和彈出式菜單(Popup)、解算(Evaluate)和可調(diào)節(jié)(Tunable)。已選擇參數(shù)選項(xiàng)(Optionsforselectedparameter)用于對(duì)選中的參數(shù)進(jìn)行設(shè)置,其中包括針對(duì)Popup選項(xiàng)的輸入下拉菜單變量值和針對(duì)Checkbox選項(xiàng)的輸入回調(diào)函數(shù)。(2)參數(shù)(Parameters)選項(xiàng)及其設(shè)置(3)初始化(Initialization)選項(xiàng)及其設(shè)置初始化(Initialization)選項(xiàng)如圖7.30所示。初始化指令(Initializatio

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論