matlab課程設(shè)計(jì)_第1頁
matlab課程設(shè)計(jì)_第2頁
matlab課程設(shè)計(jì)_第3頁
matlab課程設(shè)計(jì)_第4頁
matlab課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計(jì)課程設(shè)計(jì)課程名稱:MATLAB語言及系統(tǒng)仿真設(shè)計(jì)題目:MATLAB應(yīng)用及系統(tǒng)仿真 學(xué)院:電氣信息學(xué)院學(xué)系:電氣自動化研究所專業(yè): 電氣工程及其自動化 年級:學(xué)號:姓名:指導(dǎo)老師:2012年6月30日課程設(shè)計(jì)任務(wù)書一本課程設(shè)計(jì)的目的(1)熟練掌握MATLAB的基本知識和技能,解決簡單系統(tǒng)的仿真問題;(2)掌握基本MATLAB的繪圖與GUI的設(shè)計(jì)方法;(3)掌握線性微分方程的求解方法及控制系統(tǒng)的分析方法;(4)掌握Simulink的模型建立和仿真方法;(5)理解電氣系統(tǒng)仿真、虛擬現(xiàn)實(shí)仿真和機(jī)構(gòu)系統(tǒng)仿真的應(yīng)用;(6)培養(yǎng)分析、解決問題的能力,提高實(shí)驗(yàn)報(bào)告和科技論文寫作能力。二課程設(shè)計(jì)的時間第

2、14周至16周,在第18周的周末(6月30日)前提交到課程網(wǎng)站上。三課程設(shè)計(jì)的任務(wù)應(yīng)用MATLAB和工具箱完成以下的系統(tǒng)設(shè)計(jì)與仿真。1繪圖與GUI的設(shè)計(jì);(20分)2利用Simulink建立以下的模型并進(jìn)行仿真分析:(40分)1)線性微分2)時域分析3)頻域分析4)誤差分析3工具箱的應(yīng)用;1)電氣系統(tǒng)仿真分析(8分)2)利用Stateflow實(shí)現(xiàn)簡單的計(jì)數(shù)器(8分)3)利用VR完成飛機(jī)圍繞摩天大樓作環(huán)形飛行;(8分)4)球體的變形仿真;(8分)5)建立平面四連桿連桿仿真模型。(8分)四課程設(shè)計(jì)的要求1. 系統(tǒng)軟件界面設(shè)計(jì)美觀,控件擺放整齊,通過菜單能打開相應(yīng)模型,并能進(jìn)行分析;2. 程序調(diào)試通

3、過后,完成程序文檔的處理,源代碼添加必要的注釋和功能說明;3. 粘貼所建立的模型圖,開始運(yùn)行的視圖和結(jié)束時的視圖(可粘多個用以說明操作過程或參數(shù)設(shè)置,每個圖的下方要有文字說明圖的標(biāo)題);4. 寫出心得體會;5. 按照課程設(shè)計(jì)模板的規(guī)格書寫本課程設(shè)計(jì)報(bào)告;6. 提交文件格式:(XXXX-為學(xué)號后四位)將課程設(shè)計(jì)報(bào)告的電子文檔單獨(dú)提交,將系統(tǒng)開發(fā)的所有文件放到一個文件夾里打包后上傳到課程網(wǎng)站上; 課程設(shè)計(jì)報(bào)告:M 系統(tǒng)開發(fā)文件打包為MXXXX.rar。五、創(chuàng)新要求 在完成本課題的基礎(chǔ)上,如有能力和時間可以增加一些創(chuàng)新特色,完成更多功能和界面設(shè)計(jì)得更加完美。 評閱人: 成績: 年 月 日課程設(shè)計(jì)報(bào)告

