MIMO ss2tf, how do I apply it to a 3x3 system?

41 次查看(过去 30 天)
Hello, I wish to model a system that consists of two input variables (S0,F) and three outputs (X, S and P). This leads to 6 transfer functions but when I try to use ss2tf, I get the following error:"Index in position 1 exceeds array bounds (must not exceed 1). Error in trabalho_modelagem_biolixiviacao (line 65) FT21=tf(num1(2,1),den1(2,1));"
Here is my code:
G1=ss(matriz_A,matriz_B,matriz_C,matriz_D); %ESPAÇO DE ESTADOS tf(G1)
[num1,den1]=ss2tf (matriz_A,matriz_B,matriz_C,matriz_D,1); [num2,den2]=ss2tf (matriz_A,matriz_B,matriz_C,matriz_D,2);
FT11=tf(num1(1,1),den1(1,1)); FT12=tf(num1(1,2),den1(1,2)); FT13=tf(num1(1,3),den1(1,3)); FT21=tf(num1(2,1),den1(2,1)); FT22=tf(num1(2,2),den1(2,2)); FT23=tf(num1(2,3),den1(2,3));
How do I solve this?

回答(1 个)

Aquatris
Aquatris 2018-11-11
You can try using just tf (if you are using one of the newer versions of Matlab)
sys = ss(rand(6),rand(6,3),rand(3,6),0); % MIMO 3x3 ss
sys2 = tf(sys); % same MIMO 3x3 in transfer function form

类别

Help CenterFile Exchange 中查找有关 Model Predictive Control Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by