跳轉到內容

Julia 針對 MATLAB 使用者/索引/工具箱/控制系統工具箱

來自華夏公益教科書

將 MATLAB 控制系統工具箱 的功能對映到 Julia 中的等效功能。

相關 Julia 包



動態系統模型

[編輯 | 編輯原始碼]

線性系統表示

[編輯 | 編輯原始碼]

基本模型

[編輯 | 編輯原始碼]
  • tf 建立傳遞函式模型,轉換為傳遞函式模型
  • zpk 建立零極點增益模型;轉換為零極點增益模型
  • ss 建立狀態空間模型,轉換為狀態空間模型
  • frd 建立頻率響應資料模型,轉換為頻率響應資料模型
  • filt 在 DSP 格式中指定離散傳遞函式
  • dss 建立描述符狀態空間模型
  • pid 以並聯形式建立 PID 控制器,轉換為並聯形式的 PID 控制器
  • pidstd 以標準形式建立 PID 控制器,轉換為標準形式的 PID 控制器
  • pid2 以並聯形式建立 2-DOF PID 控制器,轉換為並聯形式的 2-DOF PID 控制器
  • pidstd2 以標準形式建立 2-DOF PID 控制器,轉換為標準形式的 2-DOF PID 控制器
  • rss 生成隨機連續測試模型
  • drss 生成隨機離散測試模型

可調模型

[編輯 | 編輯原始碼]

具有時延的模型

[edit | edit source]
  • pade 對具有時延的模型進行 Padé 近似
  • absorbDelay 用 z = 0 處的極點或相移替換時延
  • thiran 基於 Thiran 近似生成分數階延遲濾波器
  • hasdelay 對於具有時延的線性模型為真
  • hasInternalDelay 判斷模型是否具有內部延遲
  • totaldelay 獲取 LTI 模型的總的 I/O 延遲
  • delayss 建立具有延遲輸入、輸出和狀態的狀態空間模型
  • setDelayModel 構建具有內部延遲的狀態空間模型
  • getDelayModel 獲取內部延遲的狀態空間表示

模型屬性

[edit | edit source]
  • get 訪問模型屬性值
  • set 設定或修改模型屬性
  • tfdata 訪問傳遞函式資料
  • zpkdata 訪問零極點增益資料
  • ssdata 訪問狀態空間模型資料
  • frdata 訪問頻率響應資料 (FRD) 物件的資料
  • piddata 訪問並聯形式 PID 控制器係數
  • pidstddata 訪問標準形式 PID 控制器係數
  • piddata2 訪問並聯形式 2-DOF PID 控制器係數
  • pidstddata2 訪問標準形式 2-DOF PID 控制器係數
  • dssdata 提取描述狀態空間資料
  • chgFreqUnit 更改頻率響應資料模型的頻率單位
  • chgTimeUnit 更改動態系統的時單位
  • isct 判斷動態系統模型是否為連續時間
  • isdt 判斷動態系統模型是否為離散時間
  • isempty 判斷動態系統模型是否為空
  • isfinite 判斷模型是否具有有限係數
  • isParametric 判斷模型是否具有可調引數
  • isproper 判斷動態系統模型是否為真
  • isreal 判斷模型是否具有實值係數
  • issiso 判斷動態系統模型是否為單輸入單輸出(SISO)
  • isstable 判斷系統是否穩定
  • isstatic 判斷模型是靜態還是動態
  • order 查詢模型階數
  • ndims 查詢動態系統模型或模型陣列的維數
  • size 查詢輸入輸出模型的輸出/輸入/陣列維度以及FRD模型的頻率數量

模型陣列

[edit | edit source]
  • stack 透過沿陣列維度堆疊模型或模型陣列來構建模型陣列
  • nmodels 模型陣列中的模型數量
  • permute 重新排列模型陣列中的陣列維度
  • reshape 改變模型陣列的形狀
  • repsys 複製和平鋪模型
  • voidModel 標記模型陣列中缺失或無關的模型
  • sampleBlock 對廣義模型中的控制設計塊進行取樣
  • rsampleBlock 對廣義模型中的控制設計塊進行隨機取樣

模型互聯

