После того, как найдено положение первой точки, числа Фибоначчи больше не нужны. Используемое значение
Таким образом, поиск методом Фибоначчи является итерационной процедурой.
В процессе поиска интервала
Обозначим
1.
2.
3.
4.
Оканчивать вычислительный процесс можно двумя способами. Либо выполнить намеченные ранее
3.2.2 Метод Хука-Дживса
В данном методе поиск состоит из последовательности шагов исследующего поиска вокруг базисной точки, за которым, в случае успеха, проводится поиск по образцу.
Процедура поиска следующая.
Выбрать начальную базисную точку
Вычислить
При поиске по образцу используется информация, полученная в процессе исследования, и минимизация функции завершается поиском в направлении, заданном образцом.
Завершить этот процесс, когда длина шага (длины шагов) будет уменьшаться до заданного малого значения.
3.3 Дифференциальное уравнение скорректированной системы
Для минимизации целевой функции (37) необходимо реализовать вычисление реального выходного сигнала
Для вычисления
Запишем ДУ (32) в другом виде:
3.4 Нормальная форма Коши, полученного ДУ скорректированной системы
Для решения ДУ (33) с помощью численного метода решения дифференциальных уравнений, необходимо понизить его порядок, путём перехода от данного ДУ к нормальной форме Коши
Нормальная форма Коши для ДУ (33) будет иметь следующий вид:
где коэффициенты
Тогда ДУ (33) можно записать в следующем виде
где
Рис. 13. Графики выходных сигналов скорректированной (зеленая линия) и нескорректированной (синяя линия) САУ.
Полученные параметры регулятора:
Кп=1.0547895
Кд=0.0550905
Ки=0.9452075
Численные методы решения дифференциальных уравнений используются в тех случаях, когда не удается найти их решение в аналитическом виде. Прежде всего, это относится к линейным дифференциальным уравнениям с переменными коэффициентами и нелинейным дифференциальным уравнениям, соответственно описывающим динамику линейных нестационарных и нелинейных систем управления.
Сущность численных методов состоит в том, что решение ДУ строится только для дискретных значений аргумента.
Все численные решения ДУ делятся на две группы: одношаговые и многошаговые. В одношаговых методах используется информация о поведении решения в предыдущей точке. В многошаговых о поведении решения в нескольких предыдущих точках.
Численные решения ДУ можно разделить на две группы: явные и неявные. В явных методах, в отличие от неявных, используется явная зависимость значения функции в текущей точке от значений функции в предыдущих точках. Преимуществом таких методов является относительная простота вычисления значения функции на каждом шаге, однако, сходимость данных методов определяется шагом интегрирования
В отношении численных методов оптимизации следует отметить следующее. Все численные методы минимизации делятся на прямые и градиентные методы. В прямых методах используется только значение функции в конкретных точках, а в градиентных - информация о первых и вторых производных функции. Также методы минимизации можно разделить на методы минимизации функции одной переменной и методы, позволяющие минимизировать функции многих переменных. При минимизации необходимо учитывать наличие ограничений на параметры исходной функции.
Н.Д. Егупов, Ю.П. Корнюшин, Ю.Л. Лукашенко, А.А. Самохвалов, М.М. Чайковский Сложные системы автоматического управления с переменными параметрами: алгоритмическое и программное обеспечение решения задач исследования и синтеза, Калуга, 2003
Вержбицкий. Численные методы.
Методы классической и современной теории автоматического управления: Учебник в 5-ти т.; 2-е изд., перераб. и доп. Т.3: Синтез регуляторов систем автоматического управления / Под редакцией К.А. Пупкова и Н.Д. Егупова. – М.: Издательство МГТУ им. Н.Э. Баумана, 2004. – 616с.; ил.
Конспект лекций по курсу "Системы аналитических вычислений" за I и II семестр.
7. Приложение 1 (Листинг скриптов для нахождения корней полинома)
function secush
clc
e=10.^-5;
x=-8.1;
xm1=-8
Asm1=8.6159999
i=0;
As=0.252*(x.^3)+1.41*(x.^2)+14.2*x+161;
x1=x-(As.*(xm1-x))./(Asm1-As);
Asm1=As;
As=0.252*(x1.^3)+1.41*(x1.^2)+14.2*x1+161;
i=i+1;
while abs(x1-x)>e
xm1=x;
x=x1;
x1=x-(As.*(xm1-x))./(Asm1-As);
Asm1=As;
As=0.252*(x1.^3)+1.41*(x1.^2)+14.2*x1+161;
i=i+1;
A(i)=x;
end
hold on
for n=1:i
plot(n,A(n),'b-o')
end
grid on
xlabel('iteraciya')
ylabel('roots')
disp('ответ');
disp(x);
8. Приложение 2 (Листинг скриптов для решения ДУ)
function Difer
clc
T=4;
a0=638.89;
a1=56.35;
a2=5.60;
b0=595.24;
h=0.0005;
A_X(1,1:3)=[0 0 0];
A=[0 1 0;
0 0 1;
a0 a1 a2];
B=[0 0 b0]';
k=0;
t=0;
while (t < (T-h))
if (t <= 3*h)
K1=A*(A_X(k+1,:))';
K2=A*(A_X(k+1,:))'+1/3*K1;
K3=A*(A_X(k+1,:))'+1/6*K1+1/6*K2;
K4=A*(A_X(k+1,:))'+1/8*K1+3/8*K2;
K5=A*(A_X(k+1,:))'+1/2*K1-3/2*K3+2*K4;
A_X(k+2,:)=(A_X(k+1,:))+h/6*(K1'+4*K4'+K5');
else
h1=h;
t=t+h1;
H=(eye(length(A_X(1,:)))-(9*h1/24)*A);
G=(eye(length(A_X(1,:)))+19*h1/24*A)*(A_X(k+1,:))'+h1/24*A*(-5*(A_X(k,:))'+(A_X(k-1,:))')
+h1/24*B*(9*1+19*1-5*1);
A_X(k+2,:)=(inv(H)*G)';
end
Otr(k+1)=t;
k=k+1;
h=-0.43496
end
plot(Otr,A_X(1:k,1),'b-');
grid on
9. Приложение 4 (Листинг скриптов для спектрального анализа)
spectr.m
syms t T;
Kx=(638.89/2)*(t-T).^2-56.35*(1./2)*(-2*(t-T))+5.6;
Ky=(595.24/2)*(t-T).^2;
F2=2*t;
L(2)=F2;
F3=4*t.^2-1;
L(3)=F3;
F4=8*t.^3-4*t;
L(4)=F4;
F5=16*t.^4-12*t.^2+1;
L(5)=F5;
F6=32*t.^5-32*t.^3+6*t;
L(6)=F6;
F7=64*t.^6-80*t.^4+24*t.^2-1;
L(7)=F7;
F8=128*t.^7-192*t.^5+80*t.^3-8*t;
L(8)=F8;
F9=256*t.^8-448*t.^6+240*t.^4-40*t.^2+1;
L(9)=F9;
F10=512*t.^9-1024*t.^7+672*t.^5-160*t.^3+10*t;
L(10)=F10;
F1=1;
L(1)=F1;
F2=2*T;