計算機(jī)仿真實(shí)驗(yàn)報告實(shí)驗(yàn)_第1頁
計算機(jī)仿真實(shí)驗(yàn)報告實(shí)驗(yàn)_第2頁
計算機(jī)仿真實(shí)驗(yàn)報告實(shí)驗(yàn)_第3頁
計算機(jī)仿真實(shí)驗(yàn)報告實(shí)驗(yàn)_第4頁
計算機(jī)仿真實(shí)驗(yàn)報告實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 計 算 機(jī) 仿 真上 機(jī) 實(shí) 驗(yàn) 報 告姓名: 學(xué)號: 2012104021 專業(yè): 測控 班級: 12級 實(shí)驗(yàn)一常微分方程的求解及系統(tǒng)數(shù)學(xué)模型的轉(zhuǎn)換一實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)熟悉計算機(jī)仿真中常用到的Matlab指令的使用方法,掌握常微分方程求解指令和模型表示及轉(zhuǎn)換指令,為進(jìn)一步從事有關(guān)仿真設(shè)計和研究工作打下基礎(chǔ)。二. 實(shí)驗(yàn)設(shè)備個人計算機(jī),Matlab軟件。三. 實(shí)驗(yàn)準(zhǔn)備 預(yù)習(xí)本實(shí)驗(yàn)有關(guān)內(nèi)容(如教材第2、3、5章中的相應(yīng)指令說明和例題),編寫本次仿真練習(xí)題的相應(yīng)程序。四. 實(shí)驗(yàn)內(nèi)容1. Matlab中常微分方程求解指令的使用題目一:請用MATLAB的ODE45算法分別求解下列二個方程。要求:1.編寫

2、出Matlab仿真程序;2.畫出方程解的圖形并對圖形進(jìn)行簡要分析;3.分析下列二個方程的關(guān)系。1 21.function fun=funl(t,x) fun=-x2; t,x=ode45('fun1',0,20,1); figure(1);plot(t,x); grid2.function fun=fun2(t,x) fun=x2; t,x=ode45('fun2',0,20,-1); figure(2);plot(t,x); grid題目二:下面方程組用在人口動力學(xué)中,可以表達(dá)為單一化的捕食者-被捕食者模式(例如,狐貍和兔子)。其中表示被捕食者, 表示捕食者。

3、如果被捕食者有無限的食物,并且不會出現(xiàn)捕食者。于是有,則這個式子是以指數(shù)形式增長的。大量的被捕食者將會使捕食者的數(shù)量增長;同樣,越來越少的捕食者會使被捕食者的數(shù)量增長。而且,人口數(shù)量也會增長。請分別調(diào)用ODE45、ODE23算法求解下面方程組。要求編寫出Matlab仿真程序、畫出方程組解的圖形并對圖形進(jìn)行分析和比較。1.ODE45function fun=fun3(t,x)fun=x(1)-0.1*x(1)*x(2)+0.01*t;-x(2)+0.02*x(1)*x(2)+0.04*t;t,x=ode45('fun3',0,20,30,20);plot(t,x);Grid2.O

4、DE23function fun=fun3(t,x)fun=x(1)-0.1*x(1)*x(2)+0.01*t;-x(2)+0.02*x(1)*x(2)+0.04*t;t,x=ode23('fun3',0,20,30,20);plot(t,x);Grid2. Matlab中模型表示及模型轉(zhuǎn)換指令的使用題目三:若給定系統(tǒng)的的傳遞函數(shù)為請用MATLAB編程求解其系統(tǒng)的極零點(diǎn)模型。num=6 12 6 10;den=1 2 3 1 1;sys=tf(num,den);H=zpk(sys)題目四:習(xí)題2.4系統(tǒng)傳遞函數(shù)為求其對角標(biāo)準(zhǔn)型實(shí)現(xiàn)。num=1 4 5;den=1 6 11 6;

