Convert transfer function to state-space models
古いコメントを表示
I'm trying to convert a transfer function to state space model. In order to avoid the control toolbox functions since I don't have it's license.
The transfer function that I'm using is quite simple. Is the model for a heatsink temperature.
For this transfer function I have the next values for A,B,C and D.
I've tried to compare the output from the lsim() function and the equations from above but the output differs

Here's the code that I've used
P = rand(1,10)*1000;
t = 0:1:length(P)-1;
A = -400;
B = 0.5;
C = 0.6658;
D = 0;
%%%%%%%%%%%%%%%%%%%%%%%%%
%%% State space %%%
%%%%%%%%%%%%%%%%%%%%%%%%%
state_space_sys = ss(A,B,C,D);
state_space = lsim(state_space_sys,P,t);
figure
plot(t,state_space)
grid on,grid minor, title('State space')
%%%%%%%%%%%%%%%%%%%%%%%%%
%%% My function %%%
%%%%%%%%%%%%%%%%%%%%%%%%%
x(1:length(P)) = 0;
y(1:length(P)) = 0;
u = P;
for k = 1:length(u)
x(k+1) = A*x(k) + B*u(k);
y(k) = C*x(k) + D*u(k);
end
figure
plot(t,y)
grid on,grid minor, title('My function')
Is there any mistakes on the approach?
It should be quite simple, but I can't manage to find the solution.
7 件のコメント
Star Strider
2019 年 10 月 11 日
Note that:
becomes:
in the state space realisation.
Diego Garcia
2019 年 10 月 11 日
編集済み: Diego Garcia
2019 年 10 月 11 日
Star Strider
2019 年 10 月 11 日
No.
The state space equaiton you wrote would be integrated into:

if I integrated it correctly, or here:

that you can easily simplify.
Diego Garcia
2019 年 10 月 11 日
What is Rth? What does th stand for in Rth?
Maybe you should use:
state_space_sys = ss(A,B,C,D,[]);
command to have your system as a discrete model and then compare, i got similar plots in that case.
Walter Roberson
2019 年 10 月 16 日
編集済み: Walter Roberson
2019 年 10 月 16 日
Is there a reason not to use tf() and ss() ? That is, if you pass a tf into ss() then it will be converted.
Diego Garcia
2019 年 10 月 17 日
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Time and Frequency Domain Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!