How do I solve this State Space Equation for a 8 DOF Model for a selected output?
3 views (last 30 days)
Show older comments
This is my model of an 8 DOF vehicle that I am trying to solve for a response, namely X15. I tried the ss(A,B,C,D) function but I don't know how to plot a response from there.
--------------------------------------------------------------------------------- global M_s M_wr1 M_wl1 M_wr2 M_wl2 k_wr1 k_wl1 k_wr2 k_wl2 I_xx I_yy global q r s t x y global k_seat C_seat
q = 1.5, r = q; s = 1, t = s; x = .25, y = x; M_s = 1200; M_seat = 30; M_wr1 = 60, M_wl1 = M_wr1; M_wr2 = 60, M_wl2 = M_wr2; k_wr1 = 30000, k_wl1 = k_wr1; k_wr2 = 30000, k_wl2 = k_wr2; I_xx = 4000; I_yy = 950; k_sr1 = 55000, k_sl2 = k_sr1, k_sr2 = k_sl2, k_sl1 = k_sr2; k_seat = 600; C_sr1 = 1000, C_sl2 = C_sr1, C_sr2 = C_sl2, C_sl1 = C_sr2; C_seat = 100;
A1 = [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0] ;
A2 = [(-k_sr1 - k_sl1 - k_sr2 - k_sl2 - k_seat), (-C_sr1- C_sl1 - C_sr2 - C_sl2 - C_seat) , (k_sr1.*q + k_sl1.*q + k_sr2.*r -k_sl2.*r + k_seat.*x), (C_sr1.*q + C_sl1.*q - C_sr2.*r - C_sl2.*r + C_seat.*x), (k_sr1.*t - k_sl1.*s+ k_sr2.*t - k_sl2.*s - k_seat.*y), (C_sr1.*t - C_sl1.*s + C_sr2.*t - C_sl2.*s - C_seat.*y), (k_sr1); (C_sr1); (k_sl1); (C_sl1); (k_sr2); (C_sr2); (k_sl2); (C_sl2); (k_seat); (C_seat);] ;
A2 = A2';
A3 = [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0] ;
A4 = [(k_sr1.*q + k_sl1.*q - k_sr2.*r - k_sl2.*r + k_seat.*x), (C_sr1.*q + C_sl1.*q - C_sr2.*r - C_sl2.*r + C_seat.*x), (-k_sr1.*q^2 - k_sl1.*q^2 - k_sr2.*r^2 - k_sl2.*r^2 - k_seat.*x^2), (-C_sr1.*q^2 - C_sl1.*q^2 - C_sr2.*r^2 - C_sl2.*r^2 - C_seat.*x^2) , (-k_sr1.*q.*t + k_sl1.*q.*s + k_sr2.*r.*t - k_sl2.*r.*s + k_seat.*y.*x), (-C_sr1.*q.*t + C_sl1.*q.*s + C_sr2.*r.*t - C_sl2.*r.*s - C_seat.*y.*x), (-k_sr1.*q); (-C_sr1.*q); (-k_sl1.*q); (-C_sl1.*q); (k_sr2.*r); (C_sr2.*r); (k_sl2.*r); (C_sl2.*r); (-k_seat.*x); (-C_seat.*x);];
A4 = A4';
A5 = [0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0];
A6 = [(k_sr1.*t - k_sl1.*s + k_sr2.*t - k_sl2.*s + k_seat.*y), (C_sr1.*t - C_sl1.*s + C_sr2.*t - C_sl2.*s - C_seat.*y), (-k_sr1.*q.*t + k_sl1.*q.*s + k_sr2.*r.*t - k_sl2.*r.*s + k_seat.*x.*y), (-C_sr1.*q.*t + C_sl1.*q.*s + C_sr2.*r.*t - C_sl2.*r.*s + C_seat.*x.*y), (-k_sr1.*t^2 - k_sl1.*s^2 - k_sr2.*t^2 - k_sl2.*s^2 - k_seat.*y^2), (-C_sr1.*t^2 - C_sl1.*s^2 - C_sr2.*t^2 - C_sl2.*s^2 + C_seat.*y^2), (-k_sr1.*t); (-C_sr1.*t); (k_sl1.*s); (C_sl1.*s); (-k_sr2.*t) ; (-C_sr2.*t) ; (k_sl2.*s) ; (C_sl2.*s) ; (k_seat.*y); (C_seat.*y);];
A6 = A6';
A7 = [0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ];
A8 = [k_sr1 C_sr1 k_sr1.*q C_sr1.*q k_sr1.*t C_sr1.*t (-k_sr1-k_wr1) C_sr1 0 0 0 0 0 0 0 0];
A9 = [0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0];
A10 = [(k_sl1) , (C_sl1) , k_sl1.*(q) , -C_sl1.*(q) , k_sl1.*(s) , C_sl1.*(s), 0 ,0, (- k_sl1-k_wl1), -C_sl1 , 0 ,0 ,0 ,0, 0, 0];
A11 = [0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ];
A12 = [(k_sr2) , (C_sr2), k_sr2.*(r), C_sr2.*(r), -k_sr2.*(t), -C_sr2.*(t), 0 , 0, 0, 0, (- k_sr2-k_wr2), -C_sr2, 0, 0, 0, 0 ];
A13 = [0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0];
A14 = [(k_sl2) , (C_sl2), k_sl2.*(r), C_sl2.*(r), k_sl2.*(t), C_sl2.*(t), 0, 0, 0, 0, 0, 0, (- k_sr2-k_wr2), -C_sl2, 0, 0];
A15 = (1/10).*[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1];
A16 = [ k_seat, C_seat, -k_seat.*x , -C_seat.*x, k_seat.*y, C_seat.*y, 0, 0, 0, 0, 0, 0, 0, 0, -k_seat, -C_seat];
A = [A1 ; A2; A3; A4; A5; A6; A7; A8; A9; A10; A11; A12; A13; A14; A15; A16];
B = [0;0;0;0;0;0;0;k_wr1.*(1/M_wr1);0;k_wl1.*(1/M_wl1);0;k_wr2.*(1/M_wr2);0;k_wl2.*(1/M_wl2);0;0];
C = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0];
D = 0;
0 Comments
Answers (1)
See Also
Categories
Find more on Develop Apps Using App Designer 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!