--------------------%
% Знаходження елементів матриць Q і R
r (1) = 0.1;
q (1) = 1/poryadok * r (1) * (U_max) ^ 2/(X_max (1)) ^ 2;
В
for i = 2: poryadok
q (i) = q (1) * (X_max (1)) ^ 2/(X_max (i)) ^ 2;
end
Q = diag (q)
R = diag (r)
В
% Для зміни коефіцієнтів
% Q (1,1) = Q (1,1);
% Q (2,2) = Q (2,2);
% Q (3,3) = Q (3,3);
% Q (4,4) = Q (4,4);
% Q (5,5) = Q (5,5);
В
Q (1,1) = Q (1,1) * 1e +12;
Q (2,2) = Q (2,2) * 1e +8;
Q (3,3) = Q (3,3) * 1e +7;
Q (4,4) = Q (4,4) * 1e +0;
Q (5,5) = Q (5,5) * 1e +2;
В
R (1,1) = R (1,1);
% -------------------------------------------------- ----------------------%
% -------------------------------------------------- ----------------------%
% Рішення рівняння Риккати методом діагоналізації
P1 = Solve_Riccati_Method_Diag (A, B, Q, R)
% -------------------------------------------------- ----------------------%
P_nach = zeros (poryadok, poryadok);% + ones (poryadok, poryadok);
% -------------------------------------------------- ----------------------%
% Рішення рівняння Риккати методом зворотного інтегрування
P2 = Solve_Riccati_Method_Revers_Integr (A, B, Q, R, Time, poryadok, P_nach)
% -------------------------------------------------- ----------------------%
% Порівняння розбіжності методів
Delta_P = Abs (P1-P2)
% Побудова графіка коефіцієнтів регулятора
load Solve_Riccati_Method_Revers_Integr Time_R P N_str
PP = P;
for i = 1: N_str
P = reshape (PP (i, :), poryadok, poryadok);
K (i, :) =-inv (R) * B '* P;
end
figure (2)
plot (Time_R, K (:, 1), '-', Time_R, K (:, 2), '-', Time_R, K (:, 3), '-', Time_R, K (:, 4), '-', Time_R, K (:, 5), '-', 'LineWidth', 2);
xlabel ('t')
tit1 = Title ('Коефіцієнти зворотного зв'язку в прямому часу');
set (tit1, 'FontName', 'Courier');
hl = legend ('k_1_о_с', 'k_2_о_с', 'k_3_о_с', 'k_4_о_с', 'k_5_о_с', 0);
set (hl, 'FontName', 'Courier');
grid on;
В
% -------------------------------------------------- ----------------------%
% Рішення рівняння Риккати за допомогою вбудованої функції
% P = vpa (care (A, B, Q, R), 10)
% -------------------------------------------------- ----------------------%
% -------------------------------------------------- ----------------------%
% Знаходження коефіцієнтів регулятора
disp ('Коефіцієнти регулятора: ')
K1 =-inv (R) * B '* P1
K2 =-inv (R) * B '* P2
% -------------------------------------------------- -------...