私が持っている状態空間行列から伝達関数を生成しようとしています。問題は、行列に数値ではなく変数があるため、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)
ここで、ファイは転送マトリックスです。次に、
H = C * Phi * B + D
H が結果になるはずです。
ただし、MATLAB は 7 行 7 列の行列を処理できず、最終的に結果が切り捨てられます。
必要な伝達関数を達成するためのより良い方法はありますか?