matlab練習(xí)題和答案.doc_第1頁
matlab練習(xí)題和答案.doc_第2頁
matlab練習(xí)題和答案.doc_第3頁
matlab練習(xí)題和答案.doc_第4頁
matlab練習(xí)題和答案.doc_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

matlab練習(xí)題和答案控制系統(tǒng)仿真實驗 Matlab部分實驗結(jié)果 目 錄 實驗一 MATLAB基本操作 . 1 實驗二 Matlab編程 . 5 實驗三 Matlab底層圖形控制 . 6 實驗四 控制系統(tǒng)古典分析.12 實驗五 控制系統(tǒng)現(xiàn)代分析 .15 實驗六 PID控制器的設(shè)計 .19 實驗七 系統(tǒng)狀態(tài)空間設(shè)計.23 實驗九 直流雙閉環(huán)調(diào)速系統(tǒng)仿真 .25 實驗一 MATLAB基本操作 1 用MATLAB可以識別的格式輸入下面兩個矩陣 1233,1443678,i,,2357,2335542,i, A,1357B,2675342,i,3239,189543,,1894,再求出它們的乘積矩陣C,并將C矩陣的右下角23子矩陣賦給D矩陣。賦值完成后,調(diào)用相應(yīng)的命令查看MATLAB工作空間的占用情況。 A=1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4; B=1+4i,4,3,6,7,8;2,3,3,5,5,4+2i;2,6+7i,5,3,4,2;1,8,9,5,4,3; C=A*B; D=C(4:5,4:6); whos Name Size Bytes Class Attributes A 5x4 160 double B 4x6 384 double complex C 5x6 480 double complex D 2x3 96 double complex 2 選擇合適的步距繪制出下面的圖形 ,其中 sin(/)1tt,(,)11t=-1:0.1:1; y=sin(1./t); plot(t,y) 1 3 對下面給出的各個矩陣求取矩陣的行列式、秩、特征多項式、范數(shù)、特征根、特征向量和逆矩陣。 5765753500.,,71087833410.,, B,A,681090910315,.,579100037193.,12343324,,,56785518,, C,D,910111211857,131415165131,,A=7.5,3.5,0,0;8,33,4.1,0;0,9,103,-1.5;0,0,3.7,19.3; B=5,7,6,5;7,10,8,7;6,8,10,9;5,7,9,10; C=1:4;5:8;9:12;13:1rtf6; D=3,-3,-2,4;5,-5,1,8;11,8,5,-7;5,-1,-3,-1; det(A);det(B);det(C);det(D); rank(A); rank(B); rank(C); rank(D); a=poly(A); b=poly(B); c=poly(C); d=poly(D); norm(A); 2 norm(B); norm(C); norm(D); v,d=eig(A,nobalance); v,d=eig(B,nobalance); v,d=eig(C,nobalance); v,d=eig(D,nobalance); m=inv(A); n=inv(B); p=inv(C); q=inv(D); 4 求解下面的線性代數(shù)方程,并驗證得出的解真正滿足原方程。 72124,1321390,,721264,915327,(a),(b) X,X,91532117,221151,2211521132130,(a) A=7,2,1,-2;9,15,3,-2;-2,-2,11,5;1,3,2,13; B=4;7;-1;0; X=AB; C=A*X; (b) A=1,3,2,13;7,2,1,-2;9,15,3,-2;-2,-2,11,5; B=9,0;6,4;11,7;-2,-1; X=AB; C=A*X; 5. (1) 初始化一10*10矩陣,其元素均為1 ones(10,10); (2) 初始化一10*10矩陣,其元素均為0 zeros(10,10); (3) 初始化一10*10對角矩陣 v=1:10; diag(v); (4) 輸入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2; 3 3 3,執(zhí)行下列命令,理解其含義 A(2, 3) 表示取A矩陣第2行、第3列的元素; 3 A(:,2) 表示取A矩陣的第,列全部元素; A(3,:) 表示取A矩陣第,行的全部元素; A(:,1:2:3)表示取A矩陣第1、3列的全部元素; A(:,3).*B(:,2)表示A矩陣第3列的元素點乘B矩陣第2列的元素 A(:,3)*B(2,:)表示A矩陣第3列的元素乘以B矩陣第2行 A*B 矩陣AB相乘 A.*B矩陣A點乘矩陣B A2矩陣A的平方 A.2矩陣表示求矩陣A的每一個元素的平方值 B/A 表示方程AX=B的解X B./A表示矩陣B的每一個元素點除矩陣A的元素 6在同一坐標(biāo)系中繪制余弦曲線y=cos(t-0.25)和正弦曲線y=sin(t-0.5),t?0,2,用不同顏色,不同線的類型予以表示,注意坐標(biāo)軸的比例控制。 t=0:0.01:2*pi; y1=cos(t-0.25); plot(t,y1,r-) hold on y2=sin(t-0.5); plot(t,y2,k) 4 實驗二 Matlab編程 1分別用for和while循環(huán)結(jié)構(gòu)編寫程序,求出 63i236263 K,,2122222?,i0并考慮一種避免循環(huán)的簡潔方法來進行求和。 (a)j=1;n=0;sum=1; for n=n+1:63 for i=1:n j=j*2; end sum=sum+j; j=1; end sum (b)j=1;n=1;sum=1; while n=64 i=1; while in+1 j=j*2; i=i+1; end n=n+1; sum=sum+j; j=1; end Sum (c)i=0:63;k=sum(2.i); 2計算 1+2+n2000 時的最大 n 值 s=0;m=0;while(s=2000),m=m+1;s=s+m;end,m 3 用MATLAB語言實現(xiàn)下面的分段函數(shù) ,hxD, yfxhDx,()/,xD,hxD,存放于文件ff.m中,令D=3,h=1求出,f(-1.5), f(0.5), f(5). D=3;h=1; x=-2*D:1/2:2*D; y=-h*(x=-D)&(xD); 5 plot(x,y); grid on f1=y(find(x=-1.5) f2=y(find(x=0.5) f3=y(find(x=5) 實驗三 Matlab底層圖形控制 1 在MATLAB命令行中編程得到y(tǒng)=sin(t)和y1=cos(t)函數(shù), plot(t,y);figure(10);plot(t,y1); t=-pi:0.05:pi; y=sin(t); y1=cos(t); plot(t,y) figure(10); plot(t,y1) 2 在MATLAB命令行中鍵入h=get(0),查看根屏幕的屬性,h此時為根屏幕句柄的符號表示,0為根屏幕對應(yīng)的標(biāo)號。 h=get(0) h = BeingDeleted: off BusyAction: queue ButtonDownFcn: CallbackObject: Children: 2x1 double Clipping: on CommandWindowSize: 89 27 CreateFcn: CurrentFigure: 1 DeleteFcn: Diary: off DiaryFile: diary Echo: off FixedWidthFontName: Courier New Format: short FormatSpacing: loose HandleVisibility: on HitTest: on Interruptible: on Language: zh_cn.gbk MonitorPositions: 1 1 1440 900 More: off 6 Parent: PointerLocation: 1048 463 PointerWindow: 0 RecursionLimit: 500 ScreenDepth: 32 ScreenPixelsPerInch: 96 ScreenSize: 1 1 1440 900 Selected: off SelectionHighlight: on ShowHiddenHandles: off Tag: Type: root UIContextMenu: Units: pixels UserData: Visible: on 3 h1=get(1);h2=get(10), 1, 10分別為兩圖形窗口對應(yīng)標(biāo)號,其中1為Matlab自動分配,標(biāo)號10已在figure(10)中指定。查看h1和h2屬性,注意CurrentAxes和CurrenObject屬性。 h1=get(1) h1 = Alphamap: 1x64 double BeingDeleted: off BusyAction: queue ButtonDownFcn: Children: 170.0012 Clipping: on CloseRequestFcn: closereq Color: 0.8000 0.8000 0.8000 Colormap: 64x3 double CreateFcn: CurrentAxes: 170.0012 CurrentCharacter: CurrentObject: CurrentPoint: 0 0 DeleteFcn: DockControls: on FileName: FixedColors: 10x3 double HandleVisibility: on HitTest: on IntegerHandle: on Interruptible: on InvertHardcopy: on 7 KeyPressFcn: KeyReleaseFcn: MenuBar: figure MinColormap: 64 Name: NextPlot: add NumberTitle: on PaperOrientation: portrait PaperPosition: 0.6345 6.3452 20.3046 15.2284 PaperPositionMode: manual PaperSize: 20.9840 29.6774 PaperType: A4 PaperUnits: centimeters Parent: 0 Pointer: arrow PointerShapeCData: 16x16 double PointerShapeHotSpot: 1 1 Position: 440 378 560 420 Renderer: painters RendererMode: auto Resize: on ResizeFcn: Selected: off SelectionHighlight: on SelectionType: normal Tag: ToolBar: auto Type: figure UIContextMenu: Units: pixels UserData: Visible: on WindowButtonDownFcn: WindowButtonMotionFcn: WindowButtonUpFcn: WindowKeyPressFcn: WindowKeyReleaseFcn: WindowScrollWheelFcn: WindowStyle: normal WVisual: 00 (RGB 32 GDI, Bitmap, Window) WVisualMode: auto h2=get(10) h2 = 8 Alphamap: 1x64 double BeingDeleted: off BusyAction: queue ButtonDownFcn: Children: 342.0011 Clipping: on CloseRequestFcn: closereq Color: 0.8000 0.8000 0.8000 Colormap: 64x3 double CreateFcn: CurrentAxes: 342.0011 CurrentCharacter: CurrentObject: CurrentPoint: 0 0 DeleteFcn: DockControls: on FileName: FixedColors: 10x3 double HandleVisibility: on HitTest: on IntegerHandle: on Interruptible: on InvertHardcopy: on KeyPressFcn: KeyReleaseFcn: MenuBar: figure MinColormap: 64 Name: NextPlot: add NumberTitle: on PaperOrientation: portrait PaperPosition: 0.6345 6.3452 20.3046 15.2284 PaperPositionMode: manual PaperSize: 20.9840 29.6774 PaperType: A4 PaperUnits: centimeters Parent: 0 Pointer: arrow PointerShapeCData: 16x16 double PointerShapeHotSpot: 1 1 Position: 440 378 560 420 Renderer: painters RendererMode: auto Resize: on ResizeFcn: 9 Selected: off SelectionHighlight: on SelectionType: normal Tag: ToolBar: auto Type: figure UIContextMenu: Units: pixels UserData: Visible: on WindowButtonDownFcn: WindowButtonMotionFcn: WindowButtonUpFcn: WindowKeyPressFcn: WindowKeyReleaseFcn: WindowScrollWheelFcn: WindowStyle: normal WVisual: 00 (RGB 32 GDI, Bitmap, Window) WVisualMode: auto 4 輸入h.Children,觀察結(jié)果。 h.Children ans = 1 10 5 鍵入gcf,得到當(dāng)前圖像句柄的值,分析其結(jié)果與h,h1,h2中哪個一致,為什么? ans = 1 結(jié)果與h的一致 6 鼠標(biāo)點擊Figure 1窗口,讓其位于前端,在命令行中鍵入gcf,觀察此時的值,和上一步中有何不同,為什么? ans = 1 7 觀察h1.Children和h2.Children,gca的值。 h1.Children ans = 170.0012 10 h2.Children ans = 342.0011 gca ans = 170.0012 8 觀察以下程序結(jié)果h3=h1.Children; set(h3,Color,green);h3_1=get(h3,children);set(h3_1, Color,red); 其中h3_1為Figure1中線對象句柄,不能直接采用h3_1=h3.Children命令獲得。 9 命令行中鍵入plot(t,sin(t-pi/3),觀察曲線出現(xiàn)在哪個窗口。h4=h2.Children;axes(h4); plot(t,sin(t-pi/3),看看此時曲線顯示在何窗口。 plot(t,sin(t-pi/3)后,曲線出現(xiàn)在figure1窗口;h4=h2.Children;axes(h4); plot(t,sin(t-pi/3)后,曲線出現(xiàn)在figure10 11 實驗四 控制系統(tǒng)古典分析 103G(s),(已知二階系統(tǒng) 2s,2s,10(1) 編寫程序求解系統(tǒng)的階躍響應(yīng); a=sqrt(10); zeta=(1/a); num=10; den=1 2*zeta*a 10; sys=tf(num,den); t=0:0.01:3; figure(1) step(sys,t);grid 修改參數(shù),實現(xiàn)和的階躍響應(yīng); ,1,2時: ,1a=sqrt(10); zeta=1; num=10; den=1 2*zeta*a 10; sys=tf(num,den); t=0:0.01:3; figure(1) step(sys,t);grid 時: ,2a=sqrt(10); zeta=2; num=10; den=1 2*zeta*a 10; sys=tf(num,den); t=0:0.01:3; figure(1) step(sys,t);grid 1,2,10修改參數(shù),實現(xiàn)和的階躍響應(yīng)() n1nn2nn21,時: n1n212 a=sqrt(10); zeta=(1/a); num=0.25; den=1 2*zeta*0.5*a 0.25; sys=tf(num,den); t=0:0.01:3; figure(1) step(sys,t);grid 時: ,2,n2na=sqrt(10); zeta=(1/a); num=40; den=1 2*zeta*2*a 40; sys=tf(num,den); t=0:0.01:3; figure(1) step(sys,t);grid (2) 試做出以下系統(tǒng)的階躍響應(yīng),并比較與原系統(tǒng)響應(yīng)曲線的差別與特點,作出相應(yīng)的實驗分析結(jié)果。 222s,10s,0.5s,10s,0.5sG(s),G(s),G(s), ; 123222s,2s,10s,2s,10s,2s,10sG(s), 22s,2s,10要求:分析系統(tǒng)的阻尼比和無阻尼振蕩頻率對系統(tǒng)階躍響應(yīng)的影響; 分析響應(yīng)曲線的零初值、非零初值與系統(tǒng)模型的關(guān)系; 分析響應(yīng)曲線的穩(wěn)態(tài)值與系統(tǒng)模型的關(guān)系; 分析系統(tǒng)零點對階躍響應(yīng)的影響; a=sqrt(10); zeta=(1/a); num=10; den=1 2*zeta*a 10; sys=tf(num,den); t=0:0.01:3; step(sys,t); hold on num1=0 2 10; sys1=tf(num1,den); step(sys1,t); num2=1 0.5 10; sys2=tf(num2,den); 13 step(sys2,t); num3=1 0.5 0; sys3=tf(num3,den); step(sys3,t); num4=0 1 0; sys4=tf(num4,den); step(sys4,t);grid 5 k(s,1)G(s),已知 2s(0.1s,1)令k,1作Bode圖,應(yīng)用頻域穩(wěn)定判據(jù)確定系統(tǒng)的穩(wěn)定性,并確定使系統(tǒng)獲得最大相位裕度的增益k值。 G=tf(1 1,0.1 1 0 0 ); figure(1) margin(G);grid 14 實驗五 控制系統(tǒng)現(xiàn)代分析 1 (2)Bode 圖法判斷系統(tǒng)穩(wěn)定性: 已知兩個單位負(fù)反饋系統(tǒng)的開環(huán)傳遞函數(shù)分別為: 用 Bode 圖法判斷系統(tǒng)閉環(huán)的穩(wěn)定性。 G1=tf(2.7,1 5 4 0 ); figure(1) margin(G);grid G2=tf(2.7,1 5 -4 0 ); figure(2) margin(G2);grid 15 2 系統(tǒng)能控性、能觀性分析 已知連續(xù)系統(tǒng)的傳遞函數(shù)模型: 16 當(dāng)分別取,1,0,1 時,判別系統(tǒng)的能控性與能觀性。 當(dāng)取-1時: num=1 -1; den=1 10 27 18; G=tf(num,den); G1=ss(G) a=-10 -3.375 -2.25; 8 0 0;0 1 0; b=0.5;0;0; Uc=b,a*b,a2*b; rank(Uc) a = x1 x2 x3 x1 -10 -3.375 -2.25 x2 8 0 0 x3 0 1 0 b = u1 x1 0.5 x2 0 x3 0 c = x1 x2 x3 y1 0 0.25 -0.25 d = u1 y1 0 Continuous-time model. rankUc = 3 rankUo = 3 由此,可以得到系統(tǒng)能控性矩陣Uc的秩是3,等于系統(tǒng)的維數(shù),故系統(tǒng)是能控的。能觀性矩陣Uo的秩是3,等于系統(tǒng)的維數(shù),故系統(tǒng)能觀測的。 當(dāng)取0時: 17 a = x1 x2 x3 x1 -10 -3.375 -2.25 x2 8 0 0 x3 0 1 0 b = u1 x1 0.25 x2 0 x3 0 c = x1 x2 x3 y1 0 0.5 0 d = u1 y1 0 Continuous-time model. rankUc = 3 rankUo = 3 由此,可以得到系統(tǒng)能控性矩陣Uc的秩是3,等于系統(tǒng)的維數(shù),故系統(tǒng)是能控的。能觀性矩陣Uo的秩是3,等于系統(tǒng)的維數(shù),故系統(tǒng)能觀測的。 當(dāng)取1時: a = x1 x2 x3 x1 -10 -3.375 -2.25 x2 8 0 0 x3 0 1 0 b = u1 x1 0.5 x2 0 x3 0 c = x1 x2 x3 18 y1 0 0.25 0.25 d = u1 y1 0 rankUc = 3 rankUo = 2 由此,可以得到系統(tǒng)能控性矩陣Uc的秩是3,等于系統(tǒng)的維數(shù),故系統(tǒng)是能控的。能觀性矩陣Uo的秩是2,小于系統(tǒng)的維數(shù),故系統(tǒng)不能觀測的。 實驗六 PID控制器的設(shè)計 31(已知三階對象模型,利用MATLAB編寫程序,研究閉環(huán)系統(tǒng)在不同控Gss()1/(1),,制情況下的階躍響應(yīng),并分析結(jié)果。 (1) TT,0時,在不同K值下,閉環(huán)系統(tǒng)的階躍響應(yīng); Pids=tf(s); G=1/(s+1)3; for K=0:0.5:2;hold on step(feedback(G*K,1) end 19 比例環(huán)節(jié):成比例地反映控制系統(tǒng)的偏差信號e( t) , 偏差一旦產(chǎn)生, 控制器立即產(chǎn)生控制作用,以減小偏差。比例系數(shù)越大,誤差越小。 TKT,10,(2) 時,在不同值下,閉環(huán)系統(tǒng)的階躍響應(yīng); ipds=tf(s); G=1/(s+1)3; for Ti=1:0.5:3;hold on G1=1+tf(1,Ti,0); step(feedback(G*G1,1) end 20 積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強弱取決于積分時間常數(shù)TI , TI越大,積分作用越弱,反之則越強。 TKT,1(3) 時,在不同值下,閉環(huán)系統(tǒng)的階躍響應(yīng); dpis=tf(s); G=1/(s+1)3; for Td=1:0.5:3;hold on G1=1+tf(1,1,0)+tf(Td 0,Td/10 1); step(feedback(G*G1,1) end 21 微分環(huán)節(jié):反映偏差信號的變化趨勢(變化速率) ,并能在偏差信號變得太大之前, 在系統(tǒng)中引入一個有效的早期修正信號, 從而加快系統(tǒng)的動作速度,減少調(diào)節(jié)時間。 2(被控對象同上,選擇合適的參數(shù)進行模擬PID控制(PID參數(shù)整定) s=tf(s); G=1/(s+1)3; K1,L1,T1,G1=getfolpd(1,G);G1 N=10;K=1.014;T=2.101;L=1.1;a=K*L/T; Kp=1.2/a,Ti=2*L,Td=0.5*L,G2=Kp*(1+tf(1,Ti,0)+tf(Td 0,Td/N 1); step(sys1=feedback(G*G2,1);grid hold on step(feedback(G,1) 22 實驗七 系統(tǒng)狀態(tài)空間設(shè)計 3(已知對象模型 ,03010052.,,,xtxtut().()(),,10100, ,15890054.,yx,123,(1) 如果我們想將閉環(huán)系統(tǒng)的極點配置到-1,-2,-3,利用MATLAB設(shè)計控制器,并繪出閉環(huán)系統(tǒng)的階躍響應(yīng)曲線。(說明:用兩種方法配置極點) 采用Ackermann公式計算: A=-0.3 0.1 -0.05;1 0.1 0;-1.5 -8.9 -0.05; B=2;0;4; C=1 2 3; D=0; P=-1 -2 -3; k=acker(A,B,P) Ac=A-B*k 23 eig(Ac) G=ss(Ac,B,C,D) G1=tf(G) t=0:0.01:3; step(G1,t);grid 采用魯棒極點配置算法: A=-0.3 0.1 -0.05;1 0.1 0;-1.5 -8.9 -0.05; B=2;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論