Смекни!
smekni.com

Численные методы интегрирования и оптимизации сложных систем (стр. 4 из 5)

После того, как найдено положение первой точки, числа Фибоначчи больше не нужны. Используемое значение

может определятся из практических соображений. Оно должно быть меньше
, иначе будут иметь место лишние вычисления значений функции
.

Таким образом, поиск методом Фибоначчи является итерационной процедурой.

В процессе поиска интервала

с точкой
, уже лежащей в этом интервале, следующая точка
всегда выбирается такой, что
.

Обозначим

и
, тогда можно рассмотреть четыре случая организации вычислительного процесса:

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


5. Выводы

Численные методы решения дифференциальных уравнений используются в тех случаях, когда не удается найти их решение в аналитическом виде. Прежде всего, это относится к линейным дифференциальным уравнениям с переменными коэффициентами и нелинейным дифференциальным уравнениям, соответственно описывающим динамику линейных нестационарных и нелинейных систем управления.

Сущность численных методов состоит в том, что решение ДУ строится только для дискретных значений аргумента.

Все численные решения ДУ делятся на две группы: одношаговые и многошаговые. В одношаговых методах используется информация о поведении решения в предыдущей точке. В многошаговых о поведении решения в нескольких предыдущих точках.

Численные решения ДУ можно разделить на две группы: явные и неявные. В явных методах, в отличие от неявных, используется явная зависимость значения функции в текущей точке от значений функции в предыдущих точках. Преимуществом таких методов является относительная простота вычисления значения функции на каждом шаге, однако, сходимость данных методов определяется шагом интегрирования

.

В отношении численных методов оптимизации следует отметить следующее. Все численные методы минимизации делятся на прямые и градиентные методы. В прямых методах используется только значение функции в конкретных точках, а в градиентных - информация о первых и вторых производных функции. Также методы минимизации можно разделить на методы минимизации функции одной переменной и методы, позволяющие минимизировать функции многих переменных. При минимизации необходимо учитывать наличие ограничений на параметры исходной функции.


6. Литература

Н.Д. Егупов, Ю.П. Корнюшин, Ю.Л. Лукашенко, А.А. Самохвалов, М.М. Чайковский Сложные системы автоматического управления с переменными параметрами: алгоритмическое и программное обеспечение решения задач исследования и синтеза, Калуга, 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;