控制工程MATLAB實驗報告_第1頁
控制工程MATLAB實驗報告_第2頁
控制工程MATLAB實驗報告_第3頁
控制工程MATLAB實驗報告_第4頁
控制工程MATLAB實驗報告_第5頁
已閱讀5頁,還剩9頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、浙江科技學院機電系統開放性實驗 設計題目: MATLAB控制機電系統實分析 專 業: 機 械 設 計 制 造及 其 自 動 化 班 級: 機 制 122 學生姓名: 王朝旭 指導老師: 高 俊 2014年05月30日 目 錄實驗一 MATLAB語言基本命令31 實驗目的32 實驗器材33 實驗內容34 實驗步驟:35 實驗類容:3 實驗二 MATLAB控制系統工具箱使用6 1 實驗目的62 實驗器材63 實驗內容64 實驗步驟及內容6 實驗三 MATLAB數字控制器設計初步91 實驗目的92 實驗器材93 實驗內容94 實驗步驟及內容9 實驗四 控制系統數學模型的MATLAB實現121 實驗目

2、的122 實驗器材123 實驗步驟及內容12 總結14 實驗一 MATLAB語言基本命令1 實驗目的1. 掌握科學計算的有關方法,熟悉MATLAB語言及其在科學計算中的運用;2. 掌握MATLAB的命令運行方式和M文件運行方式;3. 掌握矩陣在MATLAB中的運用。2 實驗器材計算機WinXP、Matlab7.0軟件3 實驗內容(1). 輸入 A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2;3 3 3,在命令窗口中執行下列表達式,掌握其含義: A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B