[edit | edit source]
  • feedback 兩個模型的反饋連線
  • connect 動態系統的框圖互聯
  • sumblk 用於基於名稱互聯的求和結點
  • series 兩個模型的串聯連線
  • parallel 兩個模型的並聯連線
  • append 透過追加模型的輸入和輸出,將模型分組
  • blkdiag 模型的塊對角線級聯
  • imp2exp 將隱式線性關係轉換為顯式輸入輸出關係
  • inv 反轉模型
  • lft 兩個模型的廣義反饋互聯(Redheffer 星積)
  • connectOptions connect 命令的選項

模型轉換

[edit | edit source]

模型型別轉換

[edit | edit source]
  • tf 建立傳遞函式模型,轉換為傳遞函式模型
  • zpk 建立零極點增益模型;轉換為零極點增益模型
  • ss 建立狀態空間模型,轉換為狀態空間模型
  • frd 建立頻率響應資料模型,轉換為頻率響應資料模型
  • pid 以並聯形式建立 PID 控制器,轉換為並聯形式的 PID 控制器
  • pidstd 以標準形式建立 PID 控制器,轉換為標準形式的 PID 控制器
  • pid2 以並聯形式建立 2-DOF PID 控制器,轉換為並聯形式的 2-DOF PID 控制器
  • pidstd2 以標準形式建立 2-DOF PID 控制器,轉換為標準形式的 2-DOF PID 控制器
  • make1DOF 將 2-DOF PID 控制器轉換為 1-DOF 控制器
  • make2DOF 將 1-DOF PID 控制器轉換為 2-DOF 控制器
  • getComponents 從 2-DOF PID 控制器中提取 SISO 控制組件

連續-離散轉換

[edit | edit source]
  • c2d 將模型從連續時間轉換為離散時間
  • d2c 將模型從離散時間轉換為連續時間
  • d2d 對離散時間模型重新取樣
  • upsample 對離散時間模型進行上取樣
  • c2dOptions 為連續時間到離散時間的轉換建立選項集
  • d2cOptions 為離散時間到連續時間的轉換建立選項集
  • d2dOptions 為離散時間重新取樣建立選項集

狀態座標變換

[edit | edit source]
  • balreal 基於格拉姆矩陣的輸入/輸出平衡狀態空間實現
  • canon 狀態空間規範實現
  • prescale 狀態空間模型的最佳縮放
  • ss2ss 狀態空間模型的狀態座標變換
  • xperm 重新排列狀態空間模型中的狀態
[edit | edit source]

模型降階

[edit | edit source]
  • balred 模型降階
  • balredOptions 建立模型降階選項集
  • balreal 基於格拉姆矩陣的輸入/輸出平衡狀態空間實現
  • minreal 最小實現或零極點抵消
  • sminreal 結構性零極點抵消
  • modred 從狀態空間模型中消除狀態
  • freqsep 慢速-快速分解
  • freqsepOptions 慢速-快速分解選項
  • hsvd 動態系統的漢克爾奇異值
  • hsvplot 繪製漢克爾奇異值並返回繪圖控制代碼
  • hsvdOptions 建立計算漢克爾奇異值和輸入/輸出平衡的選項集

線性分析

[edit | edit source]

時域和頻域分析

[edit | edit source]
  • step 動態系統的階躍響應圖;階躍響應資料
  • stepinfo 上升時間、穩定時間和其他階躍響應特徵
  • impulse 動態系統的脈衝響應圖;脈衝響應資料
  • initial 狀態空間模型的初始條件響應
  • lsim 模擬動態系統對任意輸入的時域響應
  • lsiminfo 計算線性響應特徵
  • gensig 為 lsim 生成測試輸入訊號
  • covar 由白噪聲驅動的系統的輸出和狀態協方差
  • stepDataOptions step 的選項集
  • bode 頻率響應的波特圖,或幅值和相位資料
  • bodemag LTI 模型的波特幅值響應
  • nyquist 頻率響應的奈奎斯特圖
  • nichols 頻率響應的尼科爾斯圖
  • ngrid 在奈奎斯特圖上疊加尼科爾斯圖
  • sigma 動態系統的奇異值圖
  • freqresp 頻率響應網格
  • evalfr 在給定頻率處評估頻率響應
  • dcgain LTI 系統的低頻(直流)增益
  • bandwidth 頻率響應頻寬
  • getPeakGain 動態系統頻率響應的峰值增益
  • getGainCrossover 指定增益的交叉頻率
  • fnorm FRD 模型的逐點峰值增益
  • norm 線性模型的範數
  • db2mag 將分貝(dB)轉換為幅值
  • mag2db 將幅值轉換為分貝(dB)

