控制系統(tǒng)仿真第2章-3-課件_第1頁
控制系統(tǒng)仿真第2章-3-課件_第2頁
控制系統(tǒng)仿真第2章-3-課件_第3頁
控制系統(tǒng)仿真第2章-3-課件_第4頁
控制系統(tǒng)仿真第2章-3-課件_第5頁
已閱讀5頁,還剩99頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章MATLAB基礎(chǔ)及其使用初步

2.1MATLAB簡介

2.2MATLAB編程

2.3Simulink交互式仿真環(huán)境

第2章MATLAB基礎(chǔ)及其使用初步2.1MATLAB簡2.2.4

MATLAB繪圖[WT]

1.基本的繪圖命令

1)線性刻度繪圖命令plot

x軸和y軸均為線性刻度;繪圖命令格式為

plot(x)%最簡單的調(diào)用格式

plot(x,y)%常用的調(diào)用格式

plot(x1,y1,x2,y2)%含多個輸入?yún)?shù)的調(diào)用格式

plot(x,y,option)或plot(x1,y1,option1,x2,y2,option2,…);

%含選項的調(diào)用格式

其中選項參數(shù)option定義了圖形曲線的顏色、線型及表示符號,它由一對單引號括起來。

2.2.4MATLAB繪圖[WT]

1.基本的繪圖命令表2.1線型、顏色及表示符號對照表

表2.1線型、顏色及表示符號對照表線型與顏色可以任意組合,從而生成不同顏色和不同形狀的曲線。舉例:

plot(t,x,′c+:′);就畫出了用“+”標(biāo)記的亮青色“點(diǎn)”線,而plot(t,x,′c:′)則只畫出了亮青色的“點(diǎn)”線;plot(t,x,′bd′)則畫出了藍(lán)色的“金剛石”線。

線型與顏色可以任意組合,從而生成不同顏色和不同形狀的曲線

exp2_34:在0≤X≤2區(qū)間內(nèi),繪制曲線y=2e-0.5xsin(2πx)。

程序如下:

x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)exp2_34:在0≤X≤2區(qū)間內(nèi),繪制曲線y=2e-0exp2_35某工廠2000年各月總產(chǎn)值(單位:萬元)分別為22、60、88、95、56、23、9、10、14、81、56、23,試?yán)L制折線圖以顯示出該廠總產(chǎn)值的變化情況。程序如下:

p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)exp2_35某工廠2000年各月總產(chǎn)值(單位:萬元)分別為控制系統(tǒng)仿真第2章-3-課件圖2-4衰減振蕩曲線與包絡(luò)

圖2-4衰減振蕩曲線與包絡(luò)ex2-1在同一坐標(biāo)內(nèi)繪制曲線y=2e-0.5xsin(2πx)及其包絡(luò)線。%ex2_1x=(0:pi/100:2*pi);y1=2*exp(-0.5*x);%包絡(luò)線y2=2*exp(-0.5*x).*sin(2*pi*x);%函數(shù)plot(x,y1,'g:',x,-y1,'g:',x,y2,'b');gridonex2-1在同一坐標(biāo)內(nèi)繪制曲線【書例2.2】用圖形表示離散函數(shù)。

%ex2_2

clearall;

n=0:12; %產(chǎn)生一組自變量數(shù)據(jù)

y=1./abs(n-6); %計算相應(yīng)點(diǎn)的函數(shù)值

plot(n,y,'r*','MarkerSize',20)%用紅花標(biāo)出數(shù)據(jù)點(diǎn)

gridon %畫坐標(biāo)方格【書例2.2】用圖形表示離散函數(shù)。

%ex2_2

clea圖2-5離散函數(shù)的可視化

圖2-5離散函數(shù)的可視化

2)非線性刻度

Loglog(x,y,option):x軸和y軸均為對數(shù)刻度;

Semilogx(x,y,option):x軸為對數(shù)刻度;y軸為線性刻度;

Semilogy(x,y,option):y軸為對數(shù)刻度;x軸為線性刻度;

其他的定義與plot命令完全相同。

2)非線性刻度

Loglog(x,y,option

3)選擇圖形窗口、圖形窗口分割

figure(n):設(shè)定不同的圖形窗口,其中n為正整數(shù),為圖形窗口編號;

holdon

holdoff;

subplot(mnk):在同一窗口顯示多個圖形,其中m為上下分割個數(shù),n為左右分割個數(shù),k為子圖編號。

3)選擇圖形窗口、圖形窗口分割

figure(n)

exp1-23建立一個圖形窗口。該圖形窗口沒有菜單條,標(biāo)題名稱為“圖形窗口示例”,起始于屏幕左下角、寬度和高度分別為300像素點(diǎn)和150像素點(diǎn),背景顏色為綠色,且當(dāng)用戶從鍵盤按下任意一個鍵時,將顯示“Hello,KeyboardKeyPressed.”字樣。命令如下:hf=figure('Color',[0,1,0],'Position',[1,1,300,150],...‘Name’,'圖形窗口示例,'NumberTitle','off','MenuBar','none',...'KeyPressFcn','disp(''Hello,KeyboardKeyPressed.'')');exp1-23建立一個圖形窗口。該圖形窗口沒有菜單條,標(biāo)題

exp1-23a建立一個圖形窗口figureNo3,有坐標(biāo)軸。%exp1-23afigure(3);holdon;subplot(234);%兩行三列第四個圖形exp1-23a建立一個圖形窗口figureNo3,有坐

4)設(shè)定軸的范圍