3、 A.*BA2 A.2 B/A B./A (2).輸入 C=1:2:20,則 C(i)表示什么?其中 i=1,2,3,10; (3).查找已創建變量的信息,刪除無用的變量; (4). 試用 help命令理解下面程序各指令的含義: clear t =0:0.001:2*pi; subplot(2,2,1); polar(t, 1+cos(t) subplot(2,2,2); plot(cos(t).3,sin(t).3) subplot(2,2,3); polar(t,abs(sin(t).*cos(t) subplot(2,2,4); polar(t,(cos(2*t).0.5)4 實驗步驟:

4、 打開MATLAB程序,將實驗內容中的題目依次輸入MATLAB中,運行得到并記錄結果,最后再對所得結果進行驗證。5 實驗報告內容(1) A=7 1 5;2 5 6;3 1 5A = 7 1 5 2 5 6 3 1 5 B=1 1 1; 2 2 2;3 3 3B = 1 1 1 2 2 2 3 3 3 A(2, 3) “ 取矩陣A中第二行第三列的元素”ans = 6 A(:,2) “ 取矩陣A中第二列的元素”ans = 1 5 1 A(3,:) “ 取矩陣A中第三行的元素”ans = 3 1 5 A(:,1:2:3) “使矩陣的第一列到第二列,第二例到第三列,構成新的2*3的矩陣”ans = 7

5、 5 2 6 3 5 A(:,3).*B(:,2) “取矩陣A的三列和B的第二列,對應元素一次相乘”ans = 5 12 15 A(:,3)*B(2,:) “取矩陣A的三列和B的第二行,對應元素進行叉乘”ans = 10 10 10 12 12 12 10 10 10 A*B “矩陣進行叉乘”ans = 24 24 24 30 30 30 20 20 20 A.*B “兩矩陣對應元素相乘”ans = 7 1 5 4 10 12 9 3 15 A2 “矩陣A叉乘上矩陣A”ans = 66 17 66 42 33 70 38 13 46 A.2 “舉證A中的元素翻倍”ans = 49 1 25 4

6、 25 36 9 1 25 B/A “矩陣B除以矩陣A”ans = 0.1842 0.2105 -0.2368 0.3684 0.4211 -0.4737 0.5526 0.6316 -0.7105 B./A “兩矩陣對應元素相除”ans = 0.1429 1.0000 0.2000 1.0000 0.4000 0.33331.0000 3.0000 0.6000(2) C=1:2:20C = 1 3 5 7 9 11 13 15 17 19C(i)表示奇數 2*i-1(3) 查找已創建變量的信息,刪除無用的變量clear “清除”t =0:0.001:2*pi; “定義時間向量”subplo

7、t(2,2,1); “定義多塊圖畫的繪圖位置” polar(t, 1+cos(t) “繪制函數圖像”subplot(2,2,2); plot(cos(t).3,sin(t).3) subplot(2,2,3); polar(t,abs(sin(t).*cos(t) subplot(2,2,4); (4) polar(t,(cos(2*t).0.5)實驗二 MATLAB控制系統工具箱使用1 實驗目的(1)了解Matlab控制系統工具箱中常用函數.(2)掌握模型轉換方法以及奈氏圖、伯德圖的繪制。(3)掌握系統脈沖、階躍等響應的仿真方法2 實驗器材計算機Win7、Matlab7.0軟件3 實驗內容(

8、1)利用residue函數求取傳遞函數的部分分式展開式(2)利用tf函數構建系統傳遞函數(3)利用impulse、step、lsim等函數仿真系統的單位脈沖、階躍、速度響應。(4)畫出單位負反饋的開環傳遞函數的在頻率0.01-100rad/s間的伯德圖(5)畫出系統的乃奎斯特圖4 實驗步驟及內容(1) 寫出傳遞函數的部分展開式a. 列些分子num、分母den的系數 b. 利用residue(num,den) 求出零極點和余項 實驗運行結果:r = 1.0000 2.5000 -3.0000 0.5000 p =-4.000 -3.0000 -2.000 -1.0000 k=1(2)對于系統A.

9、首先利用conv函數展開分母,獲得各階系數,此時num=14 21; den=conv(conv(conv(1 0 0, 3 1),conv(1 2,1 2), 5 0 3 8)b.再利用tf函數構建傳遞函數運行結果:G(S)= (3)a. 用tf(num,den)函數構建高階系統傳遞函數b.構建時間向量t c 用函數impulse及step仿真系統的單位脈沖響應、單位階躍響應d. 用lism函數仿真系統速度響應e. 程序調試成功后實驗結果:A impulse 單位脈沖信號實驗結果 B step 單位階躍信號仿真結果 C lism函數仿真系統速度響應(4)繪制單位負反饋的開環傳遞函數的伯德圖。

10、a. 寫出num,denb. 用logspace函數設定頻率范圍c 利用bode函數輸入幅值增益、相位d. 把增益值轉換為分貝值e. 添加網格線,并生成二行一列的圖表f. 用semilogx在兩個圖標中分別生成幅值頻率和相頻特性曲線。g. 用margin函數獲取開環的幅值裕量和相位裕量。h. 程序調試后寫入實驗報告margin函數獲取開環的幅值裕量和相位裕量。Gm = Inf Pm =126.0768 wcg =NaN wcp = 7.2725實驗三 MATLAB數字控制器設計初步1 實驗目的(1)掌握離散信號z變換和z逆變換的matlab方法(2)掌握離散系統的系統函數零極點分布與系統頻率特

11、性的matlab實現方法(3)掌握matlab計算差分方程的方法。2 實驗器材計算機Win7、Matlab7.0軟件3 實驗內容(1)找到matlab的符號運算工具箱提供的z變換函數ztrans與反變換函數iztrans,通過help理解其用法,并掌握符號表達式的構建和應用。F=ztrans(f) %求符號函數f的z變換,返回函數的自變量為z;F=ztrans(f,w) %求符號函數f的z變換,返回函數的自變量為w;F=ztrans(f,k,w) %對自變量為k的符號函數f求z變換,返回函數的自變量為w。f=iztrans(F) %對自變量為z的符號函數F求逆z變換,返回函數的自變量為n;f=

12、iztrans(F,k) %對自變量為z的符號函數F求逆z變換,返回函數的自變量為k;f=iztrans(F,w,k) %對自變量為w的符號函數F求逆z變換,返回函數的自變量為k。4 實驗步驟及實驗內容(1).已知序列,求其z變換。解:在命令窗口中輸入如下命令,即可完成f(k)的z變換 syms k f=sym(2(-k); %定義序列 F=ztrans(f) %求z變換 F = z/(z - 1/2)(2)已知一離散系統的系統函數,求其沖激響應h(k)。解:運行如下M文件,syms k zH=sym(z/(z2+3*z+2);h=iztrans(H,k) %求逆z變換h = (-1)k -

13、(-2)k (3) MATLAB的zplane函數用于系統函數的零極點圖的繪制,調用方式為:zplane(b,a) 其中, b、a分別為系統函數分子、分母多項式的系數向量例.已知一離散系統的系統函數,試繪制其零極點圖。解:在MATLAB的命令窗口中輸入如下命令,即可得到其零極點圖(圖7-1)。 a=1 3 2; b=1 -0.7 0.1; zplane(b,a) %繪制其零極點圖(4) 若描述離散系統的差分方程為,已知激勵,初始狀態y(-1)=1,y(-2)=0,求系統的零輸入響應,零狀態響應。【解】將差分方程兩邊取z變化的,進整理,得,前一部分為零輸入響應,后一部分為零狀態響應。將y(-1)

14、=1,y(-2)=0代入第一部分,則零輸入響應的表達式為,因此經過z的逆變化得,同理,則零狀態激勵響應響應的表達式為,如果直接利用iztrans函數進行編程求解如下clcsyms zy=0.5*(1/z-1)/(1+1/2*z-1/2*z2)y=iztrans(y)結果:1/2*charfcn1(n)-3/4*charfcn0(n)+1/12*2n+2/3*(-1)n(5)已知,通過部分分式展開法求F(z) 。F=sym(s+2)/(s*(s+1)2*(s+3);%傳遞函數F(s)進行符號定義numF,denF=numden(F) ;%提取分子分母pnumF=sym2poly(numF) ;%

15、將分子轉化為一般多項式pdenF=sym2poly(denF) ;%將分母轉化為一般多項式R,P,K=residue(pnumF,pdenF)%部分分式展開對應部分分式分解結果為: 實驗四 控制系統數學模型的MATLAB實現(用MATLAB展開及合并部分分式)1 實驗目的(1)掌握matlab展開部分分式的方法2 實驗器材計算機Win7、Matlab7.0軟件3 實驗步驟及實驗內容(1)用matlab展開部分分式 用num和den分別表示G(s)的分子和分母多項式,即MATLAB提供函數reside用于實現部分分式展開,其句法為r, p, k=reside(num,den)其中,r, p分別為

16、展開后的留數及極點構成的列向量;k 為余項多項式行向量。若無重極點,MATLAB展開后的一般形式為:若存在q個重極點p(j),則展開式將包括下列各式:4 實驗步驟及實驗內容(1) 求下式的部分分式展開解: num=1 11 39 52 26; den=1 10 35 50 24; r,p,k=residue(num,den)r = 1.0000 2.5000 -3.0000 0.5000p = -4.0000 -3.0000 -2.0000 -1.0000k = 1所以展開式為:函數residue也可用于將部分分式合并,其句法為num,den=residue(r,p,k) r=1 2 3 4;p=-1 -2 -3 -4;k=0k = 0 num,den=residu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論