穩定性分析

[edit | edit source]
  • pole 計算動態系統的極點
  • zero 單輸入單輸出動態系統的零點和增益
  • damp 自然頻率和阻尼比
  • dsort 按幅值對離散時間極點進行排序
  • esort 按實部對連續時間極點進行排序
  • tzero 線性系統的非變零點
  • pzplot 動態系統模型的零極點圖,帶有繪圖定製選項
  • iopzplot 繪製 I/O 對的零極點圖並返回繪圖控制代碼
  • allmargin 增益裕度、相位裕度、延時裕度和交叉頻率
  • margin 增益裕度、相位裕度和交叉頻率

靈敏度分析

[edit | edit source]
  • sampleBlock 對廣義模型中的控制設計塊進行取樣
  • rsampleBlock 對廣義模型中的控制設計塊進行隨機取樣

無源性和扇區邊界

[edit | edit source]

繪製自定義

[edit | edit source]
  • impulseplot 繪製脈衝響應並返回繪圖控制代碼
  • initialplot 繪製初始條件響應並返回繪圖控制代碼
  • lsimplot 模擬動態系統對任意輸入的響應並返回繪圖控制代碼
  • stepplot 繪製階躍響應並返回繪圖控制代碼
  • bodeplot 繪製 Bode 頻率響應,並提供其他繪圖自定義選項
  • nicholsplot 繪製 Nichols 頻率響應並返回繪圖控制代碼
  • nyquistplot 奈奎斯特圖,並提供其他繪圖自定義選項
  • sigmaplot 繪製頻率響應的奇異值並返回繪圖控制代碼
  • bodeoptions 建立 Bode 圖選項列表
  • hsvoptions hsvplot 的繪圖選項
  • nicholsoptions 建立 Nichols 圖選項列表
  • nyquistoptions 奈奎斯特圖選項列表
  • pzoptions 創建極點/零點圖選項列表
  • sigmaoptions 建立奇異值圖選項列表
  • timeoptions 建立時間圖選項列表
  • setoptions 設定響應圖的繪圖選項
  • getoptions 返回 @PlotOptions 控制代碼或繪圖選項屬性
  • ctrlpref 設定控制系統工具箱首選項
  • updateSystem 更新響應圖中的動態系統資料

控制系統設計和整定

[edit | edit source]

PID 控制器整定

[edit | edit source]
  • pidTuner 開啟 PID Tuner 以進行 PID 整定
  • pidtune 用於線性裝置模型的 PID 整定演算法
  • pidtuneOptions 定義 pidtune 命令的選項

經典控制設計

[edit | edit source]
  • rlocus 動態系統的根軌跡圖
  • rlocusplot 繪製根軌跡並返回繪圖控制代碼
  • sisoinit 在啟動時配置控制系統設計器

狀態空間控制設計和估計

[edit | edit source]

狀態空間控制設計

[edit | edit source]
  • lqr 線性二次型調節器 (LQR) 設計
  • lqry 形成具有輸出權重的線性二次型 (LQ) 狀態反饋調節器
  • lqi 線性二次型積分控制
  • dlqr 離散時間狀態空間系統的線性二次型 (LQ) 狀態反饋調節器
  • lqrd 為連續系統設計離散線性二次型 (LQ) 調節器
  • lqg 線性二次型高斯 (LQG) 設計
  • lqgreg 形成線性二次型高斯 (LQG) 調節器
  • lqgtrack 形成線性二次型高斯 (LQG) 伺服控制器
  • augstate 將狀態向量追加到輸出向量
  • norm 線性模型的範數
  • estim 給定估計器增益,形成狀態估計器
  • place 極點配置設計
  • reg 給定狀態反饋和估計器增益,形成調節器

狀態估計

[edit | edit source]
  • kalman 卡爾曼濾波器設計,卡爾曼估計器
  • kalmd 為連續系統設計離散卡爾曼估計器
  • estim 給定估計器增益,形成狀態估計器
  • extendedKalmanFilter 建立用於線上狀態估計的擴充套件卡爾曼濾波器物件
  • unscentedKalmanFilter 建立用於線上狀態估計的無跡卡爾曼濾波器物件
  • particleFilter 用於線上狀態估計的粒子濾波器物件
  • correct 使用擴充套件或無跡卡爾曼濾波器,或粒子濾波器和測量值來校正狀態和狀態估計誤差協方差
  • predict 使用擴充套件或無跡卡爾曼濾波器,或粒子濾波器來預測下一時間步的狀態和狀態估計誤差協方差
  • initialize 初始化粒子濾波器的狀態
  • clone 複製線上狀態估計物件

多回路,多目標調整

[edit | edit source]

程式設計調整

[edit | edit source]
[edit | edit source]
  • slTuner 用於 Simulink 模型的控制系統調整的介面
  • slTunerOptions 設定 slTuner 介面選項
  • addBlock 將塊新增到 slTuner 介面的調整塊列表中
  • addOpening 將訊號新增到 slLinearizer 或 slTuner 介面的開啟列表中
  • addPoint 將訊號新增到 slLinearizer 或 slTuner 介面的分析點列表中
  • refresh 將 slLinearizer 或 slTuner 介面與當前模型狀態同步
  • removeAllOpenings 從 slLinearizer 或 slTuner 介面中移除所有開啟
  • removeAllPoints 從 slLinearizer 或 slTuner 介面中移除所有點
  • removeBlock 從 slTuner 介面的調整塊列表中移除塊
  • removeOpening 從 slLinearizer 或 slTuner 介面中移除永久迴圈開啟
  • removePoint 從 slLinearizer 或 slTuner 介面的分析點列表中移除點
  • setBlockParam 設定 slTuner 介面中調整塊的引數化
  • setBlockRateConversion 設定 slTuner 介面中調整塊的速率轉換設定
  • setBlockValue 設定 slTuner 介面中調整塊引數化的值
  • writeBlockValue 更新 Simulink 模型中的塊值
  • writeLookupTableData 更新調整的查詢表的一部分
  • getBlockParam 獲取 slTuner 介面中調整塊的引數化
  • getBlockRateConversion 獲取 slTuner 介面中調整塊的速率轉換設定
  • getBlockValue 獲取 slTuner 介面中調整塊引數化的當前值
  • getOpenings 獲取 slLinearizer 或 slTuner 介面的開啟列表
  • getPoints 獲取 slLinearizer 或 slTuner 介面的分析點列表
  • showTunable 顯示 slTuner 介面中可調整塊的引數化值

用於調整 MATLAB 模型的設定

[edit | edit source]
  • tf 建立傳遞函式模型,轉換為傳遞函式模型
  • zpk 建立零極點增益模型;轉換為零極點增益模型
  • ss 建立狀態空間模型,轉換為狀態空間模型
  • tunableGain 可調靜態增益塊
  • tunableTF 可調傳遞函式,具有固定數量的極點和零點
  • tunablePID 可調 PID 控制器
  • tunablePID2 可調雙自由度 PID 控制器
  • tunableSS 可調固定階狀態空間模型
  • realp 實數可調引數
  • AnalysisPoint 線性分析的關注點
  • connect 動態系統的框圖互聯
  • feedback 兩個模型的反饋連線

調整目標

[edit | edit source]
  • TuningGoal.StepTracking 控制系統調整的階躍響應要求
  • TuningGoal.StepRejection 控制系統調整的階躍干擾抑制要求
  • TuningGoal.Transient 控制系統調整的瞬態匹配要求
  • TuningGoal.LQG 控制系統調整的線性二次高斯 (LQG) 目標
  • TuningGoal.Gain 控制系統調整的增益約束
  • TuningGoal.Variance 控制系統調整的噪聲放大約束
  • TuningGoal.Tracking 控制系統調整的跟蹤要求
  • TuningGoal.Overshoot 控制系統調整的超調約束
  • TuningGoal.Rejection 控制系統調整的干擾抑制要求
  • TuningGoal.Sensitivity 控制系統調整的靈敏度要求
  • TuningGoal.WeightedGain 控制系統調整的頻率加權增益約束
  • TuningGoal.WeightedVariance 控制系統調整的頻率加權 H2 範數約束
  • TuningGoal.MinLoopGain 控制系統調整的最小環路增益約束
  • TuningGoal.MaxLoopGain 控制系統調整的最大環路增益約束
  • TuningGoal.LoopShape 控制系統調整的目標環路形狀
  • TuningGoal.Margins 控制系統調整的穩定裕度要求
  • TuningGoal.Passivity 控制系統調整的無源性約束
  • TuningGoal.ConicSector 控制系統調整的扇區邊界
  • TuningGoal.WeightedPassivity 頻率加權無源性約束
  • TuningGoal.Poles 控制系統動力學約束
  • TuningGoal.ControllerPoles 控制系統調整的控制器動力學約束

