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

Московский государственный технический университет им. Н.Э. Баумана

Калужский филиал

Кафедра “САУ и Электротехники”

ЭИУ3-КФ





Расчётно-пояснительная записка к курсовой работе















на тему:

“Численные методы интегрирования и оптимизации сложных систем”

по курсу:

Системы аналитических вычислений





















Калуга 2007


Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«Московский государственный технический университет

имени Н.Э. Баумана»

Калужский филиал



Факультет электроники, информатики и управления



Кафедра "Системы автоматического управления и электротехника" (ЭИУ3-КФ)



З А Д А Н И Е

на курсовой проект (работу)



по курсу _____Системы аналитических вычислений____________

Студент ________Герасимов Е.И._______ группа ___САУ-62_________

(фамилия, инициалы)

Руководитель_________________Корнюшин Ю.П.____________________

(фамилия, инициалы)

Тема проекта (работы) 	Численные методы интегрирования и______ оптимизации сложных систем

Техническое задание


Задание 1 .

 Практическое изучение численных методов решения нелинейных уравнений (метод простых итераций) и решение заданного уравнения третьего порядка с целью исследования устойчивости заданной системы.



Задание 2 .

 Построение годографа АФЧХ, графиков АЧХ и ФЧХ с указанием частот.



Задание 3 .

 Практическое изучение численных методов интегрирования дифференциальных уравнений высокого порядка (метод Рунге-Кутта 5-го порядка, неявный метод Адамса 4-го порядка) и построение переходных процессов.



Задание 4 .

 Проведение анализа заданной системы с использованием спектрального метода (базис: полиномы Чебышева 2-го рода).



Задание 5 .

 Практическое изучение численных методов оптимизации (метод Хука-Дживса с использованием метода Фибоначчи) и определение параметров корректирующего устройства, путем минимизации функционала качества. 


Объем и содержание проекта (работы)

Графические работы на ___5_____ листах формата ___A3____

Расчетно-пояснительная записка на __53____ листах формата А4



Структура расчетно-пояснительной записки



Обложка, Задание, Содержание, Введение, Основная часть, Заключение, Литература, Приложение(я).



Содержание и структура Основной части определяется студентом по согласованию с руководителем.

Рисунки, таблицы, литература оформляются в соответствии с ГОСТ 2.105-89 ЕСКД. Общие требования к текстовым документам, ГОСТ 7.32-90 Отчет о научно-исследовательской работе. Общие требования и правила оформления.



Рекомендуемая литература



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

Вержбицкий. Численные методы.

Методы классической и современной теории автоматического управления: Учебник в 5-ти т.; 2-е изд., перераб. и доп. Т.3: Синтез регуляторов систем автоматического управления / Под редакцией К.А. Пупкова и Н.Д. Егупова. – М.: Издательство МГТУ им. Н.Э. Баумана, 2004. – 616с.; ил.

Конспект лекций по курсу "Системы аналитических вычислений" за I и II семестр.

Руководитель проекта ____________________________

 подпись

" ______ " ________________ 2007 г.

Студент ____________________________

Подпись

" ____ " _________________ 2007 г.


Содержание



1. Постановка задачи



АНАЛИЗ



Численные методы интегрирования

(Исследование устойчивости САУ)

Для заданной системы требуется определить:

Передаточную функцию замкнутой системы, для случая ;

Корни характеристического уравнения, используя метод секущих;

Найти аналитические выражения для АЧХ, ФЧХ, АФЧХ;

Построить годограф АФЧХ и графики АЧХ и ФЧХ с указанием частот;

Получить ДУ, описывающее данную систему;

Представить ДУ в нормальной форме Коши;

Найти аналитическое решение ДУ;

Найти решение ДУ численным методом(метод Рунге-Кутта 5-го порядка и метод Адамса неявный 4-го порядка);

Анализ заданной системы с использованием спектрального метода (базис: полиномы Чебышева 2-го рода).



СИНТЕЗ



Численные методы оптимизации

Записать передаточную функцию замкнутой системы, с учетом того что ;

Получить ДУ, описывающее данную систему;

Представить ДУ в нормальной форме Коши;

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

Провести анализ полученных результатов.

Определить неизвестные параметры корректирующего устройства , обеспечивающего робастное качество семейству систем.



АНАЛИЗ

Исходные данные: структурная схема заданной системы изображена на рис. 1, а значение параметров системы приведены в таблице 1.



 







 

у(t) x(t)

 - -











