calculate output(y) from a state space model

9 ビュー (過去 30 日間)
Rashmil Dahanayake
Rashmil Dahanayake 2013 年 12 月 30 日
コメント済み: Rashmil Dahanayake 2013 年 12 月 31 日
I have defined a first order system in state space. How can I calculate Y matrix, if X matrix known
X'=Ax+Bu; Y=Cx;
I attempted to convert the system to a transfer function using tf command. Then can calculate output by y= tf * u The output matrix appears to be in tf data type. I would like to have y in the same data type as x. (full m file attached, following code is an extract of the state space portion)
%Filter Parameters
Lf= 8e-3; % Inductance for output filter
Cf= 400e-6; % Capacitance for output filter
% state space equations for LC filter
A=[zeros(3,3) eye(3)/(3*Cf) -eye(3)/(3*Cf); -eye(3)/Lf zeros(3,3) zeros(3,3);
eye(3,3)/Lload zeros(3,3) -eye(3)*Rload/Lload]; % systemmatrix
B=[zeros(3,3); eye(3)/Lf; zeros(3,3)]; % coefficient for thecontrol variable u
C=eye(9); % coefficient for the output y
D=[zeros(9,3)]; % coefficient for the output y
Ks = 1/3*[-1 0 1; 1 -1 0; 0 1 -1]; % Conversion matrix to transform [iiAB iiBC iiCA] to [iiA iiB iiC]
%Transfer function for inverter output stage
sys= ss(A,B,C,D);
H=tf(sys);
% calculating filtered output
Y=H(1,1) * V_AB;

採用された回答

Honglei Chen
Honglei Chen 2013 年 12 月 30 日
Once you get the model, sys, you can use lsim to simulate the system behavior. You can find details here
HTH
  1 件のコメント
Rashmil Dahanayake
Rashmil Dahanayake 2013 年 12 月 31 日
Thanks. [y t]=lsim(sys,u,t) command worked well.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDigital Filter Analysis についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by