調整、分析和驗證

[edit | edit source]
  • systune (slTuner) 使用 slTuner 介面調整 Simulink 中的控制系統引數
  • systuneOptions 設定 systune 的選項
  • getIOTransfer (slTuner) 使用 slLinearizer 或 slTuner 介面獲取指定 I/O 集的傳遞函式
  • getLoopTransfer (slTuner) 使用 slLinearizer 或 slTuner 介面獲取指定點的開環傳遞函式
  • getSensitivity (slTuner) 使用 slLinearizer 或 slTuner 介面獲取指定點的靈敏度函式
  • getCompSensitivity (slTuner) 使用 slLinearizer 或 slTuner 介面獲取指定點的互補靈敏度函式
  • writeBlockValue 更新 Simulink 模型中的塊值
  • systune 調整在 MATLAB 中建模的固定結構控制系統
  • systuneOptions 設定 systune 的選項
  • getIOTransfer 來自控制系統廣義模型的閉環傳遞函式
  • getLoopTransfer 控制系統的開環傳遞函式
  • getSensitivity 來自控制系統廣義模型的靈敏度函式
  • getCompSensitivity 從控制系統廣義模型獲取互補靈敏度函式
  • viewGoal 檢視調整目標;根據調整目標驗證設計
  • evalGoal 評估調整後的控制系統的調整目標

環路整形設計

[edit | edit source]
  • slTuner 用於 Simulink 模型的控制系統調整的介面
  • looptune 使用 slTuner 介面調整 Simulink 中的 MIMO 反饋環路
  • looptuneOptions 設定 looptune 的選項
  • loopview 使用 slTuner 介面以圖形方式分析控制系統調整結果
  • looptuneSetup 使用 slTuner 介面為 looptune 構造調整設定,以調整 systune 的設定
  • looptune 調整固定結構反饋環路
  • looptuneOptions 設定 looptune 的選項
  • loopview 以圖形方式分析 MIMO 反饋環路
  • looptuneSetup 將 looptune 的調整設定轉換為 systune 的調整設定
  • viewGoal 檢視調整目標;根據調整目標驗證設計
  • evalGoal 評估調整後的控制系統的調整目標

增益排程

[edit | edit source]
  • tunableSurface 為增益排程建立可調整的增益曲面
  • polyBasis 可調整增益曲面的多項式基函式
  • fourierBasis 可調整增益曲面的傅立葉基函式
  • ndBasis 可調整增益曲面的基函式
  • viewSurf 將增益曲面視覺化為排程變數的函式
  • evalSurf 在特定設計點評估增益曲面
  • getData 獲取可調整曲面係數的當前值
  • setData 設定可調曲面係數的值
  • codegen 為可調增益曲面生成 MATLAB 程式碼
  • systune 調整在 MATLAB 中建模的固定結構控制系統
  • slTuner 用於 Simulink 模型的控制系統調整的介面
  • systune (slTuner) 使用 slTuner 介面調整 Simulink 中的控制系統引數
  • voidModel 標記模型陣列中缺失或無關的模型
  • varyingGoal 增益排程控制器的可變調整目標
  • getGoal 在指定設計點評估可變調整目標

矩陣運算

[edit | edit source]
  • lyap 連續李雅普諾夫方程解
  • lyapchol 連續時間李雅普諾夫方程的平方根求解器
  • dlyap 求解離散時間李雅普諾夫方程
  • dlyapchol 離散時間李雅普諾夫方程的平方根求解器
  • care 連續時間代數Riccati方程解
  • dare 求解離散時間代數Riccati方程 (DARE)
  • gcare 連續時間代數Riccati方程的廣義求解器
  • gdare 離散時間代數Riccati方程的廣義求解器
  • ctrb 可控性矩陣
  • obsv 可觀測性矩陣
  • ctrbf 計算可控性階梯形式
  • obsvf 計算可觀測性階梯形式
  • gram 可控性和可觀測性格拉姆矩陣
  • gramOptions gram 命令選項
  • bdschur 塊對角舒爾分解
  • norm 線性模型的範數
華夏公益教科書