Автор: Пользователь скрыл имя, 25 Мая 2013 в 19:02, лабораторная работа
Цель
Закрепление теоретического материала, составление алгоритмов и программ для поиска экстремума целевой функции с использованием численных методов.
Министерство образования и науки Украины
Восточно-украинский университет имени В.Даля
Кафедра «Системная инженерия»
Математические методы в РТС
Лабораторная работа №5
Тема: «Численные методы оптимизации. Метод золотого сечения.»
Выполнил:
Ганущак А.С.
Проверила:
Луганск 2013
Закрепление теоретического материала, составление алгоритмов и программ для поиска экстремума целевой функции с использованием численных методов.
Блок-схема алгоритма:
Исходный код программы:
Program Metod_Zolotogo_Secheniya;
uses crt;
var a,b,E,x,F1,F2,FM,T1,T2,x1,x2:r
c:integer;
function F(x:real):real;
begin
F:=sqr(x)+4*exp(-0.25*x);
end;
begin
writeln('====Ганущак Александр гр. КТ-202====');
writeln(' ====Метод Золотого сечения====');
writeln;
write('Введите начало интервала а = ');
readln(a);
write('Введите конец интервала b = ');
readln(b);
write('Точность Е = ');
readln(E);
writeln('" 1" - поиск MIN');
writeln('"-1" - поиск MAX');
readln(c);
T1:=0.381966;
T2:=1-T1;
x1:=a+(b-a)*T1;
x2:=a+(b-a)*T2;
F1:=F(x1);
F2:=F(x2);
repeat
if (c*F1)<(c*F2) then
begin
b:=x2;
x2:=x1;
F2:=F1;
x1:=a+(b-a)*T1;
F1:=F(x1);
end
else
begin
a:=x1;
x1:=x2;
F1:=F2;
x2:=a+(b-a)*T2;
F2:=F(x2);
end;
until abs(b-a)<=E;
x:=(a+b)/2;
FM:=F(x);
writeln('Точка экстремума целевой функции Х = ', x:3:3);
if c=1 then
writeln('MIN в точке экстремума = ',FM:3:3)
else
writeln('MAX в точке экстремума = ',FM:3:3);
readln;
end.
Скриншоты программы:
Информация о работе Численные методы оптимизации. Метод золотого сечения