axis[xminxmaxyminymax])。

5)文字顯示

xlabel(′字符串′),ylabel(′字符串′):表明坐標(biāo)的名稱等;

title(′字符串′):圖的標(biāo)題(圖名);

text(x,y,′字符串′):在圖上(x,y)處加注文字;

legend(′字符串1′,′字符串2′,…,′字符串n′):在屏幕上開啟一個小視窗,然后依據(jù)繪圖命令的先后次序,用對應(yīng)的字符串區(qū)分圖形上的線;

gtext(′字符串′):文本交互輸入命令。

4)設(shè)定軸的范圍

axis[xminxmax

6)網(wǎng)格顯示

gridon:顯示網(wǎng)格;

gridoff:去掉網(wǎng)格。

6)網(wǎng)格顯示

gridon:顯示網(wǎng)格;

exp2_12F=figure('pos',[50,100,200,150],'color','w');A=axes('pos',[0.5,0.5,0.4,0.4]);t=0:1:6;plot(t,sin(t))xlabel('我是X軸');ylabel('我是Y軸');title('我是標(biāo)題')exp2_12綜合例題綜合例題圖

2-6連續(xù)函數(shù)的圖形表現(xiàn)方法

圖2-6連續(xù)函數(shù)的圖形表現(xiàn)方法

2.其他繪圖命令

bar(x,y):繪制長條圖;

hist(x,y):繪制直方圖;

stairs(x,y):繪制階梯圖;

stem(x,y):繪制火柴棍圖(離散信號常用命令);pie(x):繪制餅圖;

ezplot:符號方法所用繪圖命令。

2.其他繪圖命令

bar(x,y):繪制長條圖課本其他例題課本其他例題控制系統(tǒng)仿真第2章-3-課件控制系統(tǒng)仿真第2章-3-課件圖2-7二階階躍響應(yīng)圖

圖2-7二階階躍響應(yīng)圖

【例2.5】利用hold繪制離散信號通過零階保持器后產(chǎn)生的波形。

t=2*pi*(0:20)/20;y=cos(t).*exp(-0.4*t);

stem(t,y,′g′);holdon;stairs(t,y,′r′);holdoff。

運(yùn)行后得到如圖2-8所示曲線。

【例2.5】利用hold繪制離散信號通過零階保持器后產(chǎn)圖2-8離散信號的重構(gòu)

圖2-8離散信號的重構(gòu)控制系統(tǒng)仿真第2章-3-課件圖2-9函數(shù)和積分

圖2-9函數(shù)和積分

【例2.7】受熱壓力容器的期望溫度是120°,期望壓力是0.25Mpa。在同一張圖上畫出它們的階躍響應(yīng)曲線。

S1=tf([11],[1321]);%溫度的傳遞函數(shù)對象模型

S2=tf(1,[111]); %壓力的傳遞函數(shù)對象模型

[Y1,T1]=step(S1); %計算階躍響應(yīng)

[Y2,T2]=step(S2); %計算階躍響應(yīng)

plotyy(T1,120*Y1,T2,0.25*Y2,′stairs′,′plot′)

運(yùn)行后得到如圖2-10所示曲線。

【例2.7】受熱壓力容器的期望溫度是120°,期望壓力是圖2-10雙縱坐標(biāo)圖演示

圖2-10雙縱坐標(biāo)圖演示【例2.8】compass和feather指令的區(qū)別。

t=-pi/2:pi/12:pi/2;

%在[-90°,90°]區(qū)間,每15°取一點(diǎn)

r=ones(size(t)); %單位半徑

[x,y]=pol2cart(t,r); %極坐標(biāo)轉(zhuǎn)化為直角坐標(biāo)

subplot(1,2,1),compass(x,y),title(′Compass′);

subplot(1,2,2),feather(x,y),title(′Feather′)。

運(yùn)行后得到如圖2-11所示曲線。

【例2.8】compass和feather指令的區(qū)別。

2-11compass和feather指令的區(qū)別

圖2-11compass和feather指令的區(qū)別

【例2.9】本例表現(xiàn)一個離散方波的快速Fourier變換的幅頻。本例左圖用極坐標(biāo)指令polar繪出,右圖用三維離散桿圖指令stem3

繪出。

MATLAB的polar指令是建筑在plot基礎(chǔ)上的。指令執(zhí)行后,出現(xiàn)的極坐標(biāo)軸及分度標(biāo)識也是由plot以一種“固定”模式產(chǎn)生的。因此,極坐標(biāo)軸的控制很不靈活,它只能以比較簡單的方式表達(dá)函數(shù)。如對于本例左圖,那圖形小、線條細(xì)、文字太密的缺陷,就較難克服。相比而言,先借助極坐標(biāo)和直角坐標(biāo)轉(zhuǎn)換,然后再通過直角坐標(biāo)圖形指令加以表現(xiàn),往往更顯靈活、方便。如本例的右圖。

【例2.9】本例表現(xiàn)一個離散方波的快速Fourier變th=(0:127)/128*2*pi; %角度采樣點(diǎn)

rho=ones(size(th)); %單位半徑

