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