How to convert a set of transfer functions into state space model using MATLAB?

2 views (last 30 days)
Yb = -29.217; Yp = -0.258; Yr = 0.939;
g_1 = 32.17; Ydelr = 16.889; u0 = 456;
L_B = -6.73; L_P = -1.168; L_r = 0.245; L_delA = 12.903; L_delR = 1.069;
N_B = 5.6345; N_P = -0.0459; N_r = -0.2625; N_delA = -1.294; N_delR = -1.859;
Y_B = (Yb)/(u0);
Y_P = (Yp)/(u0);
Y_R = -1*(1-(Yr/u0));
g = g_1/u0;
Y_delR = (Ydelr/u0);
A_lat = [Y_B Y_P Y_R g;L_B L_P L_r 0;N_B N_P N_r 0; 0 1 0 0];
B_lat = [0 Y_delR;L_delA L_delR;N_delA N_delR;0 0];
syslat = ss(A_lat,B_lat,eye(4),zeros(4,2))
TF=tf(syslat)
TF(1,1)
TF(1,2)
TF(2,1)
TF(2,2)
TF(3,1)
TF(3,2)
These are the Transfer Functions obtained from a State-Space Model.
A=4 by 4 C=eye(4)
B=4 by 2 D=zero(4,2)
let's suppose, I want to formulate my own state-space model of dimensions stated above from 6 transfer functions embedded in a 3 by 2 Matrix. please help me out in this.
how can we obtain the same state space model using these transfer functions?

Answers (1)

Vidhi Agarwal
Vidhi Agarwal on 26 Sep 2024
To create the state space model from given parameters try using “ss” and “tf” functions of MATLAB. Below is the implementation of these 2 function that might help you in getting started.
% Create state-space system
syslat = ss(A_lat, B_lat, C_lat, D_lat);
% Convert to transfer function
TF = tf(syslat);
And after this implementation you should be able to access the required transfer functions with any input.
For better understanding of “ss” and “tf” function of MATLAB, refer to the given below documentation:
Hope that helps!

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!