x=cos(th);y=sin(th);

f=abs(fft(ones(10,1),128)); %對離散方波進(jìn)行FFT變換,并取幅值。

rho=ones(size(th))+f'; %取單位圓為繪制幅頻譜的基準(zhǔn)。

subplot(1,2,1),polar(th,rho,'r')

subplot(1,2,2),stem3(x,y,f','d','fill') %取菱形離散桿頭,并填色。

view([-6530]) %控制角度,為表現(xiàn)效果。

th=(0:127)/128*2*pi; %角度采樣圖

2-12離散方波的幅頻譜

圖2-12離散方波的幅頻譜SIMULINK在工程實(shí)際中,控制系統(tǒng)的結(jié)構(gòu)往往很復(fù)雜,如果不借助專用的系統(tǒng)建模軟件,則很難準(zhǔn)確地把一個控制系統(tǒng)的復(fù)雜模型輸入計算機(jī),對其進(jìn)行進(jìn)一步的分析與仿真。1990年,MathWorks軟件公司為MATLAB提供了新的控制系統(tǒng)模型圖輸入與仿真工具SIMULINK

,該工具很快就在控制工程界獲得了廣泛的認(rèn)可,使得仿真軟件進(jìn)入了模型化圖形組態(tài)階段。SIMULINK的出現(xiàn),給控制系統(tǒng)分析與設(shè)計帶來了福音。顧名思義,該軟件的名稱表明了該系統(tǒng)的兩個主要功能:Simu(仿真)和Link(連接),即該軟件可以利用鼠標(biāo)在模型窗口上繪制出所需要的控制系統(tǒng)模型,然后利用SIMULINK提供的功能來對系統(tǒng)進(jìn)行仿真和分析。SIMULINK在工程實(shí)際中,控制系統(tǒng)的結(jié)構(gòu)往往很復(fù)雜,如果

2.3

Simulink交互式仿真環(huán)境

2.3.1

Simulink簡介

Simulink是一個進(jìn)行動態(tài)系統(tǒng)建模、仿真和綜合分析的集成軟件包。它可以處理的系統(tǒng)包括:線性、非線性系統(tǒng);離散、連續(xù)及混合系統(tǒng);單任務(wù)、多任務(wù)離散事件系統(tǒng)。

在Simulink提供的圖形用戶界面GUI上,只要進(jìn)行鼠標(biāo)的簡單拖拉操作就可構(gòu)造出復(fù)雜的仿真模型。它外表以方塊圖形式呈現(xiàn),且采用分層結(jié)構(gòu)。從建模角度講,這既適用于自上而下(Topdown)的設(shè)計流程(概念、功能、系統(tǒng)、子系統(tǒng)直至器件),又適用于自下而上(Bottomup)的逆程設(shè)計。從分析研究角度講,這種Simulink模型不僅能讓用戶知道具體環(huán)節(jié)的動態(tài)細(xì)節(jié),而且能讓用戶清晰地了解各器件、各子系統(tǒng)、各系統(tǒng)間的信息交換,掌握各部分之間的交互影響。

2.3Simulink交互式仿真環(huán)境

2.3.1S在Simulink環(huán)境中,用戶將擺脫理論演繹時需做理想化假設(shè)的無奈,觀察到現(xiàn)實(shí)世界中摩擦、風(fēng)阻、齒隙、飽和、死區(qū)等非線性因素和各種隨機(jī)因素對系統(tǒng)行為的影響。在Simulink環(huán)境中,用戶可以在仿真進(jìn)程中改變感興趣的參數(shù),實(shí)時地觀察系統(tǒng)行為的變化。由于Simulink環(huán)境使用戶擺脫了深奧數(shù)學(xué)推演的壓力和繁瑣編程的困擾,因此用戶在此環(huán)境中會產(chǎn)生濃厚的探索興趣,引發(fā)活躍的思維,感悟出新的真諦。

在MATLAB5.3版中,可直接在Simulink環(huán)境中運(yùn)作的工具包很多,已覆蓋通信、控制、信號處理、DSP、電力系統(tǒng)等諸多領(lǐng)域,所涉及內(nèi)容專業(yè)性極強(qiáng)。

在Simulink環(huán)境中,用戶將擺脫理論演繹時需做理想化2.3.2

Simulink仿真基礎(chǔ)

1.什么是Simulink

Simulink是MATLAB軟件的擴(kuò)展,它是實(shí)現(xiàn)動態(tài)系統(tǒng)建模和仿真的一個軟件包,它與MATLAB語言的主要區(qū)別在于,其與用戶交互接口是基于Windows的模型化圖形輸入,其結(jié)果是使得用戶可以把更多的精力投入到系統(tǒng)模型的構(gòu)建,而非語言的編程上。

所謂模型化圖形輸入是指Simulink提供了一些按功能分類的基本的系統(tǒng)模塊,用戶只需要知道這些模塊的輸入、輸出及模塊的功能,而不必考察模塊內(nèi)部是如何實(shí)現(xiàn)的,通過對這些基本模塊的調(diào)用,再將它們連接起來就可以構(gòu)成所需要的系統(tǒng)模型(以.mdl文件進(jìn)行存?。M(jìn)而進(jìn)行仿真與分析。

2.3.2Simulink仿真基礎(chǔ)

1.什么是Sim

2.Simulink的啟動

(1)在MATLAB命令窗口中輸入Simulink。

結(jié)果是在桌面上出現(xiàn)一個稱為SimulinkLibraryBrowser的窗口,在這個窗口中列出了按功能分類的各種模塊的名稱。

(2)在MATLAB主窗口用快捷按鈕打開SimulinkLibraryBrowser窗口。

2.Simulink的啟動

(1)在MATLAB命令

3.Simulink的模塊庫介紹

Simulink模塊庫按功能進(jìn)行分類,包括以下8類子庫

Linear(線性模塊);

Discrete(離散模塊);

Connections(連接模塊);

Demos(演示模塊);

Nonlinear(非線性模塊);

Blocksets&Toolboxes(塊設(shè)置與工具箱模塊);

Sinks(接收器模塊);

Sources(輸入源模塊)。

每個模塊內(nèi)又有多個子模塊,可以實(shí)現(xiàn)不同的功能。

注:Matlab6.5中,有13個模塊。3.Simulink的模塊庫介紹

Simulink模圖2-13

Simulink模塊庫

圖2-13Simulink模塊庫1、連續(xù)模塊(Continuous)Derivative:輸入信號微分Integrator:輸入信號積分State-Space:線性狀態(tài)空間系統(tǒng)模型Transfer-Fcn:線性傳遞函數(shù)模型Zero-Pole:以零極點(diǎn)表示的傳遞函數(shù)模型1、連續(xù)模塊(Continuous)2MathOperations(數(shù)學(xué)運(yùn)算模塊)Sum:加減運(yùn)算Product:乘運(yùn)算DotProduct:點(diǎn)乘運(yùn)算Gain:比例運(yùn)算MathFunction:包括指數(shù)函數(shù)、對數(shù)函數(shù)、求平方、開根號等常用數(shù)學(xué)函數(shù)TrigonometricFunction:三角函數(shù),包括正弦、余弦、正切等MinMax:最值運(yùn)算Abs:取絕對值2MathOperations(數(shù)學(xué)運(yùn)算模塊)3、Signal(信號和系統(tǒng)模塊)In1:輸入端。Out1:輸出端。Mux:將多個單一輸入轉(zhuǎn)化為一個復(fù)合輸出。Demux:將一個復(fù)合輸入轉(zhuǎn)化為多個單一輸出。Ground:連接到?jīng)]有連接到的輸入端。3、Signal(信號和系統(tǒng)模塊)4、Sinks(接收器模塊)Scope:示波器。XYGraph:顯示二維圖形。ToWorkspace:將輸出寫入MATLAB的工作空間。ToFile(.mat):將輸出寫入數(shù)據(jù)文件。4、Sinks(接收器模塊)5、Sources(輸入源模塊)Constant:常數(shù)信號。Clock:時鐘信號。FromWorkspace:來自MATLAB的工作空間。SignalGenerator:信號發(fā)生器,可以產(chǎn)生正弦、方波、鋸齒波及隨意波。SineWave:正弦波信號。Step:階躍波信號。Ramp:單位斜坡信號5、Sources(輸入源模塊)