Рис. 1. Структурная схема системы.


Таблица 1

K1

K2

K3

T1, c 

T2, c

T3, c

15

10

1

1.2

0.3

0.7



2.1 Передаточная функция замкнутой системы, для случая 



Передаточной функцией (ПФ) САУ называется отношение преобразования Лапласа  сигнала  на выходе системы к преобразованию Лапласа  сигнала на входе  при нулевых начальных условиях:

 (1)

Поскольку известны ПФ всех элементов, входящих в структурную схему (рис.1), то применяя аппарат структурных преобразований, позволяющий находить ПФ замкнутых систем, заданных структурными схемами, получим ПФ разомкнутой и замкнутой САУ, изображённой на рис.1:









(1)



В формулу (1) подставлены численные значения, взятые из таблицы 1. 



 					 (2)

Получена ПФ замкнутой системы (2).



2.2 Нахождение корней характеристического уравнения, используя МПИ



Для того, чтобы линейная стационарная система была устойчивой, все корни её характеристического уравнения (полюса ПФ) должны располагаться в левой половине s-плоскости.

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



2.2.1 Вид характеристического уравнения

Запишем характеристическое уравнение найденной ПФ (формула 2):






2.2.2 Метод секущих.

Проведём локализацию корней:

Построим график функции  на интервале :





Рис.2. График характеристического полинома (3) на интервале 



Уравнение имеет 1 действительный корень и 2 мнимых.

Уравнение решается методом секущих (4):



 (4)



Возьмем начальное приближение  и  для нахождения действительного корня. 

S=-8.210097

Далее получим значения комплексных корней:

































Подставим  в (5)















Получаем корни характеристического уравнения:







Вывод: 2 полюса передаточной функции находятся в правой полуплоскости. Система неустойчива.



2.2.3 Движение действительного корня полинома в s-плоскости

Построим график движения корня  в зависимости от номера итерации:



Рис.3. График движения корня  в зависимости от номера итерации



2.3 Аналитические выражения для АЧХ, ФЧХ, АФЧХ



График АЧХ:































Функции, определяемые зависимостями (6) и (7), называются соответственно амплитудно-частотной (АЧХ) и фазочастотной (ФЧХ) характеристиками.

Частотные характеристики определяются следующими показателями:

показатель колебательности  - характеризует склонность системы к колебаниям: чем выше , тем менее качественна система (как правило в реальных системах );

резонансная частота  - частота, при которой АЧХ имеет максимум (на этой частоте гармонические колебания имеют наибольшее усиление);

полоса пропускания системы – интервал от  до , при котором выполняется условие ;

частота среза  - частота, при которой АЧХ системы принимает значение, равное , т.е. ;

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



2.4. Годограф АФЧХ и графики АЧХ и ФЧХ с указанием частот





Рис.4 График АЧХ заданной САУ



Рис.5 График ФЧХ заданной САУ





Рис.6 График АФЧХ заданной САУ

2.5 Дифференциальное уравнение заданной САУ



Получим ДУ заданной САУ:







2.6 Нормальная форма Коши, полученного ДУ 3-го порядка



Так как ДУ заданной САУ имеет высокий порядок, то его необходимо свести к системе уравнений, каждое из которых должно иметь первый порядок, т.е. имеет место нормальная форма Коши:

. (9)

Так как ДУ заданной САУ имеет укороченную правую часть, то запишем нормальную форму Коши в следующем виде:

. (10)

Приведём уравнение (12) к нормальной форме Коши:

 		 (11)

или 

,

 где 



2.7 Аналитическое решение ДУ



Пусть задано изображение выхода

или .

Тогда используя вторую теорему разложения Лапласа получим следующее аналитическое выражение для выходного сигнала:

реакция системы на единичное ступенчатое воздействие () (12):



		(12)



2.8 Решение ДУ численным методом(метод Рунге-Кутта 5-го порядка и метод Адамса неявный 4-го порядка)



В неявных методах используется информация о возможном будущем значении решения в точке п+1. Это несколько повышает точность получаемых результатов по сравнению с явными методами.







Для организации вычислительного процесса по интерполяционной формуле Адамса, имеющей точность решения (13):





необходимо заготовить начальные значения , используя метод Рунге-Кутта 5-его порядка. 











Приведенные коэффициенты:







Проведём исследование решения ДУ в зависимости от шага:

Графики выходного сигнала, полученного в аналитическом виде , выходного сигнала, полученного решением ДУ и ошибки решения при шаге h=0.1 и h=0.01, h=0.001.




