Автор работы: Пользователь скрыл имя, 17 Июня 2013 в 13:37, курсовая работа
Понятия минимум и максимум объединяются одним – экстремум (от латинского слова extremum – крайний). Задачи на отыскание максимума или минимума критерия оптимальности называют экстремальными или оптимизационными задачами. Оба эти названия эквивалентны, однако первое из них акцентирует внимание на математическую суть задачи, второе – на ее прикладную направленность.
Введение 5
1. Постановка задачи 7
2. Математическая формулировка задачи 9
2.1 Принцип поиска минимумам функции нескольких переменных 9
2.2 Метод квадратичной интерполяции-экстраполяции 10
3. Алгоритмизация программы 11
4. Идентификаторы программы 12
5. Блок-схема алгоритма 13
6. Текст программы 19
7. Результаты выполнения программы 22
8. Анализ результата 23
9. Инструкция по работе с программой 24
Заключение 26
Список используемых источников 27
Writeln;
Writeln;
Writeln('
Gotoxy(1,25);
Writeln(' Для продолжения нажмите любую клавишу... ');
Readkey;
end;
procedure pr_break;
begin
err:=true;
Writeln('Нет сходимости в окрестности точки первого приближения.');
Writeln('Измените ее значение и повторите вычисления.');
end;
begin
TextBackGround(7);
TextColor(0);
ClrScr;
Title;
repeat
ClrScr;
Writeln('Введите исходные данные:');
Write(' Точность вычисления е=');
Read(e);
Writeln(' Координаты точки минимума в первом приближении (x0=-1; y0=2):');
Write(' x0='); Read(x1);
Write(' y0='); Read(y1);
dx:=0.1*e;
dy:=0.1*e;
f_:=f(x1,y1);
err:=false;
n:=0;
ClrScr;
repeat
n:=n+1;
{интерполяция по x}
x2:=x1+dx;
f1:=f(x1,y1);
f2:=f(x2,y1);
if f1>f2 then x3:=x1+2*dx else x3:=x1-dx;
f3:=f(x3,y1);
a1:=(f2-f1)/(x2-x1);
a2:=1/(x3-x1)*((f3-f1)/(x3-x1)
if a2=0 then
begin
pr_break;
break;
end;
x1:=(x1+x2)/2-a1/2/a2; {предполагаемая точка минимума}
{интерполяция по y}
y2:=y1+dy;
f1:=f(x1,y1);
f2:=f(x1,y2);
if f1>f2 then y3:=y1+2*dy else y3:=y1-dy;
f3:=f(x1,y3);
a1:=(f2-f1)/(y2-y1);
a2:=1/(y3-y1)*((f3-f1)/(y3-y1)
if a2=0 then
begin
pr_break;
break;
end;
y1:=(y1+y2)/2-a1/2/a2; {предполагаемая точка минимума}
Writeln('x=', x1:0:5, '; y=', y1:0:5, '; f_min=',f(x1,y1):0:5);
d:=abs(f_-f(x1,y1));
f_:=f(x1,y1);
until ((d<e) and (fdx(x1,y1)<e) and (fdy(x1,y1)<e) );
if err=false then
begin
Writeln('Минимум
функции в окрестности
Writeln('x=', x1:0:5, '; y=', y1:0:5, '; f_min=',f(x1,y1):0:5);
Writeln('df/dx=',fdx(x1,y1):0:
end;
WriteLn('Для продолжения нажмите любую клавишу, для выхода - <ESC>...');
v:=readkey;
until v=chr(27)
end.
Правильность решения можно оценить средствами MathCAD, с использованием функции Minimize():
Given
Вывод – разработанная программа выдает результаты, соответствующие действительным с учетом заданной погрешности.
После запуска на выполнение файла minf2pr.exe на экран выводится титульный заголовок согласно рисунку 4.
После нажатия любой клавиши программа запрашивает исходные данные – точность решения задачи, координаты точки начального приближения (рисунок 5). Пользователь должен их ввести с клавиатуры. Далее производит поиск локального минимума функции с выводом на экран промежуточных данных согласно рисунку 3. В завершение программа выводит на экран найденные координаты экстремума, значение функции в этой точке и частные производные.
Можно повторить вычисления, нажав любую клавишу после вывода данных или выйти из программы, нажав клавишу ESC.
При некоторых значениях погрешности и координат точки начального приближения сходимость интерполяционного метода может не выполняться. В этом случае необходимо ввести новые исходные данные и повторить вычисления.
Заключение
Целью данной курсовой работы является изучение методов и приемов решения задач на персональном компьютере с применением алгоритмического языка Паскаль и составлением программы расчета.
Изучен численный метод нахождения минимума функции многих переменных – метод квадратичной интерполяции-экстраполяции, который часто приходится применять при поиске оптимальных инженерно-технических, экономических и научных решений.
Разработанная программа позволяет находить локальный минимум в окрестности точки начального приближения. Поиск глобального минимум требует проведения большого объема работ по предварительному функциональному анализу на предмет наличия локальных минимумов в окрестности точки, вычисления и сопоставления их.
Список используемых источников
Информация о работе Программа поиска минимума функции N переменных