4.Simulink簡單模型的建立及模型特點(diǎn)

(1)簡單模型的建立。

(2)建立模型窗口。

(3)將功能模塊由模塊庫窗口復(fù)制到模型窗口。

(4)對模塊進(jìn)行連接,從而構(gòu)成需要的系統(tǒng)模型。

exp2_1.mdl

4.Simulink簡單模型的建立及模型特點(diǎn)

(15.SIMULINK功能模塊的處理模塊庫中的模塊可以直接用鼠標(biāo)進(jìn)行拖曳(選中模塊,按住鼠標(biāo)左鍵不放)而放到模型窗口中進(jìn)行處理。在模型窗口中,選中模塊,則其4個角會出現(xiàn)黑色標(biāo)記。此時可以對模塊進(jìn)行以下的基本操作。移動:選中模塊,按住鼠標(biāo)左鍵將其拖曳到所需的位置即可。若要脫離線而移動,可按住shift鍵,再進(jìn)行拖曳。復(fù)制:選中模塊,然后按住鼠標(biāo)右鍵進(jìn)行拖曳即可復(fù)制同樣的一個功能模塊。刪除:選中模塊,按Delete鍵即可。若要刪除多個模塊,可以同時按住Shift鍵,再用鼠標(biāo)選中多個模塊,按Delete鍵即可。也可以用鼠標(biāo)選取某區(qū)域,再按Delete鍵就可以把該區(qū)域中的所有模塊和線等全部刪除。功能模塊的基本操作,包括模塊的移動、復(fù)制、刪除、轉(zhuǎn)向、改變大小、模塊命名、顏色設(shè)定、參數(shù)設(shè)定、屬性設(shè)定、模塊輸入輸出信號等。5.SIMULINK功能模塊的處理模塊庫中的模塊可以直接轉(zhuǎn)向:為了能夠順序連接功能模塊的輸入和輸出端,功能模塊有時需要轉(zhuǎn)向。在菜單Format中選擇FlipBlock旋轉(zhuǎn)180度,選擇RotateBlock順時針旋轉(zhuǎn)90度?;蛘咧苯影碈trl+F鍵執(zhí)行FlipBlock,按Ctrl+R鍵執(zhí)行RotateBlock。改變大小:選中模塊,對模塊出現(xiàn)的4個黑色標(biāo)記進(jìn)行拖曳即可。模塊命名:先用鼠標(biāo)在需要更改的名稱上單擊一下,然后直接更改即可。名稱在功能模塊上的位置也可以變換180度,可以用Format菜單中的FlipName來實(shí)現(xiàn),也可以直接通過鼠標(biāo)進(jìn)行拖曳。HideName可以隱藏模塊名稱。顏色設(shè)定:Format菜單中的ForegroundColor可以改變模塊的前景顏色,BackgroundColor可以改變模塊的背景顏色;而模型窗口的顏色可以通過ScreenColor來改變。轉(zhuǎn)向:為了能夠順序連接功能模塊的輸入和輸出端,功能模塊有時需參數(shù)設(shè)定:用鼠標(biāo)雙擊模塊,就可以進(jìn)入模塊的參數(shù)設(shè)定窗口,從而對模塊進(jìn)行參數(shù)設(shè)定。參數(shù)設(shè)定窗口包含了該模塊的基本功能幫助,為獲得更詳盡的幫助,可以點(diǎn)擊其上的help按鈕。通過對模塊的參數(shù)設(shè)定,就可以獲得需要的功能模塊。屬性設(shè)定:選中模塊,打開Edit菜單的BlockProperties可以對模塊進(jìn)行屬性設(shè)定。包括Description屬性、Priority優(yōu)先級屬性、Tag屬性、Openfunction屬性、Attributesformatstring屬性。其中Openfunction屬性是一個很有用的屬性,通過它指定一個函數(shù)名,則當(dāng)該模塊被雙擊之后,Simulink就會調(diào)用該函數(shù)執(zhí)行,這種函數(shù)在MATLAB中稱為回調(diào)函數(shù)。模塊的輸入輸出信號:模塊處理的信號包括標(biāo)量信號和向量信號;標(biāo)量信號是一種單一信號,而向量信號為一種復(fù)合信號,是多個信號的集合,它對應(yīng)著系統(tǒng)中幾條連線的合成。缺省情況下,大多數(shù)模塊的輸出都為標(biāo)量信號,對于輸入信號,模塊都具有一種“智能”的識別功能,能自動進(jìn)行匹配。某些模塊通過對參數(shù)的設(shè)定,可以使模塊輸出向量信號。例exp2_2.mdlexp2_3.mdl參數(shù)設(shè)定:用鼠標(biāo)雙擊模塊,就可以進(jìn)入模塊的參數(shù)設(shè)定窗口,從而

6.Simulink線的處理exp2_4.mdl

Simulink模型的構(gòu)建是通過用線將各種功能模塊進(jìn)行連接而構(gòu)成的。用鼠標(biāo)可以在功能模塊的輸入與輸出端之間直接連線。所畫的線可以改變粗細(xì)、設(shè)定標(biāo)簽,也可以把線折彎、分支。

(1)改變粗細(xì):線所以有粗細(xì)是因為線引出的信號可以是標(biāo)量信號或向量信號,當(dāng)選中Format菜單下的WideVectorLines時,線的粗細(xì)會根據(jù)線所引出的信號是標(biāo)量還是向量而改變,如果信號為標(biāo)量則為細(xì)線,若為向量則為粗線。選中VectorLineWidths則可以顯示出向量引出線的寬度,即向量信號由多少個單一信號合成。

6.Simulink線的處理exp2_4.mdl

S

(2)設(shè)定標(biāo)簽:只要在線上雙擊鼠標(biāo),即可輸入該線的說明標(biāo)簽。也可以通過選中線,然后打開Edit菜單下的SignalProperties進(jìn)行設(shè)定,其中SignalName屬性的作用是標(biāo)明信號的名稱,設(shè)置這個名稱反映在模型上的直接效果就是與該信號有關(guān)的端口相連的所有直線附近都會出現(xiàn)寫有信號名稱的標(biāo)簽。

(3)線的折彎:按住Shift鍵,再用鼠標(biāo)在要折彎的線處單擊一下,就會出現(xiàn)圓圈,表示折點(diǎn),利用折點(diǎn)就可以改變線的形狀。

(2)設(shè)定標(biāo)簽:只要在線上雙擊鼠標(biāo),即可輸入該線的說明標(biāo)

(4)線的分支:按住鼠標(biāo)右鍵,在需要分支的地方拉出即可?;蛘甙醋trl鍵,并在要建立分支的地方用鼠標(biāo)拉出即可。

(4)線的分支:按住鼠標(biāo)右鍵,在需要分支的地方拉出即可。

7.Simulink自定義功能模塊

自定義功能模塊有兩種方法,一種方法是采用Signal&Systems模塊庫中的Subsystem功能模塊,利用其編輯區(qū)設(shè)計組合新的功能模塊;另一種方法是將現(xiàn)有的多個功能模塊組合起來,形成新的功能模塊。對于很大的Simulink模型,通過自定義功能模塊可以簡化圖形,減少功能模塊的個數(shù),有利于模型的分層構(gòu)建。

1)方法1

