我想從狀態空間矩陣生成一個傳遞函數。 問題是矩陣有變量而不是數值,所以我必須在Matlab中使用符號變量。MATLAB符號狀態空間矩陣太大
於是我開始:
A =
[ -a0, 0, 0, 0, 0, 0, a1]
[ 0, -a2, 0, 0, 0, 0, a3]
[ 0, 0, -a4, 0, 0, 0, a5]
[ 0, 0, 0, -a6, 0, 0, a7]
[ 0, 0, 0, 0, -a8, 0, a9]
[ 0, 0, 0, 0, 0, -a10, a11]
[ a12, a13, a14, a15, a16, a17, -a18]
B =
[ b0, b1]
[ 0, b2]
[ 0, b3]
[ 0, b4]
[ 0, b5]
[ 0, b6]
[ 0, 0]
C =
[ 0, 0, 0, 0, 0, 0, 1]
D = 0
然後我發現了一個方法,在網上使用
Phi=inv(s*eye(7)-A)
其中Phi是轉移matirx。然後使用
H = C * Phi * B + D
H應該是結果。
但是,MATLAB不能處理7乘7的矩陣,並最終截斷結果。
有沒有更好的方法可以實現我需要的傳遞函數?
看起來手動操作更容易。你是否嘗試過簡單地計算出你在那裏的公式? – Phonon
是的。不是。我手工嘗試了它,但它變得非常快速。 – CMacDady
「截斷結果」是什麼意思? – silvado