《自動控制原理實驗用Matlab軟件編制勞斯判據(jù)程序并解題(《學(xué)習(xí)輔導(dǎo)》例435)》由會員分享,可在線閱讀,更多相關(guān)《自動控制原理實驗用Matlab軟件編制勞斯判據(jù)程序并解題(《學(xué)習(xí)輔導(dǎo)》例435)(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、上海電力學(xué)院
實驗報告
自動控制原理實驗課程
題目:用Matlab軟件編制勞斯判據(jù)程序并解題(《學(xué)習(xí)輔導(dǎo)》例4.3.5)
姓名:
學(xué)號:
時間: 2012年11月4日 自動化工程學(xué)院自動化(電站自動化)專業(yè)
實驗報告目錄
一、 問題描述 3
二、 理論方法分析 3
三、 實驗設(shè)計與實現(xiàn) 3
實驗結(jié)果與分析
五、結(jié)論與討論
六、
實驗心得體會
七、參考文獻(xiàn)
附錄
一、 問題描述
用MATLAB編制勞斯判據(jù)列出其勞斯矩陣并判斷相對應(yīng)系統(tǒng)的穩(wěn)定性
二、 理論方法分析
采用M文件實現(xiàn)Mat lab編程。
1) M文件的建立與調(diào)用
>
2、 從Matlab操作桌面的“File”菜單中選擇“New”菜單項,再選擇
“M-file ”命令,屏幕將出現(xiàn)Matl ab文本編輯器的窗口。
> 在Matl ab命令窗口的“ File ”菜單中選擇“ Open ”命令,則屏幕出 現(xiàn)“ Open ”對話框,在文件名對話框中選中所需打開的M文件名。
2) M文件的調(diào)試
在文件編輯器窗口菜單欄和工具欄的下面有三個區(qū)域,右側(cè)的大區(qū)域是 程序窗口,用于編寫程序;最左面區(qū)域顯示的是行號,每行都有數(shù)字,包括 空行,行號是自動出現(xiàn)的,隨著命令行的增加而增加;在行號和程序窗口之 間的區(qū)域上有一些小橫線,這些橫線只有在可執(zhí)行行上才有,而空行、注釋 行、函
3、數(shù)定義行等非執(zhí)行行的前面都沒有。在進(jìn)行程序調(diào)試時,可以直接在 這些程序上點擊鼠標(biāo)以設(shè)置或去掉斷點。
三、 實驗設(shè)計與實現(xiàn)
(1)程序
%RouthMatrix**勞斯矩陣(帶參數(shù)的特征多項式)并判斷對應(yīng)系統(tǒng)穩(wěn)定性** clear;
syms k z q
%定義變量k z q
n=leng th(p);
P=input('請輸入特征多項式的參數(shù)=');%提示輸入?yún)?shù)
%得到P的長度
for
i=0:ceil(n/2)—l
%將多項式進(jìn)行勞斯矩陣排序
a(1,i+1)=p(2 *i+l);
if 2* (i+l)>n
a(2,i+l)=0;
break
4、end
a(2,i+1)=p(2 *( i+1));
end
for
k=3:n
%計算從第三行開始勞斯矩陣內(nèi)容
for j=l:ceil((n-k+l)/2)
if a(k—1,1)==0
%判斷是否有共軛虛根
disp('系統(tǒng)有共軛虛根') breaksign=1;
break
end
a(k,j) = (a(k—l,l) *a(k—2,j+l)—a(k—l,j+l) *a(k—2,l))/a(k—l,l);
end
end
disp('勞斯矩陣')
%輸出對應(yīng)的勞斯矩陣
disp(double(a))
for i=3
5、:k
%用勞斯判據(jù)判斷系統(tǒng)的穩(wěn)定性
if a(i—1,1)<=0
q=1;
%判斷第一列元素是否不大于0
break
end
end
if q==1
disp('系統(tǒng)不穩(wěn)定')
else
disp('系統(tǒng)穩(wěn)定') %輸出系統(tǒng)穩(wěn)定性判定結(jié)果
end
(2)設(shè)計
勞斯表的內(nèi)容根據(jù)書上的原理進(jìn)行設(shè)計,將多項式進(jìn)行勞斯矩陣排序, 可得其前兩行的內(nèi)容,余下幾行則要根據(jù)書上原理寫出。判斷其是否穩(wěn)定根 據(jù)第一列元素是否有符號上的變化進(jìn)行,從第二行第一列的元素開始,若其 大于零,則endfor循環(huán),i加1,判斷第三行第一列元素,以此類推,直到有 一行第一列的元素小于或者等于0為
6、止,給q賦值1,跳出循環(huán),輸出‘系統(tǒng) 不穩(wěn)定',若判斷到最后一行的元素也沒有小于或者等于零的數(shù)值出現(xiàn),則 輸出‘系統(tǒng)穩(wěn)定’。
四、實驗結(jié)果與分析
如圖所示M文件代碼:
26 -
;:for i=3:k
27 -
if a(i-lj 1) <=0
28 -
c=l;
29 -
break
30 -
end
31 -
end
32 -
if c=l
33 -
disp (J系統(tǒng)不穩(wěn)企
34 -
else
35 -
disp (J系統(tǒng)穩(wěn)定’)
36 -
end
編寫好M文件之后,保存并運行,即可在M ATLAB界面中進(jìn)行調(diào)試。
隨意選取
7、特征方程式的系數(shù),運行后結(jié)果:
Command Window
N&w to MATLAB? Watch this Video, see D&mos,
請輸入特征參項式的堡數(shù)=[1 2 3 4 5]
勞斯矩陣
1
3
5
2
4
0
1
5
0
-6
0
0
5
0
0
系統(tǒng)不穩(wěn)定
A
?
清輸乂特征多項式的蜃數(shù)=[1 2 3 4]
勞斯矩陣
1
3
2
4
1
0
4
0
系編穩(wěn)定
五、結(jié)論與討論
由上述實驗過程可
8、以看出,勞斯判據(jù)前兩行是根據(jù)特征方程式的參數(shù)寫出 的,而后面幾行則是根據(jù)前兩行計算得出,運用勞斯判據(jù)我們可以判斷其穩(wěn)定性, 若有全零行,有共軛虛根,若第一列元素符號有變化,系統(tǒng)一定不穩(wěn)定。若有未 知參數(shù),亦可判斷其取值范圍。
六、實驗心得體會
實踐是檢驗真理的唯一標(biāo)準(zhǔn),死板的書本交給我們的是一板一眼的計算方法, 而實踐不僅是理論的踐行者,而且反饋著理論學(xué)習(xí)的真實面目。不是第一次聽說 MATLAB,在自控原理課上老師也不止一次用它演示了一些程序,那時MATLAB就給 我留下了一個功能十分強大,操作極為簡便的好印象。之后的實驗課自己動手操 作,更覺其神奇,那只是按照老師所講的步驟一步一步的操作
9、。坦白說,看到這 個題目的瞬間有些茫然,好在有題目可以參考,解讀了書上給出的程序后自己慢 慢摸索演練,終于用MATLAB做了一道完整的題目,真的感受到了這個軟件的實用,自己這次實驗接觸到只是其功能模塊的冰山一角,只是學(xué)到了一點點基本操作, 僅僅是對這款軟件有了初步了解,但是對于其更高深的東西還不熟悉,雖然在報 告里用到的編程并不是全部所學(xué),但我已經(jīng)身臨其境的感受到MATLAB的魅力。我 不得不感嘆,一個好的程序軟件對學(xué)習(xí)自動控制原理幫助的巨大。良好的開始是 成功的一半,在以后的學(xué)習(xí)中,把理論和實踐相結(jié)合,讓MATLAB更好的為學(xué)習(xí)自 控原理服務(wù)。
七、 參考文獻(xiàn)
《自動控制原理學(xué)習(xí)輔導(dǎo)》楊
10、平、翁思義、王志萍編著。
——中國電力出版社 《自動控制原理實驗與實踐》楊平、余潔、馮照坤、翁思義編著。
——中國電力出版社
八、 附錄
%RouthMatrix**勞斯矩陣(帶參數(shù)的特征多項式)并判斷對應(yīng)系統(tǒng)穩(wěn)定性** clear;
syms k z q %定義變量k z q
p=input('請輸入特征多項式的參數(shù)=');%提示輸入?yún)?shù)
%計算從第三行開始勞斯矩陣內(nèi)容
n=leng th(p);
for i=0:ceil(n/2)-l a(l,i+l)=p(2 *i+l);
if 2* (i+l)>n a(2,i+l)=0; break
end
a(2,i+l)
11、=p(2 *( i+1));
end
for k=3:n
%得到P的長度
%將多項式進(jìn)行勞斯矩陣排序
for j=l:ceil((n-k+l)/2)
%判斷是否有共軛虛根
if a(k—l,l)==0 disp('系統(tǒng)有共軛虛根') breaksign=l;
break
end
a(k,j) = (a(k—l,l) *a(k-2,j+l)-a(k-l,j+l) *a(k-2,l))/a(kT,l);
end
end
disp('勞斯矩陣') disp(double(a))
%輸出對應(yīng)的勞斯矩陣
for i=3:k
%用勞斯判據(jù)判斷系統(tǒng)的穩(wěn)定性
if a(i—1,1)<=0
q=1;
%判斷第一列元素是否不大于0
break
end
end
if q==1
disp('系統(tǒng)不穩(wěn)定')
else
disp('系統(tǒng)穩(wěn)定')
end
%輸出系統(tǒng)穩(wěn)定性判定結(jié)果