在 Simulink 中使用 FIS
FIS 設計好後,可以放進 Simulink 模型當控制器(老師錄製的操作示範):
▶ 在 Colab 開啟原課程的 MATLAB 程式已改寫成 Python 筆記本(第 4 節:在模擬迴圈中呼叫 evalfis),可以直接在瀏覽器執行、修改參數。⬇ 下載 Fuzzy_control.ipynb
步驟 Steps
- 在命令視窗把 FIS 讀進工作區,例如
fismatrix = readfis('tank');(或在 FIS Editor 用 File → Export → To Workspace)。 - 從 Simulink 的 Fuzzy Logic Toolbox 方塊庫(指令
fuzblock)拖出 Fuzzy Logic Controller 方塊。 - 雙擊方塊,把參數設成工作區中 FIS 變數的名稱。附檔 fis2sim.mdl 的方塊參數就是
FISMatrix。 - 方塊的輸入是一個向量(各輸入依序以 Mux 合併),輸出是 FIS 的輸出;接上受控體模型即可模擬。
附檔 tank.fis 與 sltank.mdl 是水槽液位控制的完整例子(tank.fis 的輸入為 level 與 rate、輸出為 valve),詳見水位控制範例。(步驟說明為補充)