exp2_5.mdl

(1)將Signal&Systems模塊庫中的Subsystem功能模塊復(fù)制到打開的模型窗口中。

(2)雙擊Subsystem功能模塊,進(jìn)入自定義功能模塊窗口,從而可以利用已有的基本功能模塊設(shè)計出新的功能模塊。

7.Simulink自定義功能模塊

自定義功能模塊有

2)方法2

exp2_6.mdl

(1)在模型窗口中建立所定義功能模塊的子模塊。

(2)用鼠標(biāo)將這些需要組合的功能模塊框住,然后選擇Edit菜單下的CreateSubsystem即可。

2)方法2exp2_6.mdl

(1)在模型窗

8.自定義功能模塊的封裝

上面提到的兩種方法都只是創(chuàng)建一個功能模塊而已,如果要命名該自定義功能模塊、對功能模塊進(jìn)行說明、選定模塊外觀、設(shè)定輸入數(shù)據(jù)窗口,則需要對其進(jìn)行封裝處理。首先選中Subsystem功能模塊,再打開Edit菜單中的MaskSubsystem進(jìn)入Mask的編輯窗口,可以看出有3個標(biāo)簽頁:8.自定義功能模塊的封裝

上面提到的兩種方法都只是創(chuàng)

1)Icon標(biāo)簽頁

