How I get eigenvalues from 4x4 matrix is positive?

1 view (last 30 days)
This is my matlab code represent the my model
%Parameter Massa
m1 = 8095; % massa train set 1 dalam kg
m2 = 8500; % massa train set 2 dalam kg
g = 10;
%Parameter Gaya
f1 = 205.10^3; % dalam N
f2 = 302.10^3; % dalam N
c_0_1 = 0.01176;
c_1_1 = 0.00077616;
c_2_1 = 4.48 ;
c_0_2 = 0.01176 ;
c_1_2 = 0.00077616;
c_2_2 = 4.48;
v_0 = 300;
hstar = 120;
a_1 = -1./m1.*(c_1_1 + 2.*c_2_1.*v_0);
a_2 = -1./m2.*(c_1_2 + 2.*c_2_2.*v_0);
a_1_head = 1-(a_1.*hstar);
a_2_head = 1-(a_2.*hstar);
b = 1;
p_1 = -1./m1.*(c_0_1 - c_2_1.*(v_0).^2);
p_2 = -1./m2.*(c_0_2 - c_2_2.*(v_0).^2);
A = [0 a_1_head 0 0;
0 0 0 0;
0 (a_2_head - 1) 0 a_2_head;
0 0 0 0
];
B = [-b.*hstar 0;
b 0;
0 -b.*hstar;
-b b
];
U_t = [f1; f2;];
W = [((a_1 - 1).*v_0) - (p_1.*hstar);
0;
((a_2 - 1).*v_0) - (p_2.*hstar);
((a_1 - 1).*v_0) - (p_1.*hstar);
];
C = [1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1;];
Q = [19999 0 0 0;
0 19999 0 0;
0 0 19999 0;
0 0 0 19999;];
R = [599999999.9999 0;
0 59999999.9999;];
I would like to find X, K ,L using icare
My goal to find all eigenvalues (L) from X matrix 4x4 is all positive > 0
[X1,K1,L1] = icare(A,B,Q,R)
But I never get all eigenvalues positive
This is what i got
X1 =
1.0e+09 *
0.0001 0.0206 0.0000 0.0002
0.0206 5.7871 0.0170 2.3214
0.0000 0.0170 0.0001 0.0169
0.0002 2.3214 0.0169 2.3099
K1 =
0.0058 1.6534 -0.0001 -0.0149
0.0004 4.7137 0.0183 4.6848
L1 =
-0.3283
-0.4419
-0.5336
-2.1662

Answers (0)

Categories

Find more on Mathematics and Optimization in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!