模糊控制比較常用的兩種演算法;普通模糊控制演算法,模糊PID控制演算法
普通模糊控制演算法:建立在人工經驗知識的基礎上,需要明確控制要求,並結合人工控制經驗,然後才可以做出實用的模糊控制演算法。雖然有很多樣板經驗表可以使用,但還需要根據實際控制物件做些修改,才可使用。
模糊PID控制演算法:對人工經驗要求的比較少,但需要結合PID控制經驗和現場試驗資料,才能做出好的控制演算法。
程式設計原理:只講普通模糊控制演算法,模糊PID自己去找資料,模糊PID太容易實現,故不再贅述。
下面一至六步,我只說了一些計算過程,它們可以使用matlab完成,實現起來比較簡單,只把matlab計算得到的表格放到模糊控制程式裡即可,也就是說藉助matlab編寫模糊控制演算法只需要進行第一、二、七步的操作。
第一步:收集模糊經驗,分條列出,可以暫時使用樣板經驗表(經驗表和分條列出的經驗是相通的)。
第二步:確定各模糊集合隸屬度函式
第三步:取一組輸入輸出資料組合,它們中的各元素,按照一條模糊規則中模糊變數組合和各自隸屬度函式分別模糊化,然後各變數透過模糊運算得到一個值,這個值就是當前組合對當前規則的匹配度。同樣,算出這個資料組合對其餘各條模糊規則的匹配程度,也就是匹配值。最後對每個匹配值,進行模糊或運算,得到的資料u
第四步:分別取各輸入輸出資料組合進行第三步操作,然後得到一個n維表(n為輸入,輸出變數個數),每個單元對應一個數據組合,單元中的取值對應資料組合的u值(u的演算法參考第三步)
第五步:任取一組輸入組合,遍歷輸出值,根據第四步的表格得到對應的一組u值,根據下面公式計算輸出:y=/其中yi是第i個可能的輸出量取值,ui是與yi對應的u值。
第六步:對每一組可能的輸入組合,得到各自的輸出值y,然後把他們列出一個表,大功即成。這個表就是輸入與輸出的對映表。前幾步的目的就是得到這個表,我們稱之為模糊控制查詢表。
第七步:編寫模糊控制查詢表的查詢程式,亦可以看成模糊控制演算法計算程式,其實就是一個查表程式。到此模糊控制演算法編寫完成。
模糊控制過程中,首先採集資料,離散化,查表得到輸出值,輸出查表所得的輸出值,模糊控制器工作完成。
其實對複雜控制系統,模糊控制的難點在於模糊經驗的收集與修正。
模糊控制比較常用的兩種演算法;普通模糊控制演算法,模糊PID控制演算法
普通模糊控制演算法:建立在人工經驗知識的基礎上,需要明確控制要求,並結合人工控制經驗,然後才可以做出實用的模糊控制演算法。雖然有很多樣板經驗表可以使用,但還需要根據實際控制物件做些修改,才可使用。
模糊PID控制演算法:對人工經驗要求的比較少,但需要結合PID控制經驗和現場試驗資料,才能做出好的控制演算法。
程式設計原理:只講普通模糊控制演算法,模糊PID自己去找資料,模糊PID太容易實現,故不再贅述。
下面一至六步,我只說了一些計算過程,它們可以使用matlab完成,實現起來比較簡單,只把matlab計算得到的表格放到模糊控制程式裡即可,也就是說藉助matlab編寫模糊控制演算法只需要進行第一、二、七步的操作。
第一步:收集模糊經驗,分條列出,可以暫時使用樣板經驗表(經驗表和分條列出的經驗是相通的)。
第二步:確定各模糊集合隸屬度函式
第三步:取一組輸入輸出資料組合,它們中的各元素,按照一條模糊規則中模糊變數組合和各自隸屬度函式分別模糊化,然後各變數透過模糊運算得到一個值,這個值就是當前組合對當前規則的匹配度。同樣,算出這個資料組合對其餘各條模糊規則的匹配程度,也就是匹配值。最後對每個匹配值,進行模糊或運算,得到的資料u
第四步:分別取各輸入輸出資料組合進行第三步操作,然後得到一個n維表(n為輸入,輸出變數個數),每個單元對應一個數據組合,單元中的取值對應資料組合的u值(u的演算法參考第三步)
第五步:任取一組輸入組合,遍歷輸出值,根據第四步的表格得到對應的一組u值,根據下面公式計算輸出:y=/其中yi是第i個可能的輸出量取值,ui是與yi對應的u值。
第六步:對每一組可能的輸入組合,得到各自的輸出值y,然後把他們列出一個表,大功即成。這個表就是輸入與輸出的對映表。前幾步的目的就是得到這個表,我們稱之為模糊控制查詢表。
第七步:編寫模糊控制查詢表的查詢程式,亦可以看成模糊控制演算法計算程式,其實就是一個查表程式。到此模糊控制演算法編寫完成。
模糊控制過程中,首先採集資料,離散化,查表得到輸出值,輸出查表所得的輸出值,模糊控制器工作完成。
其實對複雜控制系統,模糊控制的難點在於模糊經驗的收集與修正。