此頁最重要的部分是DrawingCommands,在該區(qū)域內(nèi)可以用disp指令設(shè)定功能模塊的文字名稱,用plot指令畫線,用dpoly指令畫轉(zhuǎn)換函數(shù)。

注意,盡管這些命令在名字上和以前講的MATLAB函數(shù)相同,但它們在功能上卻不完全相同,因此不能隨便套用以前所講的格式。

(1)disp(′text′)可以在功能模塊上顯示設(shè)定的文字內(nèi)容。disp(′text1\ntext2′)分行顯示文字text1和text2。

1)Icon標(biāo)簽頁

此頁最重要的部分是Drawin

(2)plot([x1x2…xn],[y1y2…yn])指令會在功能模塊上畫出由[x1y1]經(jīng)[x2y2]經(jīng)[x3y3]…直到[xn,yn]為止的直線。功能模塊的左下角會根據(jù)目前的坐標(biāo)刻度被正規(guī)化為[0,0],右上角則會依據(jù)目前的坐標(biāo)刻度被正規(guī)化為[1,1]。

(3)dpoly(num,den):按s次數(shù)的降冪排序,在功能模塊上顯示連續(xù)的傳遞函數(shù)。

(4)dpoly(num,den,′z′):按z次數(shù)的降冪排序,在功能模塊上顯示離散的傳遞函數(shù)。

(2)plot([x1x2…xn],[y1y2…yn])

(5)Iconframe:Visible顯示外框線;Invisible隱藏外框線。

(6)IconTransparency:Opaque隱藏輸入輸出的標(biāo)簽;Transparent顯示輸入輸出的標(biāo)簽。

(7)IconRotation:旋轉(zhuǎn)模塊。

(8)DrawingCoordinate:畫圖時的坐標(biāo)系。

(5)Iconframe:Visible顯示外框線;In

2)Initialization標(biāo)簽頁

此頁主要用來設(shè)計輸入提示(prompt)以及對應(yīng)的變量名稱(variable)。在prompt欄上輸入變量的含義,其內(nèi)容會顯示在輸入提示中。而variable是仿真要用到的變量,該變量的值一直存于maskworkspace中,因此可以與其他程序相互傳遞。

如果配合在initializationcommands內(nèi)編輯程序,可以發(fā)揮功能模塊的功能來執(zhí)行特定的操作。

2)Initialization標(biāo)簽頁

此頁主要用

(1)在prompt編輯框中輸入文字,這些文字就會出現(xiàn)在Prompt列表中;在variable列表中輸入變量名稱,則prompt中的文字對應(yīng)該變量的說明。如果要增加新的項目,可以點(diǎn)擊邊上的Add鍵。Up和Down按鈕用于執(zhí)行項目間的位置調(diào)整。

(2)Controltype列表給用戶提供選擇設(shè)計的編輯區(qū),選擇Edit會出現(xiàn)供輸入的空白區(qū)域,所輸入的值代表對應(yīng)的variable;Popup則為用戶提供可選擇的列表框,所選的值代表variable,此時在下面會出現(xiàn)Popupstrings輸入框,用來設(shè)計選擇的內(nèi)容,各值之間用邏輯或符號“|”隔開;如選擇Checkbox則用于on與off的選擇設(shè)定。

(1)在prompt編輯框中輸入文字,這些文字就會出現(xiàn)在

3)Documentation標(biāo)簽頁

此頁主要用來針對完成的功能模塊來編寫相應(yīng)的說明文字和help。

(1)在Blockdescription中輸入的文字,會出現(xiàn)在參數(shù)窗口的說明部分。

(2)在Blockhelp中輸入的文字則會顯示在單擊參數(shù)窗口中的help按鈕后瀏覽器所加載的HTML文件中。

(3)Masktype:在此處輸入的文字作為封裝模塊的標(biāo)注性說明,在模型窗口下,將鼠標(biāo)指向模塊,則會顯示該文字。當(dāng)然必須先在View菜單中選擇BlockDataTips——ShowBlockDataTips。

3)Documentation標(biāo)簽頁

此頁主要用來

9.Simulink的運(yùn)行

