MATLAB Answers

How I get eigenvalues from 4x4 matrix is positive?

5 views (last 30 days)
Ivan Dwi Putra
Ivan Dwi Putra on 25 Jun 2020
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 Comments

Sign in to comment.

Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!