《MATLAB語言及其應用實驗報告.doc》由會員分享,可在線閱讀,更多相關《MATLAB語言及其應用實驗報告.doc(24頁珍藏版)》請在裝配圖網上搜索。
1、MATLAB 語言及其應用實驗報告目錄實驗一 Matlab 使用方法和程序設計. 實驗二 控制系統(tǒng)的模型及其轉換. 實驗三 控制系統(tǒng)的時域、頻域和根軌跡分析. 實驗四 動態(tài)仿真集成環(huán)境-Simulink. 實驗一 Matlab使用方法和程序設計一、 實驗目的1、掌握Matlab軟件使用的基本方法;2、熟悉Matlab的數據表示、基本運算和程序控制語句3、熟悉Matlab繪圖命令及基本繪圖控制4、熟悉Matlab程序設計的基本方法二、 實驗內容:1、幫助命令使用help命令,查找 sqrt(開方)函數的使用方法;答:help sqrt2、矩陣運算(1) 矩陣的乘法已知A=1 2;3 4; B=5
2、 5;7 8;求A2*B解: A=1 2;3 4;B=5 5;7 8;A2*Bans = 105 115 229 251(2) 矩陣除法已知 A=1 2 3;4 5 6;7 8 9;B=1 0 0;0 2 0;0 0 3;AB,A/B解: A=1 2 3;4 5 6;7 8 9;B=1 0 0;0 2 0;0 0 3; AB ans = 1.0e+016 * -0.4504 1.8014 -1.3511 0.9007 -3.6029 2.7022 -0.4504 1.8014 -1.3511 A/Bans = 1.0000 1.0000 1.0000 4.0000 2.5000 2.0000
3、7.0000 4.0000 3.0000(3) 矩陣的轉置及共軛轉置已知A=5+i,2-i,1;6*i,4,9-i;求A., A解: A=5+i,2-i,1;6*i,4,9-i; A.ans = 5.0000 + 1.0000i 0 + 6.0000i 2.0000 - 1.0000i 4.0000 1.0000 9.0000 - 1.0000i Aans = 5.0000 - 1.0000i 0 - 6.0000i 2.0000 + 1.0000i 4.0000 1.0000 9.0000 + 1.0000i(4) 使用冒號表達式選出指定元素已知: A=1 2 3;4 5 6;7 8 9;求
4、A中第3列前2個元素;A中所有列第2,3行的元素; A=1 2 3;4 5 6;7 8 9; B=A(1:2,3)B = 3 6 B1=A(2:3,:)B1 = 4 5 6 7 8 9用magic函數生成一個4階魔術矩陣,刪除該矩陣的第四列 A=magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 B=A(:,1:3)B = 16 2 3 5 11 10 9 7 6 4 14 153、多項式(1)求多項式 的根 p=1 0 -2 -4; r=roots(p)r = 2.0000 -1.0000 + 1.0000i -1.0000 - 1.0000
5、i(2)已知A=1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4 ,求矩陣A的特征多項式; A=1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4 ; p=poly(A)p = 1.0000 -6.9000 -77.2600 -86.1300 604.5500把矩陣A作為未知數代入到多項式中; A=1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4 ; syms x;P=x3-2*x-4; P1=subs(P,x,A)P1 = -4.6720 17.0000 111.0000 -5.0710 111.0000 -2.48
6、70 111.0000 200.0000 17.0000 707.0000 -4.0000 -5.0000 -5.0000 0 17.0000 52.00004、基本繪圖命令(1)繪制余弦曲線 y=cos(t),t0,2(2)在同一坐標系中繪制余弦曲線y=cos(t-0.25)和正弦曲線y=sin(t-0.5),t0,2解:(1)程序為:t=0:0.05:2*pi;y=cos(t);plot(t,y) (2)程序如下:x=0:0.05:2*pi;y1=cos(x-0.25);y2=sin(x-0.5);plot(x,y1,x,y2)繪制曲線如下:5、基本繪圖控制繪制0,4區(qū)間上的x1=10si
7、nt曲線,并要求:(1) 線形為點劃線、顏色為紅色、數據點標記為加號;(2)坐標軸控制:顯示范圍、刻度線、比例、網絡線(3)標注控制:坐標軸名稱、標題、相應文本;程序為: t=0:0.05:4*pi;x1=10*sin(t);plot(t,x1,r-.+)grid on;axis(0,15,-10,10);title(曲線x1=10sint);xlabel(T軸);ylabel(X1軸);set(gca,xminortick,on);set(gca,yminortick,on); 6、基本程序設計(1)編寫命令文件:計算1+2+n s=1;n=1;while(s2000-n),n=n+1;s=
8、s+n;end,s,nans = 1953 62(2) 編寫函數文件:分別用for和while循環(huán)結構編寫程序,求2的0到n次冪的和。1)function s=spc(n)s=0;i=0;while(i s=spc(10)s = 20472)function s=spc(n)s=0;for i=0:n s=s+2i;end s=spc1(10)s = 2047(3)如果想對一個變量x自動賦值。當從鍵盤輸入y或Y時(表示是),x自動賦為1;當從鍵盤輸入n或N時(表示否),x自動賦為0;輸入其他字符時終止程序。str=input(please input Y or N :,s);if str=y|
9、str=Y x=1elseif str=n|str=N x=0else error(error);endplease input Y or N :nx = 0三、 實驗報告要求:編寫實驗內容中的相關程序在計算機中運行,程序、運行結果及相關圖形一并寫在報告上。實驗二 控制系統(tǒng)的模型及其轉換一、 實驗目的1、掌握建立控制系統(tǒng)模型的函數及方法;2、掌握控制系統(tǒng)模型間的轉換方法及相關函數;3、熟悉控制系統(tǒng)模型的連接方法;4、掌握典型系統(tǒng)模型的生成方法。二、 實驗內容:1. 控制系統(tǒng)模型1.1 系統(tǒng)的模型為試建立系統(tǒng)的傳遞函數模型。 s=tf(s);G=4*(s+2)*(s2+6*s+6)/(s*(s+
10、1)3*(s3+32+2*s+5) Transfer function: 4 s3 + 32 s2 + 72 s + 48-s7 + 3 s6 + 5 s5 + 21 s4 + 48 s3 + 44 s2 + 14 s1.2 已知單輸入雙輸出系統(tǒng)的零極點模型 建立系統(tǒng)的零極點模型。方法一: s=zpk(s); g1=3*(s+12)/(s+3)*(s+4)*(s+5); g2=4*(s+5)*(s+3)/(s+3)*(s+4)*(s+5); G=g1;g2 Zero/pole/gain from input to output. 3 (s+12) #1: - (s+3) (s+4) (s+5)
11、 4 (s+5) (s+3) #2: - (s+3) (s+4) (s+5)方法二: z1=-12;z2=-5;-3;p=-3;-4;-5; g1=zpk(z1,p,3); g2=zpk(z2,p,4); G=g1;g2 Zero/pole/gain from input to output. 3 (s+12) #1: - (s+3) (s+4) (s+5) 4 (s+5) (s+3) #2: - (s+3) (s+4) (s+5)1.3 給定系統(tǒng)的狀態(tài)空間表達式, 建立系統(tǒng)的狀態(tài)空間模型。 A=-2.8,-1.4,0,0;1.4,0,0,0;-1.8,-0.3,-1.4,-0.6;0,0,0
12、.6,0; B=1;0;1;0; C=0 0 0 1;D=0; G=ss(A,B,C,D)a = x1 x2 x3 x4 x1 -2.8 -1.4 0 0 x2 1.4 0 0 0 x3 -1.8 -0.3 -1.4 -0.6 x4 0 0 0.6 0b = u1 x1 1 x2 0 x3 1 x4 0 c = x1 x2 x3 x4 y1 0 0 0 1 d = u1 y1 0 Continuous-time model.2. 控制系統(tǒng)模型的轉換2.1 將1.1的模型轉換為零極點模型 s=tf(s); G=4*(s+2)*(s2+6*s+6)/(s*(s+1)3*(s3+32+2*s+5)
13、Transfer function: 4 s3 + 32 s2 + 72 s + 48-s7 + 3 s6 + 5 s5 + 21 s4 + 48 s3 + 44 s2 + 14 s G1=zpk(G)Zero/pole/gain: 4 (s+4.732) (s+2) (s+1.268)-s (s+2.135) (s+1)3 (s2 - 2.135s + 6.558)2.2 將1.2的模型轉換為狀態(tài)空間模型 z1=-12;z2=-5;-3;p=-3;-4;-5; g1=zpk(z1,p,3); g2=zpk(z2,p,4); G=g1;g2Zero/pole/gain from input t
14、o output. 3 (s+12) #1: - (s+3) (s+4) (s+5) 4 (s+5) (s+3) #2: - (s+3) (s+4) (s+5) G1=ss(G)a = x1 x2 x3 x1 -3 4 0 x2 0 -4 16 x3 0 0 -1 b = u1 x1 0 x2 0 x3 2 c = x1 x2 x3 y1 0.2109 0.09375 0 y2 0 0.125 2 d = u1 y1 0 y2 0 Continuous-time model.2.3 將1.3 的模型轉換為零極點模型 A=-2.8,-1.4,0,0;1.4,0,0,0;-1.8,-0.3,-1.
15、4,-0.6;0,0,0.6,0; B=1;0;1;0; C=0,0,0,1;D=0; G=ss(A,B,C,D) a = x1 x2 x3 x4 x1 -2.8 -1.4 0 0 x2 1.4 0 0 0 x3 -1.8 -0.3 -1.4 -0.6 x4 0 0 0.6 0 b = u1 x1 1 x2 0 x3 1 x4 0 c = x1 x2 x3 x4 y1 0 0 0 1 d = u1 y1 0 Continuous-time model. G1=zpk(G) Zero/pole/gain: 0.6 (s2 + s + 1.54)-(s+1.4)2 (s+1.061) (s+0.3
16、394)3. 控制系統(tǒng)模型的連接:已知兩個系統(tǒng) 求按串聯(lián)、并聯(lián)、系統(tǒng)2聯(lián)接在反饋通道時的負反饋系統(tǒng)的狀態(tài)方程。 A1=0 1;1 -2;B1=0;1;C1=1 3;D1=1; A2=0 1;-1 -3;B2=0;1;C2=1 4;D2=0; G1=ss(A1,B1,C1,D1); G2=ss(A2,B2,C2,D2); G=G2*G1a = x1 x2 x3 x4 x1 0 1 0 0 x2 -1 -3 1 3 x3 0 0 0 1 x4 0 0 1 -2 b = u1 x1 0 x2 1 x3 0 x4 1 c = x1 x2 x3 x4 y1 1 4 0 0 d = u1 y1 0 Con
17、tinuous-time model. G=G1+G2 a = x1 x2 x3 x4 x1 0 1 0 0 x2 1 -2 0 0 x3 0 0 0 1 x4 0 0 -1 -3 b = u1 x1 0 x2 1 x3 0 x4 1 c = x1 x2 x3 x4 y1 1 3 1 4 d = u1 y1 1 Continuous-time model. G=feedback(G1,G2) a = x1 x2 x3 x4 x1 0 1 0 0 x2 1 -2 -1 -4 x3 0 0 0 1 x4 1 3 -2 -7 b = u1 x1 0 x2 1 x3 0 x4 1 c = x1 x2
18、x3 x4 y1 1 3 -1 -4 d = u1 y1 1 Continuous-time model.4、典型系統(tǒng)的生成:4 典型二階系統(tǒng) 試建立 時的系統(tǒng)傳遞函數模型。 s=tf(s); w=6;e=0.1; H=w2/(s2+2*e*w*s+w2) Transfer function: 36-s2 + 1.2 s + 365、連續(xù)系統(tǒng)的離散化:對連續(xù)系統(tǒng) 在采樣周期 T=0.1 時進行離散化。 z=-3;p=-1;-2;-5; G=zpk(z,p,6); G1=c2d(G,0.1) Zero/pole/gain: 0.025525 (z+0.8468) (z-0.7408)-(z-0.
19、9048) (z-0.8187) (z-0.6065) Sampling time: 0.1實驗三 控制系統(tǒng)的時域、頻域和根軌跡分析一、 實驗目的1、掌握如何使用Matlab進行系統(tǒng)的時域分析2、掌握如何使用Matlab進行系統(tǒng)的頻域分析3、掌握如何使用Matlab進行系統(tǒng)的根軌跡分析二、 實驗內容:1、時域分析1.1、某系統(tǒng)的開環(huán)傳遞函數為 試編程求系統(tǒng)在單位負反饋下的階躍響應曲線,并求最大超調量。 num=20;den=1,8,36,40,0; G=tf(num,den); G1=feedback(G,1); step(G1,30)1.2、典型二階系統(tǒng) 編程求:當 分別取值為0.2、0.4
20、、0.6、0.8、1.0、1.5、2.0時的單位階躍響應曲線。 s=tf(s); wn=6;zet=0.2:0.2:1.0,1.5,2.0; for z=zetG=wn2/(s2+2*z*wn*s+wn2);step(G,5);hold on;end1.3、典型二階系統(tǒng)傳遞函數為: 繪制當:分別取2、4、6、8、10、12時的單位階躍響應曲線。 wn=2:2:12;zet=0.7; s=tf(s); for w=wnG=w2/(s2+2*zet*w*s+w2);step(G,5);hold on;end2、根軌跡分析根據下面負反饋系統(tǒng)的開環(huán)傳遞函數,繪制系統(tǒng)根軌跡,并分析使系統(tǒng)穩(wěn)定的K值范圍。
21、 s=tf(s); num=1;den=1,4,3,0; G=tf(num,den); rlocus(G)3、頻域分析 典型二階系統(tǒng)傳遞函數為: 3.1 繪制當:取2、4、6、8、10、12時的伯德圖 zet=0.7;wn=2:2:12; for w=wns=tf(s);G=w2/(s2+2*zet*w*s+w2);bode(G);hold on;end 32 繪制當:分別取0.2、0.4、0.6、0.8、1.0、1.5、2.0時的伯德圖。 s=tf(s); wn=6;zet=0.2:0.2:1.0,1.5,2.0; for z=zetG=wn2/(s2+2*z*wn*s+wn2);bode(
22、G);hold on;end實驗四 動態(tài)仿真集成環(huán)境Simulink一、 實驗目的1、熟悉Simulink模塊庫中常用標準模塊的功能及其應用;2、掌握利用Simulink在用戶窗口中建立控制系統(tǒng)仿真模型的方法;3、掌握模塊參數和仿真參數的設置以及建立子系統(tǒng)的方法。二、 實驗內容1. 用Simulink對以下系統(tǒng)進行仿真 其中u(t)為系統(tǒng)輸入,y(t)為系統(tǒng)輸出,仿真當輸入為正弦信號時,輸出的信號的波形,仿真時間 0 t 100 。解:模塊連接后的系統(tǒng)模型如下圖查表模塊的參數設置如下系統(tǒng)仿真的示波器輸出如下2. 在滑艇的運行過程中,滑艇主要受到如下作用力的控制:滑艇自身的牽引力F,滑艇受到的水的阻力 。其中水的阻力 , 為滑艇的運動速度。由運動學的相關定理可知,整個滑艇系統(tǒng)的動力學方程為: 其中,m為滑艇的質量。假設滑艇的質量為1000kg,建立此系統(tǒng)的Simulink模型并進行分析。3 輸入教材中 P198 中例題5-2 并作仿真。三、 實驗報告要求:編寫實驗內容中的相關算法,算式,編制程序在計算機中運行,程序、運行結果及相關圖形一并寫在報告上。24