構(gòu)建好一個系統(tǒng)的模型之后,接下來的事情就是運(yùn)行模型,得出仿真結(jié)果。運(yùn)行一個仿真的完整過程分成三個步驟:設(shè)置仿真參數(shù),啟動仿真和仿真結(jié)果分析。設(shè)置仿真參數(shù)和選擇解法器,選擇Simulation菜單下的Parameters命令,就會彈出一個仿真參數(shù)對話框,它主要用三個頁面來管理仿真的參數(shù)。

1)Solver頁

此頁可以進(jìn)行的設(shè)置有:選擇仿真開始和結(jié)束的時間;選擇解法器,并設(shè)定它的參數(shù);選擇輸出項。

9.Simulink的運(yùn)行

構(gòu)建好一個系統(tǒng)的模型之后

(1)仿真時間:注意這里的時間概念與真實(shí)的時間并不一樣,只是計算機(jī)仿真中對時間的一種表示,比如10秒的仿真時間,如果采樣步長定為0.1,則需要執(zhí)行100步,若把步長減小,則采樣點(diǎn)數(shù)增加,那么實(shí)際的執(zhí)行時間就會增加。一般仿真開始時間設(shè)為0,而結(jié)束時間視不同的因素而選擇??偟膩碚f,執(zhí)行一次仿真要耗費(fèi)的時間依賴于很多因素,包括模型的復(fù)雜程度、解法器及其步長的選擇、計算機(jī)時鐘的速度等等。

(1)仿真時間:注意這里的時間概念與真實(shí)的時間并不一樣,

(2)仿真步長模式:用戶在Type后面的第一個下拉選項框中指定仿真的步長選取方式,可供選擇的有Variablestep(變步長)和Fixedstep(固定步長)方式。變步長模式可以在仿真的過程中改變步長,提供誤差控制和過零檢測。固定步長模式在仿真過程中提供固定的步長,不提供誤差控制和過零檢測。用戶還可以在第二個下拉選項框中選擇對應(yīng)模式下仿真所采用的算法。

變步長模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。固定步長模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。

(2)仿真步長模式:用戶在Type后面的第一個下拉選項框

(3)步長參數(shù):對于變步長模式,用戶可以設(shè)置最大的和推薦的初始步長參數(shù),缺省情況下,步長自動確定,它由值auto表示。

(4)仿真精度的定義(對于變步長模式):

Relativetolerance(相對誤差):它是指誤差相對于狀態(tài)的值,是一個百分比,缺省值為1e-3,表示狀態(tài)的計算值要精確到0.1%。

Absolutetolerance(絕對誤差):表示誤差值的門限,或者是說在狀態(tài)值為零的情況下,可以接受的誤差。如果它被設(shè)成了auto,那么Simulink為每一個狀態(tài)的設(shè)置的初始絕對誤差為1e-6。

(3)步長參數(shù):對于變步長模式,用戶可以設(shè)置最大的和推薦

(5)Mode(固定步長模式選擇)。

(6)輸出選項:

Refineoutput:這個選項可以理解成精細(xì)輸出,其意義是在仿真輸出太稀松時,Simulink會產(chǎn)生額外的精細(xì)輸出,這一點(diǎn)就像插值處理一樣。用戶可以在refinefactor設(shè)置仿真時間步間插入輸出點(diǎn)數(shù)。產(chǎn)生更光滑的輸出曲線,改變精細(xì)因子比減小仿真步長更有效。精細(xì)輸出只能在變步長模式中才能使用,并且在ode45效果最好。

(5)Mode(固定步長模式選擇)。

(6)輸出選

Produceadditionaloutput:它允許用戶直接指定產(chǎn)生輸出的時間點(diǎn)。一旦選擇了該項,則在它的右邊出現(xiàn)一個outputtimes編輯框,在這里用戶指定額外的仿真輸出點(diǎn),它既可以是一個時間向量,也可以是表達(dá)式。與精細(xì)因子相比,這個選項會改變仿真的步長。

Producespecifiedoutputonly:它的意思是讓Simulink只在指定的時間點(diǎn)上產(chǎn)生輸出。為此解法器要調(diào)整仿真步長以使之和指定的時間點(diǎn)重合。這個選項在比較不同的仿真時可以確保它們在相同的時間輸出。

Produceadditionaloutput:它允許用

2)WorkspaceI/O頁

此頁主要用來設(shè)置Simulink與MATLAB工作空間交換數(shù)值的有關(guān)選項。

(1)Loadfromworkspace:選中前面的復(fù)選框即可從MATLAB工作空間獲取時間和輸入變量,一般時間變量定義為t,輸入變量定義為u。Initialstate用來定義從MATLAB工作空間獲得的狀態(tài)初始值的變量名。

2)WorkspaceI/O頁

此頁主要用來設(shè)置S

(2)Savetoworkspace:用來設(shè)置存往MATLAB工作空間的變量類型和變量名,選中變量類型前的復(fù)選框使相應(yīng)的變量有效。一般存往工作空間的變量包括輸出時間向量(Time)、狀態(tài)向量(States)和輸出變量(Output)。Finalstate用來定義將系統(tǒng)穩(wěn)態(tài)值存往工作空間所使用的變量名。

(2)Savetoworkspace:用來設(shè)置存往MAT

