This commit is contained in:
Nolan Reynier Nomer 2026-05-07 16:58:58 +02:00
parent 1a5e95049a
commit 93f4f17a7d

View file

@ -354,10 +354,35 @@ if SAVE
end end
%% %%
sys_aug = ss(A_aug, B_aug, [C, 0], 0);
for Ts = 0.01000:0.00001:0.01100
if all(abs(eig(c2d(sys_aug,Ts,'zoh').A-c2d(sys_aug,Ts,'zoh').B*K_aug)) < 1)
;
else
break
end
end
format long
Ts = (Ts-0.00001)
for Ts= Ts/5
sys_integral_d = c2d(sys_integral, 0.5, 'zoh');
t_d = 0:0.5:10; %%
sys_aug_2 = ss(A_aug, [B_aug B_ref B_p_aug], [C 0], zeros(1,3));
sys_aug_d = c2d(sys_aug_2, Ts, 'zoh');
Ad2 = sys_aug_d.A;
Bd_u = sys_aug_d.B(:,1);
Bd_ref = sys_aug_d.B(:,2);
Bd_p = sys_aug_d.B(:,3);
sys_integral_d = ss(Ad2 - Bd_u*K_aug, [Bd_ref Bd_p], [C 0], [0 0], Ts);
% sys_integral_d = ss(sys_aug_d.A - sys_aug_d.B*K_aug, [B_ref B_p_aug], [C, 0], [0 0], Ts);
t_d = 0:Ts:10;
cmd_d = double (t_d >= 1) ; cmd_d = double (t_d >= 1) ;
q0_d = -5 * double(t_d >= 4); q0_d = -5 * double(t_d >= 4);
[y_d, t_d, x_d] = lsim(sys_integral_d, [cmd_d ; q0_d], t_d); [y_d, t_d, x_d] = lsim(sys_integral_d, [cmd_d ; q0_d], t_d);