Рис.7. Графики выходного сигнала , полученного в аналитическом виде, выходного сигнала , полученного численным решением ДУ и ошибки решения при шаге



Рис.8. Графики выходного сигнала , полученного в аналитическом виде, выходного сигнала , полученного численным решением ДУ и ошибки решения при шаге



Рис.9. Графики выходного сигнала , полученного в аналитическом виде, выходного сигнала , полученного численным решением ДУ и ошибки решения при шаге



2.9 Анализа заданной системы с использованием спектрального метода (базис: Чебышева 2 рода)



Спектральная форма представления сигналов и временных динамических характеристик систем и объектов основана на их разложении в заданной системе ортогональных функций







Если некоторый сигнал  принадлежит пространству , т.е. для него справедливо положение

,



То он может быть представлен в виде ряда Фурье:



 (14)



Если ввести векторы







то ряд (14) можно представить следующим образом



 (15)



Совокупность коэффициентов Фурье  разложения сигнала  в ряд (14) называется спектральной характеристикой этого сигнала.



Коэффициенты Фурье  определяются по формуле



 (16)



Существенным и определяющим отличием спектрального описания дискретных сигналов от спектрального описания непрерывных сигналов на конечных интервалах является возможность их точного представления в виде рядов Фурье с конечным числом членов. Значит, если дискретный сигнал, а данный сигнал имеет место на входе ЭВМ после его аналого-цифрового преобразования (АЦП), задан на конечном множестве точек, например , в виде некоторой числовой последовательности , то его разложение по заданной системе ортогональных функций







определяется соотношением



 (17)



Система  - это система ортогональных, нормированных функций, удовлетворяющих условию







Коэффициенты Фурье  определяются по формуле



 				 (18)



Далее вводим полиномы Чебышева 2-го рода (19):



 (19)



2.9.1 Алгоритм построения спектральной характеристики(СХ)



1. Исходные уравнение (20):



(20)

Вычислим ядра  и  (21):



 (21)

 

3. Разложим  в ряды Фурье по заданному базису (22):



(22)


4. Получим значение Сх из приведенных ниже преобразований (23):



(23)



5. Найдем матрицу А:











6. Получены значения ядер:











7. Воздействие:

 







8. Значение вектора Cх:







9. Матрица А:



А= 





Рис.10 Переходная функция, построенная спектральным методом



Рис.11 График выходного сигнала, полученного аналитически, сигнала, полученного спектральным методом и ошибки.	


3. СИНТЕЗ



Исходные данные: структурная схема заданной системы изображена на рис. 12.

Введем в систему последовательное корректирующее устройство. В качестве регулятора выберем ПИД-регулятор.

Его передаточная функция имеет вид:



 (24)





Рис.12: Структурная схема заданной САУ с корректирующим устройством в прямой цепи.



3.1 Передаточная функция замкнутой цепи скорректированной САУ



Найдём передаточную функцию разомкнутой цепи, если известна передаточная функция объекта (25):









(25)

Передаточная функция замкнутой системы будет иметь вид (26):







(26)



Для решения задачи синтеза необходимо найти параметра регулятора , структура которого заданна (формула 31), при которых реальный выходной сигнал , являющийся реакцией на единичное ступенчатое воздействие, будет близок к заданному эталонному сигналу .



В качестве эталонного выходного сигнала выберем следующий сигнал:



, (27)



где параметр находится по следующей зависимости:



. (28)


3.2 Функционал качества, подлежащий дальнейшей минимизации



Критерием близости выберем метрику пространства .

Тогда целевая функция, подлежащая минимизации по параметрам регулятора будет иметь следующий вид:



 (29)



3.2.1 Поиск минимума функции методом Фибоначчи

Если начальный интервал  имеет длину , то произведя  вычислений функции, можно уменьшить начальный интервал неопределённости в  раз по следующей формуле:

 (30)

по сравнению с его начальной длинной (пренебрегая ).

Если определить последовательность чисел Фибоначчи следующим образом: для  то можно найти положение первой точки, которая помещена на расстоянии  от одного из концов начального интервала, причём не важно, от какого конца, поскольку вторая точка помещается согласно правилу симметрии на расстоянии  от конца интервала:



. (31)

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

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

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

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



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;

L1(2)=F2;

F3=4*T.^2-1;

L1(3)=F3;

F4=8*T.^3-4*T;

L1(4)=F4;