(3)Saveoption:用來設(shè)置存往工作空間的有關(guān)選項。Limitrowstolast用來設(shè)定Simulink仿真結(jié)果最終可存往MATLAB工作空間的變量的規(guī)模(對于向量而言就是其維數(shù),對于矩陣而言就是其秩);Decimation設(shè)定了一個亞采樣因子,它的缺省值為1,也就是對每一個仿真時間點(diǎn)產(chǎn)生值都保存,而若為2,則是每隔一個仿真時刻才保存一個值。Format用來說明返回數(shù)據(jù)的格式,包括矩陣(Matrix)、結(jié)構(gòu)(Struct)及帶時間的結(jié)構(gòu)(Structwithtime)。

(3)Saveoption:用來設(shè)置存往工作空間的有關(guān)選

3)Diagnostics頁

此頁分成兩個部分:仿真選項和配置選項。配置選項下的列表框主要列舉了一些常見的事件類型,以及當(dāng)Simulink檢查到這些事件時給予的處理。仿真選項options主要包括是否進(jìn)行一致性檢驗、是否禁用過零檢測、是否禁止復(fù)用緩存、是否進(jìn)行不同版本的Simulink的檢驗等幾項。

3)Diagnostics頁

此頁分成兩個部分:仿除了上述3個主要的頁外,仿真參數(shù)設(shè)置窗口還包括realtimeworkshop頁,主要用于與C語言編輯器的交換,通過它可以直接從

Simulink模型生成代碼并且自動建立可以在不同環(huán)境下運(yùn)行的程序,這些環(huán)境包括實(shí)時系統(tǒng)和單機(jī)仿真。

除了上述3個主要的頁外,仿真參數(shù)設(shè)置窗口還包括realt2.3.3

Simulink仿真舉例

1、利用SIMULINK進(jìn)行時域系統(tǒng)分析(shiyufx.mdl)

【例2.10】演示“示波”模塊的向量顯示能力(如圖2-14所示)。

圖2-14示波器顯示向量波形2.3.3Simulink仿真舉例

1、利用SIMULIN

【例2.11】演示“求和”模塊的向量處理能力:輸入擴(kuò)展(如圖2-15所示)。

圖2-15輸入的標(biāo)量擴(kuò)展

【例2.11】演示“求和”模塊的向量處理能力:輸入擴(kuò)展

【例2.12】演示“增益”模塊的向量處理能力:參數(shù)擴(kuò)展(如圖2-16所示)。

圖2-16模塊參數(shù)的標(biāo)量擴(kuò)展【例2.12】演示“增益”模塊的向量處理能力:參數(shù)擴(kuò)展

【例2.13】(1)編寫一個產(chǎn)生信號矩陣的M函數(shù)文件。

functionTU=source925-1(T0,N0,K)

t=linspace(0,K*T0,K*N0+1);

N=length(t);

u1=t(1:(N0+1)).^2;

u2=(t((N0+2):(2*N0+1))-2*T0).^2;

u3(1:(N-(2*N0+2)+1))=0;

u=[u1,u2,u3];

TU=[t′,u′];

【例2.13】(1)編寫一個產(chǎn)生信號矩陣的M函數(shù)文件。(2)構(gòu)造簡單的接收信號用的實(shí)驗?zāi)P?如圖2-17所示)。

圖2-17接收信號用的實(shí)驗?zāi)P?/p>

(2)構(gòu)造簡單的接收信號用的實(shí)驗?zāi)P?如圖2-17所示)。

【例2.14】假設(shè)從實(shí)際自然界(力學(xué)、電學(xué)、生態(tài)等)或社會中,抽象出有初始狀態(tài)為0的二階微分方程

x″+0.2x′+0.4x=0.2u(t),u(t)是單位階躍函數(shù)。本例演示如何用積分器直接構(gòu)建求解該微分方程的模型。

(1)改寫微分方程。

(2)利用Simulink庫中的標(biāo)準(zhǔn)模塊構(gòu)建模型(如圖2-18所示)。【例2.14】假設(shè)從實(shí)際自然界(力學(xué)、電學(xué)、生態(tài)等)或圖2-18求解微分方程的Simulink模型

圖2-18求解微分方程的Simulink模型

【例2.15】直接利用傳遞函數(shù)模塊求解方程。構(gòu)造如圖2.18所示的模型(如圖2-19所示),觀察系統(tǒng)的輸出。

圖2-19由傳遞函數(shù)模塊構(gòu)成的仿真模型【例2.15】直接利用傳遞函數(shù)模塊求解方程。構(gòu)造如圖2

練習(xí)題

1.已知A=1:9,試分別確定B=~(A>5),C=(A>3)&(A<7)的值。

2.輸入一個字符,若為大寫字母,則輸出其后繼字符,若為小寫字母,則輸出其前導(dǎo)字符,若為其他字符則原樣輸出。試?yán)肕ATLAB語言編寫相關(guān)程序。

練習(xí)題

1.已知A=1:9,試分別確定B

3.編程實(shí)現(xiàn)如下關(guān)系:y=a*x

3.編程實(shí)現(xiàn)如下關(guān)系:y=a*x

4.在一個圖形窗口中同時繪制正弦、余弦、正切、余切曲線,試編寫相應(yīng)的程序。

5.已知矩陣A=[123;456;789;987],試分別用triu(A)、triu(A,1)和triu(A,-1)從矩陣A提取相應(yīng)的上

溫馨提示

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

評論

0/150

提交評論