matlab and操作,系统建模 | Control Tutorials for Matlab and Simulink
介紹:系統(tǒng)建模
設(shè)計控制體統(tǒng)的第一步是通過自然規(guī)律或者實驗數(shù)據(jù)建立適當(dāng)?shù)臄?shù)學(xué)模型。我們會引進(jìn)狀態(tài)空間和傳遞函數(shù)來代表系統(tǒng)。然后我們回顧一些基本的機械或者電力系統(tǒng)模型,并且會在MATLAB中展示怎么近一步分析。
本教程中使用到的關(guān)鍵Matlab命令是:tf,ss。
目錄
動態(tài)系統(tǒng)
按確定性規(guī)律隨時間演化的系統(tǒng),稱為動態(tài)系統(tǒng)。對于很多物理模型來說,這種規(guī)律可以表示為一組一價微分方程:(1)
在上面的方程中,
是狀態(tài)向量,由n個狀態(tài)變量組成。例如在一個簡易的質(zhì)量塊-彈簧-阻尼系統(tǒng)中,兩個狀態(tài)變量可以是質(zhì)量塊的位置和速度。
是輸入信號向量,表示“外力”作用在系統(tǒng)上,f是狀態(tài)向量對時間求導(dǎo)后的非線性函數(shù)。
任意一時刻的狀態(tài)
可能都被初始狀態(tài)
和
入決定。雖然狀態(tài)變量并不是獨立的,但狀態(tài)變量有最小個數(shù),假設(shè)為n。n與系統(tǒng)的階數(shù)和狀態(tài)空間的維數(shù)相關(guān)。系統(tǒng)的階數(shù)通常與儲能元素的個數(shù)一致。
在Eq.(1)中的關(guān)系是很普遍的可以用來描述很多系統(tǒng),但是,它很難分析。通常有兩種簡化方法。第一,如果函數(shù)f不隨時間變化,i.e.
,然后就可以說是定長系統(tǒng)。這是一種很合理的假設(shè),因為自然規(guī)律不隨時間變化。對于定常系統(tǒng)來說,函數(shù)f的參數(shù)或系數(shù)是固定的。然而控制的輸入
可能與時間相關(guān)。
第二通常的假設(shè)是關(guān)于系統(tǒng)的線性度的。實際上,幾乎每一個物理系統(tǒng)都是非線性的。換句話說,f是關(guān)于狀態(tài)和輸入的很復(fù)雜的函數(shù)。這些非線性產(chǎn)生于很多不同的方面,最常見的一種是,系統(tǒng)的一個元素達(dá)到了系統(tǒng)運轉(zhuǎn)中的物理極限,就是說系統(tǒng)‘飽和’。不過,在一個足夠小的工作范圍內(nèi),大多數(shù)系統(tǒng)的動態(tài)近似線性,即
。
直到電腦出現(xiàn),只有分析線性定常系統(tǒng)是可行的。因此,大部分控制理論是基于上面的兩個假設(shè)。幸運的是,正如我們將看到的,這些結(jié)果已被證明是非常有效的,許多重大的工程挑戰(zhàn)已經(jīng)使用LTI技術(shù)解決。事實上,反饋控制系統(tǒng)的真正的優(yōu)勢是他們可以工作,在不可避免的不確定性建模的情況下。
狀態(tài)空間模型
對于線性定常系統(tǒng),狀態(tài)空間模型的標(biāo)準(zhǔn)如下:(2)
(3)
x為狀態(tài)向量,
為狀態(tài)向量對事件求導(dǎo),u為輸入或者控制向量,y為輸出向量,A為系統(tǒng)矩陣,B為輸入矩陣,C為輸出矩陣。
輸出方程式(3)是必不可少的,因為有些狀態(tài)變量不容易直接觀察或者不感興趣。通過控制器,輸出矩陣C用于指定狀態(tài)變量。D是零矩陣時,也常常沒有直接的前饋控制。
狀態(tài)空間表示法,也被稱為時域表示,可以輕松地處理多輸入多輸出(MIMO)系統(tǒng),具有非零初始條件的系統(tǒng)和非線性系統(tǒng)(通過公式(1))。因此,狀態(tài)空間表示是廣泛應(yīng)用于現(xiàn)代控制理論。
傳遞函數(shù)模型
LTI系統(tǒng)有極其重要的屬性,如果系統(tǒng)的輸入是正弦的,然后輸出將正弦在相同的頻率,但一般具有不同的幅度和相位。這些的幅度和相位差作為頻率的函數(shù)被稱為系統(tǒng)的頻率響應(yīng)。
使用拉普拉斯變換,它可以把一個系統(tǒng)的時域到頻域表示輸出/輸入表示,稱為傳遞函數(shù)。在這樣做時,它也將微分方程化為代數(shù)方程往往是更容易分析。
一個時域函數(shù)的拉普拉斯變換,
,定義如下:(4)
其中參數(shù) 是一個復(fù)雜的頻率變量。在實踐中,你可以直接評估的拉普拉斯變換是非常罕見的。通常都是通過查表發(fā)現(xiàn)你感興趣的函數(shù)變換:拉普拉斯變換表Laplace Transform Table
一個函數(shù)的n階導(dǎo)數(shù)的拉普拉斯變換是特別重要的:(5)
頻域方法通常用來分析線性時不變的單輸入單輸出(SISO)系統(tǒng),例如由一個常系數(shù)微分方程如下:(6)
這個方程的拉普拉斯變換如下:(7)
和
分別是
和
的拉式變換。我們假設(shè)每個初始條件
,
和
為零。傳遞函數(shù)如下:(8)
傳遞函數(shù)的分子和分母可變換成所謂的零極點增益形式:(9)
傳遞函數(shù)的零點是
,是分子多項式的根。傳遞函數(shù)的極點是
,是分母多項式的根。無論是零、極點可能是復(fù)值(有實部和虛部)。系統(tǒng)增益為
。
請注意,我們還可以直接從狀態(tài)空間確定的傳遞函數(shù)表示如下:(10)
機械系統(tǒng)
牛頓定律是分析機械系統(tǒng)的基礎(chǔ)。牛頓第二定律,公式(11),表明作用在物體上的力的總和等于質(zhì)量乘以加速度。牛頓第三定律,指出如果兩體連接,然后他們的經(jīng)驗同樣大小的力作用在相反的方向。(11)
應(yīng)用該方程時,最好是建立一個受力分析圖(FBD)顯示所有施加的力。
例:質(zhì)量塊-彈簧-阻尼系統(tǒng)
這個系統(tǒng)的受力分析圖如下所示。彈力與質(zhì)量塊的位移x成正比,粘性阻尼力與質(zhì)量的速度
成正比。因為這兩個力阻礙彈簧的運動,因為他們的受力方向為X的負(fù)方向。注意到,當(dāng)
時,彈簧未拉伸。
現(xiàn)在我們進(jìn)行總結(jié)和運用牛頓第二定律力量,方程(11)。在這種情況下,沒有力作用在Y 軸方向;然而,在X方向我們可得:(12)
這個方程,稱為控制方程,完全刻畫系統(tǒng)的動態(tài)狀態(tài)。后來,我們將看到如何使用它計算系統(tǒng)的響應(yīng),在任何外部輸入
的情況下,以及分析系統(tǒng)的性能,如穩(wěn)定性和性能。
確定的質(zhì)量-彈簧-阻尼器系統(tǒng)的狀態(tài)空間表示,我們必須降低二階方程為一組兩個一階微分方程。為此,我們選擇的位置和速度作為狀態(tài)變量。(13)
注意,這些狀態(tài)變量分別對應(yīng)于在彈簧的勢能和質(zhì)量塊的動能。經(jīng)常選擇狀態(tài)變量時,它有助于考慮系統(tǒng)中德獨立的儲能元件。
在這種情況下,狀態(tài)方程如下:(14)
如果我們在控制質(zhì)量塊的位置感興趣,然后輸出方程如下:(15)
在MATLAB中輸入狀態(tài)空間模型
現(xiàn)在我們將告訴你如何通過m-file在MATLAB中輸入狀態(tài)空間方程。讓我們?yōu)槊總€變量分配數(shù)值。
創(chuàng)建一個新文件,輸入以下命令。
假設(shè)初始條件為零時拉式變換為:(16)
傳遞函數(shù)為(17)
在MATLAB中輸入傳遞函數(shù)模型
現(xiàn)在我們將告訴你如何通過m-file在MATLAB中輸入傳遞函數(shù)。輸入如下命令在你定義過系統(tǒng)參數(shù)的m文件中。
請注意,我們所使用的符號變量s來定義我們的傳遞函數(shù)模型。大多數(shù)情況下,我們建議使用此方法;然而,在某些情況下,例如在舊版本的MATLAB 或者要連接Simulink時,你可能需要直接使用的分子和分母多項式的系數(shù)定義的傳遞函數(shù)模型。在這些情況下,使用下面的命令:
電氣系統(tǒng)
像牛頓定律在機械系統(tǒng),基爾霍夫電路法是電力系統(tǒng)分析的基本工具。基爾霍夫電流定律(KCL)狀態(tài)的電流進(jìn)入和退出一個電路節(jié)點的總和必須等于。基爾霍夫電壓定律(KVL)指出,電壓差在電路中的任何閉環(huán)的總和是零。應(yīng)用KVL時,源電壓通常為陽性和負(fù)載電壓作為負(fù)。
例:RLC電路
現(xiàn)在我們考慮一個簡單的三個電子元件的串聯(lián)組合:一個電阻,電感,和一個電容器,被稱為一個RLC電路。
由于該電路是一個單環(huán),每個節(jié)點只具有一個輸入和輸出;因此,由KCL知整個電路中的電流相同。現(xiàn)在應(yīng)用KVL,我們得到以下方程。(18)
我們注意到,方程為RLC電路對質(zhì)量-彈簧-阻尼器系統(tǒng)類似的形式。特別是,他們都是二階系統(tǒng),電荷(積分電流)對應(yīng)的位移,感應(yīng)系數(shù)對應(yīng)質(zhì)量,電阻對應(yīng)粘性阻尼,電容對應(yīng)彈簧剛度。在理解的動力系統(tǒng)時,這些類比和像他們這樣的類比會成為非常有用的概念。
建立狀態(tài)空間時,通過選擇電荷和電流作為狀態(tài)變量。(19)
(20)
狀態(tài)方程為:(21)
選擇電流作為輸出:(22)
傳遞函數(shù)可以求得通過做拉式變化:(23)
(24)
RLC的狀態(tài)空間和傳遞函數(shù)模型可以寫入matlab,使用與討論了的質(zhì)量-彈簧-阻尼器系統(tǒng)的相同方法。
系統(tǒng)辨識
在本節(jié)中,我們已經(jīng)看到了如何使用基本的物理原理建立模型系統(tǒng);然而,這往往是不可能的因為系統(tǒng)的參數(shù)是不確定的,或基本過程是根本不知道。在這些情況下,我們必須依靠實驗測量和統(tǒng)計技術(shù)來開發(fā)一個系統(tǒng)模型,這一過程稱為系統(tǒng)辨識。
系統(tǒng)變換
在MATLAB的大部分操作對于對傳遞函數(shù)模型,狀態(tài)空間模型,或零極點增益形式都可以很好的運行。此外,如果有需要的話,三種形式的轉(zhuǎn)換是很簡單的。如果你需要學(xué)習(xí)如何從一種表示形式轉(zhuǎn)換為其他,詳見系統(tǒng)轉(zhuǎn)換介紹頁Introduction: System Conversions。
總結(jié)
以上是生活随笔為你收集整理的matlab and操作,系统建模 | Control Tutorials for Matlab and Simulink的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: php输出tab,设置Tab按钮列表 ·
- 下一篇: php fopen 图片下载,php c
