How I get eigenvalues from 4x4 matrix is positive?

1 次查看(过去 30 天)
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

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Mathematics and Optimization 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by