tft每日頭條

 > 生活

 > matlab中如何計算轉置矩陣值

matlab中如何計算轉置矩陣值

生活 更新时间:2025-02-03 07:52:10

首先普及一下LTI各類對象之間可以進行相互轉換,下面列出這些轉換函數的調用格式。

1) sys=tf(sys) %将sys對象轉換為TF模型

2) sys=zpk(sys) %轉換為ZPK模型

3)sys=ss(sys) %轉換為SS模型

4)sys=frd(sys,frequency) %轉換為FRD模型

步入正題。

第一種方法

設系統的矩陣分别為A=[2,0,0;0,4,1;0,0,4];B=[1,0,1]';C=[1,1,0];D=0求取該系統的TF模型,如下圖

matlab中如何計算轉置矩陣值(MATLAB中系數矩陣轉換為傳遞函數三種方法)1

例1

實現程序如下:

A=[2,0,0;0,4,1;0,0,4];B=[1,0,1]';C=[1,1,0];D=0;

[num,den]=ss2tf(A,B,C,D);

G=tf(num,den)

結果如下圖:

matlab中如何計算轉置矩陣值(MATLAB中系數矩陣轉換為傳遞函數三種方法)2

結果

第二種方法

依舊借用例1,實現的程序如下:

A=[2,0,0;0,4,1;0,0,4];B=[1,0,1]';C=[1,1,0];D=0;

gss=ss(A,B,C,D);

gtf=tf(gss);

結果同方法一結果一樣。

第三種方法

最後一種方法利用自控原理線性系統的傳遞函數公式求取,公式為:C*inv(SI-A)*B

此方法可以用來驗證上述兩種方法求取的傳遞函數正确性,對比此方法與上述兩種方法有什麼區别。

實現程序如下:

syms s GG gg;

A=[2,0,0;0,4,1;0,0,4];B=[1,0,1]';C=[1,1,0];D=0;

G=C*inv(s*eye(3)-A)*B

gg=simplify(GG);

結果如下圖;

matlab中如何計算轉置矩陣值(MATLAB中系數矩陣轉換為傳遞函數三種方法)3

結果

經過通分之後,可以發現此結果與前兩種方法一樣。

經過上面的分析,上面三種方法根據各自喜好選擇,各有各的優點。

另外再補充幾個LTI各對象之間的轉換調用格式

[z,p,k]=tf2zp(num,den) %将TF對象的屬性轉換為ZPK對象的屬性

[A,B,C,D]=tf2ss(num,den) %将TF對象的屬性轉換為SS對象屬性

[num,den]=zp2tf(z,p,k) %将ZPK對象的屬性轉換為TF對象的屬性

[A,B,C,D]=zp2ss(z,p,k) %将ZPK對象的屬性轉換為SS對象的屬性

[z,p,k]=ss2zp(A,B,C,D,iu) %将SS對象的屬性轉換為ZPK對象的屬性

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved