После того, как найдено положение первой точки, числа Фибоначчи больше не нужны. Используемое значение
может определятся из практических соображений. Оно должно быть меньше , иначе будут иметь место лишние вычисления значений функции .Таким образом, поиск методом Фибоначчи является итерационной процедурой.
В процессе поиска интервала
с точкой , уже лежащей в этом интервале, следующая точка всегда выбирается такой, что .Обозначим
и , тогда можно рассмотреть четыре случая организации вычислительного процесса:1.
: новый интервал .2.
: новый интервал .3.
: новый интервал .4.
: новый интервал .Оканчивать вычислительный процесс можно двумя способами. Либо выполнить намеченные ранее
вычислений, либо, если в процессе вычислений интервал неопределённости станет меньше заданной величины.3.2.2 Метод Хука-Дживса
В данном методе поиск состоит из последовательности шагов исследующего поиска вокруг базисной точки, за которым, в случае успеха, проводится поиск по образцу.
Процедура поиска следующая.
Выбрать начальную базисную точку
и шаг длиной для каждой из переменных , .Вычислить
в базисной точке с целью получения сведений о локальном поведении функции . Эти сведения будут использоваться для нахождения подходящего направления поиска по образцу, с помощью которого можно надеяться достичь большего убывания значения функции.При поиске по образцу используется информация, полученная в процессе исследования, и минимизация функции завершается поиском в направлении, заданном образцом.
Завершить этот процесс, когда длина шага (длины шагов) будет уменьшаться до заданного малого значения.
3.3 Дифференциальное уравнение скорректированной системы
Для минимизации целевой функции (37) необходимо реализовать вычисление реального выходного сигнала
в каждый отдельный момент времени. Помимо этого, необходимо реализовать итерационный процесс и реализовать алгоритм вычисления параметраДля вычисления
перейдём от передаточной функции замкнутой цепи к дифференциальному уравнению, используя свойства преобразований Лапласа. Оно будет иметь следующий вид: (32)Запишем ДУ (32) в другом виде:
(33)3.4 Нормальная форма Коши, полученного ДУ скорректированной системы
Для решения ДУ (33) с помощью численного метода решения дифференциальных уравнений, необходимо понизить его порядок, путём перехода от данного ДУ к нормальной форме Коши
Нормальная форма Коши для ДУ (33) будет иметь следующий вид:
где коэффициенты
рассчитываются по следующим формулам:Тогда ДУ (33) можно записать в следующем виде
, (34)где
Рис. 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;