版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場返租商鋪合同范例
- 林業(yè)個人工作總結(jié)范文
- 成人教育報名合同范例
- 雙方交貨合同模板
- 公司住房轉(zhuǎn)租合同范例
- 品質(zhì)家電采購合同范例
- 專柜保潔合同范例范例
- 店長合同范例
- 工程地板購銷合同范例
- 二年級學(xué)科新課介紹模板
- 60立方油罐容積細(xì)表
- 鋁土礦采礦項目可行性研究報告寫作范文
- WI-QA-02-034A0 燈具成品檢驗標(biāo)準(zhǔn)
- 農(nóng)業(yè)信息技術(shù) chapter5 地理信息系統(tǒng)
- 部編版六年級上語文閱讀技巧及解答
- 斯派克max操作手冊
- 項目四 三人表決器ppt課件
- 結(jié)合子的機(jī)械加工工藝規(guī)程及銑槽的夾具設(shè)計
- 林武樟 完整陽宅講義 筆記版[方案]
- 《會滾的汽車》ppt課件
- 注冊物業(yè)管理師考試歷年真題及答案
評論
0/150
提交評論