4、MATLAB應(yīng)用及系統(tǒng)仿真一. 繪圖與GUI的設(shè)計(jì)1參照例題,完成如下的GUI界面設(shè)計(jì)2參照下表設(shè)計(jì)系統(tǒng)菜單MenuMenu item備注LableTagLableTag文件File打開Open保存Save打印Print關(guān)閉Close系統(tǒng)仿真Simulat線性微分Diff時域分析Times頻域分析Frequency 例14-10誤差分析err_ansy工具應(yīng)用Tools_APP電氣仿真計(jì)數(shù)器CounterStateflow飛行FlyVR變形TransfVR四連桿Fourbar關(guān)于About退出Exit“關(guān)于”菜單能夠打開一個新的窗口,顯示你的軟件信息,至少包含你的學(xué)號和姓名。“退出”菜單直接退

5、出系統(tǒng)?!瓣P(guān)閉”菜單,應(yīng)能彈出一對話框,確認(rèn)是否退出。二. 利用Simulink建立以下的模型并進(jìn)行仿真分析(一)建立線性微分方程的模型,并繪制仿真結(jié)果曲線.1建立模型:建立Simulink仿真模型:2系統(tǒng)仿真參數(shù)設(shè)置:在模型的initFcn回調(diào)函數(shù)中加入初始條件:t=1;在模型的StopFcn回調(diào)函數(shù)中加入作圖命令:plot(tout,yout);在系統(tǒng)菜單中添加響應(yīng)函數(shù):if(findobj('userdata',gcb) disp('僅可打開一個模型');else open_system('ex4_2');end3仿真結(jié)果分析:(圖及簡單說

6、明)仿真結(jié)果為:利用ode45() 求解題目中所給的微分方程,仿真時間設(shè)置為10s,仿真結(jié)果說明調(diào)用函數(shù)ode45() 是可行的。(二)時域分析1建立模型:建立起如下圖所示的非線性系統(tǒng)的Simulink框圖,并觀察在單位階躍信號輸入下系統(tǒng)的輸出曲線和誤差曲線。建立Simulink仿真模型:2系統(tǒng)仿真參數(shù)設(shè)置: 在模型的StopFcn回調(diào)函數(shù)中加入作圖命令:subplot(2,1,1);plot(tout,yout(:,1);title('out1');subplot(2,1,2)plot(tout,yout(:,2);title('out2');在系統(tǒng)菜單中添加

7、響應(yīng)函數(shù):if(findobj('userdata',gcb)disp('僅可打開一個模型');elseopen_system('shiyufenxi');end3仿真結(jié)果分析:(圖及簡單說明)仿真結(jié)果為:利用ode45()函數(shù)進(jìn)行仿真,仿真時間設(shè)置為10s。圖中out1曲線為輸出曲線,out2曲線為誤差曲線,從誤差曲線可知,2s內(nèi)誤差約為于0,仿真結(jié)果的精度較高;25s的時間內(nèi),誤差在±50以內(nèi),仿真結(jié)果的精度較好;510s的時間內(nèi),誤差曲線先上升再下降,在6s左右時誤差達(dá)到最大。(三)頻域分析1題目:單位負(fù)反饋系統(tǒng)的開環(huán)傳遞函數(shù)為,

8、試?yán)L制閉環(huán)系統(tǒng)的Bode圖、Nyquist圖和Nichols圖,并給出閉環(huán)頻率特性性能指標(biāo)諧振峰值、諧振頻率和系統(tǒng)帶寬。建立Simulink仿真模型:2系統(tǒng)仿真參數(shù)設(shè)置及程序代碼: 在模型的stopFcn回調(diào)函數(shù)中加入作圖命令:s=tf('s');Gk=1/s/(0.5*s+1)/(s+1);G=feedback(Gk,1); %閉環(huán)系統(tǒng)的傳遞函數(shù)w=logspace(-1,1); %從10-1101共50個頻率值mag,phase,w=bode(G,w); %返回閉環(huán)系統(tǒng)Bode圖參數(shù)Mp,k=max(mag); %諧振峰值resonantPeak=20*log10(Mp)

9、%諧振峰值單位轉(zhuǎn)換resonantFreq=w(k) %諧振頻率n=1;while 20*log10(mag(n)>=-3n=n+1;endsubplot(2,1,1)nyquist(G,w) subplot(2,1,2)nichols(G,w)figure(2);bandwidth=w(n) %系統(tǒng)帶寬bode(G,w),grid; %系統(tǒng)Bode圖在系統(tǒng)菜單中添加響應(yīng)函數(shù):if(findobj('userdata',gcb)disp('僅可打開一個模型');elseopen_system('pinyufenxi');end3仿真結(jié)果分析

10、:(圖及簡單說明)第1個圖形是系統(tǒng)的Bode圖;第2個圖的上面那塊是系統(tǒng)的Nyquist圖;下面那塊圖形是系統(tǒng)的Nichols圖。閉環(huán)頻率特性性能指標(biāo)諧振峰值、諧振頻率和系統(tǒng)帶寬,分別是:諧振峰值:resonantPeak = 諧振頻率:resonantFreq = 系統(tǒng)帶寬:bandwidth = (四)誤差分析1題目:對如下系統(tǒng)模型,假設(shè)已知誤差信號e(t),試增加求取ITAE,ISE,ISTE準(zhǔn)則的封裝模塊。要求:誤差信號e(t)為該模塊的輸入信號,雙擊該模塊彈出一個對話框,允許用戶用列表框的方式選擇輸出信號形式、待選定的ITAE,ISE,ISTE之一作為模塊的輸出端顯示出來。在系統(tǒng)回調(diào)

11、函數(shù)中,繪制所選定準(zhǔn)則的曲線圖。控制系統(tǒng)框圖系統(tǒng)模型圖建立Simulink仿真模型:2系統(tǒng)仿真參數(shù)設(shè)置及程序代碼: 在模型的stopFcn回調(diào)函數(shù)中加入作圖命令:subplot(2,1,1);plot(tout,yout(:,1);title('Output');subplot(2,1,2);plot(tout,yout(:,2);title('Error');在系統(tǒng)菜單中添加響應(yīng)函數(shù):if(findobj('userdata',gcb)disp('僅可打開一個模型');elseopen_system('work4'

12、;);end3仿真結(jié)果分析:(圖及簡單說明)系統(tǒng)輸出曲線和ITAE曲線如下圖所示:系統(tǒng)輸出曲線和ISE曲線如下圖所示:系統(tǒng)輸出曲線和ISTE曲線如下圖所示:三. 工具箱的應(yīng)用(一).實(shí)現(xiàn)一個電氣系統(tǒng)仿真模型(P317中3,4,5之一)操作過程描述第1步:打開simulink,新建一個model并保存為b763b.mdl;第2步:建立相應(yīng)的電路,并接入電壓源、三極管的工作電壓源和電壓表,還有各種信號源(如Chirp Signal 信號、RepeatingSequence 信號和Step 信號等);第3步:更改各元件的名稱并設(shè)置相應(yīng)的參數(shù),其中電阻設(shè)為,電容設(shè)為,正弦信號的Frequency(ra

13、d/sec)設(shè)置為10,三極管的工作電壓源(Positive Supply Rain)的Constant voltage設(shè)置為;第4步:在模型的stopFcn回調(diào)函數(shù)中加入作圖命令:plot(tout,yout);仿真模型建立Simulink仿真模型:仿真參數(shù)設(shè)置在系統(tǒng)菜單中添加響應(yīng)函數(shù):if(findobj('userdata',gcb)disp('僅可打開一個模型');elseopen_system('b763b');end系統(tǒng)仿真分析及結(jié)果圖:仿真結(jié)果如圖所示Chirp Signal 信號 RepeatingSequence 信號Ramp

14、信號 Sine Wave 信號Step 信號(二)用Stateflow實(shí)現(xiàn)一個簡單的計(jì)數(shù)器操作過程描述具體操作步驟為:第1步:打開simulink,新建一個model并保存為time.mdl;第2步:在新建的model中添加stateflow模塊中的chart、sourse模塊中的Pulse Generator和Sinks模塊中的Out1;第3步:雙擊chart,進(jìn)入stateflow的編輯器,點(diǎn)擊tool菜單下的explore,在左邊支開的time中選中chart,添加一個事件和兩個數(shù)據(jù),并進(jìn)行相關(guān)的設(shè)置第4步:在stateflow編輯器中畫出狀態(tài)圖并進(jìn)行相關(guān)的設(shè)置第5步:在time.mdl

15、窗口下將simulation parameters的stop time改成200,并在模型的InitFcn回調(diào)函數(shù)中加入初始條件:maxtime=10;同時在stopFcn回調(diào)函數(shù)中加入作圖命令:plot(tout,yout)仿真模型建立Simulink仿真模型:chart內(nèi)部設(shè)計(jì)仿真參數(shù)設(shè)置 Simulink模型的參數(shù)設(shè)置:在系統(tǒng)菜單中添加響應(yīng)函數(shù):if(findobj('userdata',gcb)disp('僅可打開一個模型');elseopen_system('time');end系統(tǒng)仿真分析及結(jié)果圖:仿真結(jié)果如圖所示:(三)利用VR完成

16、飛機(jī)圍繞摩天大樓作環(huán)形飛行。實(shí)現(xiàn)例5-29飛機(jī)圍繞摩天大樓作環(huán)形飛行模擬顯示。簡單描述操作過程:具體操作步驟為:第1步:在VR-Builder 2中新建一個虛擬世界,單擊“背景”按鈕給虛擬世界添加背景,并在groundColor中,進(jìn)行顏色設(shè)置。第2步:選擇Library|Import from|Objects Library,從Archetecture(Building)組中選擇Skyscraper對象,將它拖到虛擬現(xiàn)實(shí)對象編輯窗口,改寫其名稱為Skyscraper,并修改相關(guān)屬性第3步:選擇Library|Import from|Objects Library,從Transportatio

17、n(Air)組中選擇Boeing737對象,將它拖到虛擬現(xiàn)實(shí)對象編輯窗口,改寫其名稱為Plane,并修改相關(guān)屬性。保存文件,命名為“myvrml5.wrl”。第4步:打開simulink,新建一個model并保存為myvrml5.mdl;按照下面Simulink模型建立相應(yīng)的模型,并把VR Sink模塊復(fù)制到model中。第5步:雙擊VR Sink,在Source file中選擇myvrml5.wrl,然后在右側(cè)樹形瀏覽框中,打開Plane節(jié)點(diǎn),選擇center和scale選項(xiàng),用來在Simulink模型中接收信號。第6步:把Plane.center和Plane.rotation兩個輸入端子接

18、入到已建立的Simulink模型中,保存后運(yùn)行。建立Simulink仿真模型:在系統(tǒng)菜單中添加響應(yīng)函數(shù):if(findobj('userdata',gcb)disp('僅可打開一個模型');elseopen_system('myvrml5');end系統(tǒng)仿真結(jié)果圖:雙擊打開VR Sink界面,并點(diǎn)擊開始運(yùn)行,飛機(jī)就圍繞摩天大樓順時針且向上飛行,如下圖所示。飛行過程中飛行結(jié)束時(四)球體的變形仿真定義兩個塊體表示剛性平面(B1,B2),在兩個平面之間定義一個球體(S),三個物體是是沿X軸對齊的,兩個塊體以同樣的速度向球體S移動,當(dāng)兩個塊體接觸到球體

19、時,球體開始變形,沿X軸收縮,Y軸和Z軸膨脹。物體中心位置物體尺寸B13 0 00.3 1 1B2-3 0 00.3 1 1S0 0 0 操作過程描述:具體操作步驟為:第1步:在VR-Builder 2中新建一個虛擬世界,單擊“背景”按鈕給虛擬世界添加背景,并在groundColor中,進(jìn)行顏色設(shè)置。第2步:在New World中新增一個BOX塊體B2,并修改相關(guān)屬性:在Translation中,修改塊體的中心位置為-3 0 0;在Sphere-Box中,修改塊體的大小為0.3 1 1;在Shape-Material-diffuseColor中,修改塊體的顏色。第3步:在New World中新

20、增一個BOX塊體B1,并修改相關(guān)屬性:在Translation中,修改塊體的中心位置為3 0 0;在Sphere-Box中,修改塊體的大小為0.3 1 1;在Shape-Material-diffuseColor中,修改塊體的顏色。第4步:修改球體S的相關(guān)屬性:在Sphere-Radius中,修改球體的半徑為0.9;在Shape-Material-diffuseColor中,修改球體的顏色,同時保存文件,命名為“myvrml.wrl”。第5步:在MATLAB工作空間中輸入“vrtut3”,在打開的Simulink模型中加入Simulink 3D Animation模塊中的VR Sink,并保存

21、為“myvrml.mdl”。第6步:雙擊VR Sink,在Source file中選擇myvrml.wrl,然后在右側(cè)樹形瀏覽框中,分別打開B2、B1和S節(jié)點(diǎn),分別選擇translation,translation和Scale選項(xiàng),用來在Simulink模型中接收信號。第7步:將連接到Scope模塊的信號線,相應(yīng)連接到VR Sink上,保存后運(yùn)行。Simulink模型:VR Sink內(nèi)部界面設(shè)計(jì):在系統(tǒng)菜單中添加響應(yīng)函數(shù):if(findobj('userdata',gcb)disp('僅可打開一個模型');elseopen_system('myvrml&

22、#39;);end系統(tǒng)仿真分析及結(jié)果圖:雙擊打開VR Sink界面,點(diǎn)擊開始運(yùn)行,兩個塊體開始同時按相同的速度向中間的球體運(yùn)動,在未接觸前球體保持靜止?fàn)顟B(tài)。在兩個塊體接觸到球體時,球體開始被擠壓變形,直到最后球體被完全壓扁,如下圖所示。兩個塊體向球體運(yùn)動時:球被壓扁時(五).建立平面四連桿仿真模型實(shí)現(xiàn)例7-17平面四連桿機(jī)構(gòu)的運(yùn)動仿真。簡單描述操作過程:仿真框圖繪制:仿真框圖繪制過程見課本310311頁“仿真框圖繪制”;模塊參數(shù)設(shè)置模塊參數(shù)設(shè)置見課本311312頁“模塊參數(shù)設(shè)置”;仿真參數(shù)設(shè)置仿真參數(shù)設(shè)置見課本314頁“仿真參數(shù)設(shè)置”在系統(tǒng)菜單中添加響應(yīng)函數(shù):if(findobj('u

23、serdata',gcb)disp('僅可打開一個模型');elseopen_system('c7mmech4');endSimulink模型: 系統(tǒng)仿真分析系統(tǒng)仿真分析見課本314315頁。系統(tǒng)仿真運(yùn)行圖:四. 課程設(shè)計(jì)心得與體會(500字以上)心得與體會:以下是自己在課程設(shè)計(jì)的完成過程中遇到的一些問題以及得到的一些心得:控件重疊的問題:當(dāng)控件位置有重疊時,直接放置方式與程序描繪方式不兼容。直接放置方式是指在GUI設(shè)計(jì)窗口中放置axes控件,程序描繪方式是指在程序中利用plot、subplot函數(shù)作圖。在同一個fig文件中,如果axes位置有重疊,那么放置的axes控件句柄會消失,變成無效句柄,即出現(xiàn)Invalid handle的錯誤。所以,其位置不應(yīng)發(fā)生重疊。參數(shù)傳遞的問題:保存:存在handle的ApplicationData中利用setappdata函數(shù)將數(shù)據(jù)保存在對象的“ApplicationData”屬性中,利用getappdata函數(shù)從對象的“ApplicationData”屬性中提取數(shù)據(jù),如果沒有定義,就為空。例如,假設(shè)figure的tag屬性是figure1,則s

溫馨提示

  • 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

提交評論