Автор работы: Пользователь скрыл имя, 14 Июня 2013 в 05:31, лабораторная работа
Цель работы: Решение задачи квадратичного оптимального управления цифровой динамической системой путем решения уравнения Риккати относительно матрицы , синтеза алгоритма оптимального управления в виде матрицы обратной связи , вычисления минимального значения критерия оптимальности , а также исследование поведения собственных значений матрицы перехода замкнутой системы в зависимости от изменения весовых коэффициентов и периода дискретности
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ,
МОЛОДЕЖИ И СПОРТА УКРАИНЫ
ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра АТ
Отчет по лабораторной работе №1
по дисциплине: «Математические методы оптимизации»
Синтез алгоритмов оптимального управления цифровой системы по квадратичному критерию качества
Вариант 3
Выполнил:
ст. гр. СУА-12м
Приходько Н.
Проверил:
Хорхордин А.В.
Чернышев Н.Н.
Донецк 2013 г.
задание
Цель работы: Решение задачи квадратичного оптимального управления цифровой динамической системой путем решения уравнения Риккати относительно матрицы , синтеза алгоритма оптимального управления в виде матрицы обратной связи , вычисления минимального значения критерия оптимальности , а также исследование поведения собственных значений матрицы перехода замкнутой системы в зависимости от изменения весовых коэффициентов и периода дискретности
Таблица 1 – Исходные данные
№ варианта |
||||||
3 |
4 |
7 |
3 |
0.3 |
0.7 |
3 |
(1)
(2)
Где
Задание лабораторной работы будем выполнять в программной среде MATLAB.
Листинг программы.
%% Задание параметров модели
%Коэффициенты
a1 = 4;
a2 = 7;
a3 = 3;
%Периоды дискретности
T = [0.3 0.7 3];
%Матрицы в пространстве состояний
A = [0 1 0; 0 0 1; -a3 -a2 -a1];
B = [0; 0; 1];
C = [1 0 0];
D = [0];
%Матрицы-параметры для функционала качества
S = eye(3);
Q = eye(3);
R = [1];
%Переход к цифровой системе
[G,H] = c2d(A,B,T(1));
%% Расчет
x0 = [1; 0; 0]; %Начальные условия
for T=[T1 T2 T3]
disp (['---------- Ts=',num2str(T(i)),' ----------']);
Pnext = S;
[G,H] = c2d(A,B,T(i));
disp('Матрица G='); pretty(vpa(G,3));
disp('Матрица H='); pretty(vpa(H,3));
for i=0:200
P=Q+G'*Pnext*inv(eye(3)+H*inv(
Pnext=P;
K=inv(R)*H'*inv(G')*(P-Q);
if i==10
disp('--- Шаг №10 ---');
P
K
end
if i==40
disp('--- Шаг №40 ---');
P
K
end
if i==80
disp('--- Шаг №80 ---');
P
K
end
if i==120
disp('--- Шаг №120 ---');
P
K
end
if i==160
disp('--- Шаг №160 ---');
P
K
end
end
disp ('Установившиеся значения P и К (шаг №200):');
P
K
disp ('Минимальный критерий оптимальности Jmin:');
Jmin = 0.5*x0'*Pnext*x0
disp ('Собственные числа матрицы G='); pretty (vpa(eig(G),3));
%%Построение графиков
t=-pi:0.1:pi;
figure;
set (gcf, 'Name', 'График1');
plot (eig(G),'x', 'MarkerSize', 8, 'LineWidth', 2);
grid on;
hold on;
axis square;
plot (exp(t*j),'-r'); xlabel('Re'); ylabel('Im');
hold off;
pause;
end
В результате работы программы были получены следующие графики:
Рисунок 1.1 – Положение собственных
чисел матрицы
Значение функционала качества на каждом шаге:
Jmin = 3.4156 (Период дискретности равен 0.3 с)
Jmin = 1.5749 (Период дискретности равен 0.7 с)
Jmin = 0.5481 (Период дискретности равен 3 с)
Изменим параметры матрицы Q:
Q = diag([1 100 1000]);
Рисунок 1.2 – Положение собственных
чисел матрицы
Значение функционала качества на каждом шаге:
Jmin = 60.9219 (Период дискретности равен 0.3 с)
Jmin = 24.6794 (Период дискретности равен 0.7 с)
Jmin = 4.8633 (Период дискретности равен 3 с)
Изменим параметры матрицы Q:
Q = diag([1000 100 1]);
Рисунок 1.3 – Положение собственных
чисел матрицы
Значение функционала качества на каждом шаге:
Jmin = 1.5140e+03 (Период дискретности равен 0.3 с)
Jmin = 836.7131 (Период дискретности равен 0.7 с)
Jmin = 502.6269 (Период дискретности равен 3 с)
Вывод по работе: в данной лабораторной работе был синтезирован оптимальный регулятор. Функционал качества принимает различные значения в зависимости от периода дискретности, а также параметров S,Q,R. Так, наилучших результаты были получены при использовании Q = eye(3), т.е. значение функционала было наименьшим.