5、sys=tf(num,den);canon(sys,'modal')題目五:習(xí)題5.8已知某離散系統(tǒng),采樣周期Ts=0.02s,現(xiàn)需要在T=0.1s下作數(shù)字仿真,求該系統(tǒng)的數(shù)字仿真模型。D=zpk(0,0.1 0.2,1,0.1)D2=d2d(D,0.02)五總結(jié)與體會初步掌握了Matlab常用指令的使用方法,為下一步學(xué)習(xí)打下了基礎(chǔ)。實(shí)驗(yàn)二 Matlab優(yōu)化工具箱的使用一實(shí)驗(yàn)?zāi)康耐ㄟ^上機(jī)操作熟悉Matlab優(yōu)化工具箱的主要功能及其使用方法,掌握優(yōu)化工具箱中常用函數(shù)的功能和語法,并利用其進(jìn)行極值運(yùn)算、求解線性和非線性問題等,為進(jìn)一步的仿真設(shè)計和研究打下基礎(chǔ)。二. 實(shí)驗(yàn)設(shè)備個人計算

6、機(jī),Matlab軟件。三. 實(shí)驗(yàn)準(zhǔn)備 預(yù)習(xí)本實(shí)驗(yàn)有關(guān)內(nèi)容(如教材第6章中的相應(yīng)指令說明和例題),編寫本次仿真練習(xí)題的相應(yīng)程序。四. 實(shí)驗(yàn)內(nèi)容1. 應(yīng)用Matlab優(yōu)化工具箱求解優(yōu)化問題例題6.66.10,選做2題,要求自行修改方程系數(shù),并比較運(yùn)行結(jié)果。例6.6 例如求解非線性方程:初始值為x0 = -5 -5。原程序function F=myfun(x)F=2*x(1)-x(2)-exp(-x(1);-x(1)+2*x(2)-exp(-x(2);x0=-5,-5;options=optimset('Display','iter');x,fval=fsolve(m

7、yfun,x0,options)改變后function F=myfun(x)F=3*x(1)-x(2)-exp(-x(1);-x(1)+3*x(2)-exp(-x(2);x0=-5,-5;options=optimset('Display','iter');x,fval=fsolve(myfun,x0,options)例6.8利用Matlab命令求解下面的無約束非線性規(guī)劃問題。原程序function f=fun(x)f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);x0=-1,1;options=;x,optio

8、ns=fminu('fun',x0,options)改變后function f=fun(x)f=exp(x(1)*(5*x(1)2+3*x(2)2+2*x(1)*x(2)+4*x(2)+1);x0=-1,1;options=;x,options=fminu('fun',x0,options)2. 應(yīng)用Matlab優(yōu)化工具箱求解極值問題已知函數(shù)f(x)=10*exp(-x)*cos(x) ,求函數(shù)的極值。(1) x2,5時,求函數(shù)的最小值,并畫出函數(shù)的曲線。X=fmin('10*exp(-x*cos(x)',2,5)X=2.3562f='1

9、0*exp(-x)*cos(x)'fplot(f,2,5)Y=-0.6702(2) x3,9時,求函數(shù)的最大值,并畫出函數(shù)的曲線。X=fmin('-10*exp(-x*cos(x)',3,9)X=5.4978f='10*exp(-x)*cos(x)'fplot(f,3,9)Y=0.02905 總結(jié)與體會熟悉了Matlab優(yōu)化工具的主要功能和使用方法,常用函數(shù)的功能,并利用進(jìn)行極值運(yùn)算,求解線性非線性問題。實(shí)驗(yàn)三 利用Matlab和Simulink進(jìn)行系統(tǒng)仿真設(shè)計一實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)對一個汽車運(yùn)動控制系統(tǒng)進(jìn)行實(shí)際設(shè)計與仿真,掌握控制系統(tǒng)性能的分析和仿真處理過

10、程,熟悉用Matlab和Simulink進(jìn)行系統(tǒng)仿真的基本方法。二. 實(shí)驗(yàn)設(shè)備個人計算機(jī),Matlab軟件。三. 實(shí)驗(yàn)準(zhǔn)備預(yù)習(xí)本實(shí)驗(yàn)相關(guān)說明,復(fù)習(xí)PID控制器的原理和作用,明確汽車運(yùn)動控制系統(tǒng)問題的描述及其模型表示,編寫本次仿真練習(xí)的相應(yīng)程序。四. 實(shí)驗(yàn)說明本實(shí)驗(yàn)是對一個汽車運(yùn)動控制系統(tǒng)進(jìn)行實(shí)際設(shè)計與仿真,其方法是先對汽車運(yùn)動控制系統(tǒng)進(jìn)行建摸,然后對其進(jìn)行PID控制器的設(shè)計,建立了汽車運(yùn)動控制系統(tǒng)的模型后,可采用Matlab和Simulink對控制系統(tǒng)進(jìn)行仿真設(shè)計。注意:設(shè)計系統(tǒng)的控制器之前要觀察該系統(tǒng)的開環(huán)階躍響應(yīng),采用階躍響應(yīng)函數(shù)step( )來實(shí)現(xiàn),如果系統(tǒng)不能滿足所要求達(dá)到的設(shè)計性能指

11、標(biāo),需要加上合適的控制器。然后再按照仿真結(jié)果進(jìn)行PID控制器參數(shù)的調(diào)整,使控制器能夠滿足系統(tǒng)設(shè)計所要求達(dá)到的性能指標(biāo)。五. 實(shí)驗(yàn)內(nèi)容1. 問題的描述如下圖所示的汽車運(yùn)動控制系統(tǒng),設(shè)該系統(tǒng)中汽車車輪的轉(zhuǎn)動慣量可以忽略不計,并且假定汽車受到的摩擦阻力大小與汽車的運(yùn)動速度成正比,摩擦阻力的方向與汽車運(yùn)動的方向相反,這樣,該汽車運(yùn)動控制系統(tǒng)可簡化為一個簡單的質(zhì)量阻尼系統(tǒng)。根據(jù)牛頓運(yùn)動定律,質(zhì)量阻尼系統(tǒng)的動態(tài)數(shù)學(xué)模型可表示為:系統(tǒng)的參數(shù)設(shè)定為:汽車質(zhì)量m=1000kg,比例系數(shù)b=50 N·s/m,汽車的驅(qū)動力u=500 N。根據(jù)控制系統(tǒng)的設(shè)計要求,當(dāng)汽車的驅(qū)動力為500N時,汽車將在5秒內(nèi)達(dá)

12、到10m/s的最大速度。由于該系統(tǒng)為簡單的運(yùn)動控制系統(tǒng),因此將系統(tǒng)設(shè)計成10的最大超調(diào)量和2的穩(wěn)態(tài)誤差。這樣,該汽車運(yùn)動控制系統(tǒng)的性能指標(biāo)可以設(shè)定為:上升時間:tr<5s;最大超調(diào)量:<10;穩(wěn)態(tài)誤差:essp<2。2.系統(tǒng)的模型表示假定系統(tǒng)的初始條件為零,則該系統(tǒng)的Laplace變換式為: 即 則該系統(tǒng)的傳遞函數(shù)為:如果用Matlab語言表示該系統(tǒng)的傳遞函數(shù)模型,相應(yīng)的程序代碼如下:num=1;den=1000,50;sys=tf(num,den)同時,系統(tǒng)的數(shù)學(xué)模型也可寫成如下的狀態(tài)方程形式:如果用Matlab語言表示該系統(tǒng)狀態(tài)空間模型,相應(yīng)的程序代碼如下:A=-50/1

13、000;B=1/1000;C=1;D=0;sys=ss(A,B,C,D)3. 系統(tǒng)的仿真設(shè)計 利用Matlab進(jìn)行仿真設(shè)計I求系統(tǒng)的開環(huán)階躍響應(yīng)在Matlab命令窗口輸入相應(yīng)的程序代碼,得出該系統(tǒng)的模型后,接著輸入下面的指令:step(500*sys)可得到該系統(tǒng)的開環(huán)階躍響應(yīng)曲線,如下圖所示: 從圖上可看出該系統(tǒng)不能滿足系統(tǒng)設(shè)計所要求達(dá)到的性能指標(biāo),需要加上合適的控制器。IIPID控制器的設(shè)計PID控制器的傳遞函數(shù)為:在PID控制中,比例(P)、積分(I)、微分(D)這三種控制所起的作用是不同的(請注意在實(shí)驗(yàn)總結(jié)中進(jìn)行歸納)。下面分別討論其設(shè)計過程。(1)比例(P)控制器的設(shè)計增加比例控制器

14、之后閉環(huán)系統(tǒng)的傳遞函數(shù)為:由于比例控制器可以改變系統(tǒng)的上升時間,現(xiàn)在假定Kp100,觀察一下系統(tǒng)的階躍響應(yīng)。在MATLAB命令窗口輸入指令:num=100;den=1000,150;sys=tf(num,den);step(500*sys)可得系統(tǒng)階躍響應(yīng)如下:由此仿真結(jié)果,分析系統(tǒng)的穩(wěn)態(tài)值是否滿足設(shè)計要求,系統(tǒng)的穩(wěn)態(tài)誤差和上升時間能不能滿足設(shè)計要求?答:不能滿足。若減小汽車的驅(qū)動力為10N,重新進(jìn)行仿真,仿真結(jié)果為:num=100;den=1000,150;sys=tf(num,den);step(10*sys)如果所設(shè)計的比例控制器仍不能滿足系統(tǒng)的穩(wěn)態(tài)誤差和上升時間的設(shè)計要求,則可以通過提

15、高控制器的比例增益系數(shù)來改善系統(tǒng)的輸出。例如把比例增益系數(shù)Kp從100提高到10000重新計算該系統(tǒng)的階躍響應(yīng),結(jié)果為:num=1000;den=1000,10050;sys=tf(num,den);step(10*sys)此時系統(tǒng)的穩(wěn)態(tài)誤差接近為零,系統(tǒng)上升時間也降到了0.5s以下。這樣做雖然滿足了系統(tǒng)性能要求,但實(shí)際上該控制過程在現(xiàn)實(shí)中難以實(shí)現(xiàn)。因此,引入比例積分(PI)控制器來對系統(tǒng)進(jìn)行調(diào)節(jié)。(2)比例積分(PI)控制器的設(shè)計采用比例積分控制的系統(tǒng)閉環(huán)傳遞函數(shù)可表示為:增加積分環(huán)節(jié)的目的是減小系統(tǒng)的穩(wěn)態(tài)誤差,假設(shè)比例系數(shù)Kp=600,積分系數(shù)KI=1,編寫相應(yīng)的MATLAB程序代碼如下:

16、num=600,1;den=1000,650,1;sys=tf(num,den);step(500*sys)運(yùn)行上述程序后可得系統(tǒng)階躍響應(yīng)曲線為:可以調(diào)節(jié)控制器的比例和積分系數(shù)來滿足系統(tǒng)的性能要求。例如選擇比例系數(shù)KP800,積分系數(shù)KI =40時,可得系統(tǒng)階躍響應(yīng)曲線為:num=800,40;den=1000,850,40;sys=tf(num,den);step(500*sys) 可見,此時的控制系統(tǒng)已經(jīng)能夠滿足系統(tǒng)要求達(dá)到的性能指標(biāo)設(shè)計要求。但此控制器無微分項,而對于有些實(shí)際控制系統(tǒng)往往需要設(shè)計完整的PID控制器,以便同時滿足系統(tǒng)的動態(tài)和穩(wěn)態(tài)性能要求。(3)比例積分微分(PID)控制器的

17、設(shè)計采用PID控制的系統(tǒng)閉環(huán)傳遞函數(shù)為:假設(shè)該控制器的比例系數(shù)KP=1,積分系數(shù)KI =1,微分系數(shù)KD=1,編寫MATLAB程序代碼如下:num=1,1,1;den=1001,51,1;sys=tf(num,den);step(500*sys)運(yùn)行上述程序,并且調(diào)整PID控制器的控制參數(shù),直到控制器滿足系統(tǒng)設(shè)計的性能指標(biāo)要求為止。最后,選擇KP= 80 ,KI = 50 ,KD= 1 ,此時系統(tǒng)的階躍響應(yīng)曲線如下:num=1,800,50;den=1001,850,50;sys=tf(num,den);step(500*sys)從圖中可以看出該系統(tǒng)能夠滿足設(shè)計的總體性能要求。 利用Simulink進(jìn)行仿真設(shè)計I求系統(tǒng)的開環(huán)階躍響應(yīng)利用Simulink建立系統(tǒng)階躍響應(yīng)模型,如下圖所示。雙擊Step模塊,設(shè)置模塊屬性:跳變時間為0;初始值為0;終止值為10;采樣時間為0。單擊按鈕開始仿真,雙擊Scope模塊,可得系統(tǒng)階躍響應(yīng)曲線。分析此時系統(tǒng)的性能指標(biāo)是否

溫馨提示

  • 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

提交評論