How I get eigenvalues from 4x4 matrix is positive?

1 回表示 (過去 30 日間)
Ivan Dwi Putra
Ivan Dwi Putra 2020 年 6 月 25 日
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 Center および File ExchangeMathematics and Optimization についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by