F5=16*T.^4-12*T.^2+1;

L1(5)=F5;

F6=32*T.^5-32*T.^3+6*T;

L1(6)=F6;

F7=64*T.^6-80*T.^4+24*T.^2-1;

L1(7)=F7;

F8=128*T.^7-192*T.^5+80*T.^3-8*T;

F9=256*T.^8-448*T.^6+240*T.^4-40*T.^2+1;

L1(9)=F9;

F10=512*T.^9-1024*T.^7+672*T.^5-160*T.^3+10*T;

L1(10)=F10;

F1=1;

L1(1)=F1;

G=L'*L1;

In=Kx*G;

r=int(In,T,0,t);

Cx=int(r,t,0,1.5);

In=Ky.*G;

r=int(In,T,0,t); 

Cy=int(r,t,0,1.5);

A=((Cx+eye(10)).^-1)*Cy;

Cy=int(L,t,0,1.5);

Cx=A*Cy'

Postr.m

function H=fun(t)

Cx=[3.7672; 1.3134; 0.5181; 0.2065; 0.0819; 0.0323; 0.0127; 0.0491; 0.0189; 0.0723];

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;

H=(Cx'*L');

t=[0:0.01:5];

plot(t,H)


10. Приложение 5 (Листинг скриптов для оптимизации)



jivs.m

clear

clc 

a=0;

b=5;

h=0.1;

Kp1=2; Kd1=1; Ki1=0;

J1=int2(Kp1, Kd1, Ki1);

while h>0.0000001

Kp2=Kp1+h;

J2=int2(Kp2, Kd1, Ki1);

if J2>J1

Kp2=Kp1-h;

J2=int2(Kp2,Kd1,Ki1);

if J2>J1

Kp2=Kp1;

end

end 

Kd2=Kd1+h;

J2=int2(Kp2, Kd2, Ki1);

if J2>J1

Kd2=Kd1-h;

J2=int2(Kp2,Kd2,Ki1);

if J2>J1

Kd2=Kd1;

end

end 

Ki2=Ki1+h;

J2=int2(Kp2, Kd2, Ki2,h);

if J2>J1

Ki2=Ki1-h;

J2=int2(Kp2,Kd2,Ki2,h);

if J2>J1

Ki2=Ki1;

end

end 

h=fibon(a,b,h); 

while J2<J1

Kp=Kp1+2*(Kp2-Kp1); Kd=Kd1+2*(Kd2-Kd1); Ki=Ki1+2*(Ki2-Ki1);

J1=J2;

J2=int2(Kp,Kd,Ki,h);

Kp1=Kp2;Kp2=Kp; Kd1=Kd2;Kd2=Kd; Ki1=Ki2;Ki2=Ki; 

end

end 

disp(Kp)

disp(Kd)

disp(Ki)

int2.m

function J=int2(Kp,Kd,Ki,h)

clc

T=4;

A=[0 1 0 0; 0 0 1 0; 0 0 0 1; -595.23809523*Ki -43.6507936507-595.23809523*Kp -56.34920634920635-595.23809523*Kd -5.59523809523809];

B=[0; 595.23809*Kd; 595.23809*Kp-3330.498866*Kd; 595.23809*Ki-33540.615-354308.277*(Kd)^2-3330.498*Kp-18634.934*Kd];

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;

end

grid on

fibon.m

function h=fibon(a,b,h)

F(1)=1; F(2)=1;n=100; 

for i=[1:0.1:n-2]

F(i+2)=F(i+1)+F(i);

end 

j=0;

x1=a; x3=b;

L1=x3-x1;

L2=(F(n-1)/F(n))*L1+((-1)^n)/F(n)*eps;

x2=x3-L2;

x4=x1+x3-x2;

while (abs(x3-x1) > eps)

F2=x2;

F4=x4;

if ((x2 < x4)&&(norm(F2) < norm(F4)))

x1=x1; x3=x4;

x4=x1+x3-x2;

elseif ((x2 > x4)&&(norm(F2) < norm(F4)))

x1=x4; x3=x3;

x4=x1+x3-x2;

elseif ((x2 < x4)&&(norm(F2) > norm(F4)))

x1=x2; x3=x3;

x2=x1+x3-x4;

elseif ((x2 > x4)&&(norm(F2) > norm(F4)))

x1=x1; x3=x2;

x2=x1+x3-x4;

end

j=j+1;

la=x1+(x3-x1)/2;

end 

l=la;