Convert transfer function in state-space model question
显示 更早的评论
Hi,
I have a little probleme about how to the LabView transform transfer function in state-space model.
I have the same problem modeling in LabView and Matlab but the results are differents.
In Matlab I have:
s=tf('s');
Kp=1;Ti=2;Td=0;
CC=Kp*(1+1/Ti/s+Td*s);
CC.InputName={'o1'}; CC.OutputName={'i1'};
[A,B,C,D]=ssdata(CC);
CC=ss(A,B,C,D,'statename',{'x0'}, 'inputname',{'ii1'}, 'outputname',{'i1'})
give this
Transfer function:
s + 0.5
-------
s
State-space model
a =
x0
x0 0
b =
i1
x0 0.5
c =
x0
o1 1
d =
i1
o1 1
And in LabView I have:
Transfer function:
s + 0.5
-------
s
State-space model
a =
x0
x0 0
b =
i1
x0 1
c =
x0
o1 0.5
d =
i1
o1 1
I mean that the values of Matrices B and C are interchenged.
Can anybody to tell my why is that happening?
I'm looking forward to your answers.
Thank you in advance.
Best Regardes,
Laurentiu Aioanei
回答(1 个)
Azzi Abdelmalek
2014-2-10
Laurentiu, The state space representation is not unique, you can get an infinite number of state space representation, depending on what you consider as states. The transfer function is unique, you can check by converting both your two state space representation, you will get the same transfer function
% Labview ss model
a=0;
b=1;
c=0.5;
d=1;
ss_labview_model=ss(a,b,c,d);
your_original_model=tf(ss_labview_model)
类别
在 帮助中心 和 File Exchange 中查找有关 LabVIEW 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!