Я новичок в Matlab и контроллере LQR.Я попытался смоделировать 2-мерную систему, которая была смоделирована с использованием модели пространства состояний, используя следующий код, но она не показывает собственные значения и dcgain для этой системы.Я не уверен, правильно ли я реализовал код или нет.Любая помощь будет оценена.
mc=10;
mr=10;
ml=10;
Jc=1/(12*(mc+mr+ml));
g = 9.8;
Fe=0.1;
d=0.5;
mu=0.02;
A_lat=[0 0 1 0;0 0 0 1;0 -Fe/(mc+mr+ml) -mu/(mc+mr+ml) 0;0 0 0 0];
B_lat=[0;0;0;1/(Jc+mr*d^2+ml*d^2)];
C_lat=[1 0 0 0];
D_lat=0;
A_lon=[0 1;0 0];
B_lon=[0;1/(mc+mr+ml)];
C_lon=[1 0];
D_lon=0;
sys_lat = ss(A_lat,B_lat,C_lat,D_lat);
sys_lon=ss(A_lon,B_lon,C_lon,D_lon);
Co_lat = ctrb(sys_lat);
Co_lon = ctrb(sys_lon);
constQ=0.1;
constR=1;
Q_lat = Co_lat'*Co_lat;%constQ*eye(4);
R_lat = constR;
Q_lon = Co_lon'*Co_lon;%constQ*eye(2);
R_lon = constR;
K_lat = lqr(sys_lat,Q_lat,R_lat);
K_lon = lqr(sys_lon,Q_lon,R_lon);
sys_K_lat = ss(A_lat-B_lat*K_lat,B_lat,C_lat,D_lat);
sys_K_lon = ss(A_lon-B_lon*K_lon,B_lon,C_lon,D_lon);
sys_K=append(sys_K_lat,10,sys_K_lon);
disp("*******");
eig(A_lat-B_lat*K_lat);
eig(A_lon-B_lon*K_lon);
DCGAIN = dcgain(sys_K);
bode(sys_K);
input = @(t,x) -K_lat*x;