Розробка програми визначення екстремумів функцій градієнтним методом

Теоретичні відомості Загальні положення Екстремумом функції називається її мінімальне або максимальне значення. Градієнтний метод Градієнтом функції в точці називається вектор ортогональний до дотичної до поверхні рівня функції в цій точці площини і направлений в сторону найшвидшого збільшення функції. Протилежний йому напрям антиградієнта показує шлях найшвидшого зменшення функції. Визначений таким чином напрям вектораградієнта антіградієнта дозволяє виконувати оптимальні кроки і спрямовувати траєкторію спуску в...

2015-08-11

44.78 KB

1 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


Міністерство освіти і науки, молоді та спорту України

Національний технічний університет України

“Київський політехнічний інститут”

                          Кафедра автоматизації

енергосистем

З В І Т

Про виконання завдання

Заняття № 7

По курсу Обчислювальна техніка та алгоритмічні мови

Розробка програми

визначення екстремумів функцій градієнтним методом

Виконав: студент 1-го курсу

ФЕА, гр. ЕС-42

Злобін А. І.

                                                                                                     Перевірив: Настенко Д. В.                                   

Київ 2015

Розробка програми

визначення екстремумів функцій градієнтним методом

Мета роботи: Закріплення знань із застосування градієнтних методів для визначення екстремумів функцій, розробка відповідного алгоритму і програми на мові Pascal і застосування її для розв’язання індивідуального завдання.

1. Теоретичні відомості

Загальні положення

  Екстремумом функції  називається її мінімальне або максимальне значення.

  Координати кожної точки на траєкторії спуску обчислюються за рекурентною формулою:

                                                                            (12.1)

де  - вектори координат -ї  і  наступної -ї точок траєкторії;

    - коефіцієнт кроку. Дозволяє впливати на довжину кроку при переході від точки  до точки . В роботі приймається як постійна величина  ;

    - крок, задає напрям кроку.

Градієнтний метод

    Градієнтом функції  в точці  називається вектор, ортогональний до дотичної до поверхні рівня функції в цій точці площини і направлений в сторону найшвидшого збільшення функції. Позначається .

Протилежний йому напрям антиградієнта  показує шлях найшвидшого зменшення функції.

   Визначений таким чином напрям вектора-градієнта (антіградієнта) дозволяє виконувати оптимальні кроки і спрямовувати траєкторію спуску в бік екстремума функції, який треба знайти. Саме тому в градієнтному методі кроки оптимізації виконуються вздовж  вектора градієнта:

                                                                                    (12.2)

   Знак залежить від виду екстремуму функції, який визначається:

знак +” - при пошуку максимуму функції, знак “-” – мінімуму.

   Вектор-градієнт  визначається через похідні функції  по всім незалежним змінним:

                                                                  (12.3)

Загальний алгоритм визначення екстремума функції

градієнтним методом

  1.  Підготовчий етап:
  •   визначення структури вектора-градієнта і аналітичних виразів його складових  диференціюванням функції  по усім змінним ;
  •   вибір коефіцієнту кроку ;
  1.  Вибір і завдання начальних наближень вектора змінних , які є координатами початкової точки траєкторії спуску. Обчислення значення функції в цій точці ;
  2.  Обчислення значень похідних функції (складових вектора-градієнта) в точці : ;
  3.  Контроль завершення відповідно до умов (12.5). Якщо ці умови не виконуються – перехід до п. 5, якщо виконується – до п. 6;
  4.  Виконання кроку вздовж вектора-градієнта, заданого його складовими, відповідно до (12.4), визначення координат чергової точки :  

                                         .

    Повернення до п. 3;

  1.  Точка траєкторії спуску , координати якої  визначені в результаті останнього кроку, є шуканим екстремумом функції із заданою точністю .

         Обчислюємо значення функції в цій точці  .

Індивідуальне завдання №9:   

Програма:

Program grad;

uses graph,crt;

type mass=array[0..1000] of real;

Var Fx,dF,x3,Fx1,dF1,x1,x2,p,y:mass;

e,h:real;

n,driver,detect:integer;

s1:string;

k, i, dm, dn, j, zoom :integer;

dx,yy, Ymin, Ymax, x, Ky, px, py,aa,bb,miny,minx: real;

s: string;

ch:char;

f:text;

procedure graphik(a,b:real;Nx,Ny:integer;col1,col2,BkCol:integer);

label

m,m1;

begin

cleardevice;

setbkcolor(bkcol);

dx:=(b-a)/640;

x:=a;

setcolor(col1);

outtextxy(10,20,'x1');

miny:=-1000;

for i:=1 to 640 do

begin

Y[i]:=x+sin(x);

if Y[i]>miny then

begin

miny:=y[i];

minx:=i;

end;

x:=x+dx;

end;

Ymin:=Y[1];

K:=0;

for i:=1 to 640 do

if Y[i]<Ymin then

begin

Ymin:=Y[i];

k:=i;

end;

Ymax:=Y[1];

j:=0;

for i:=1 to 640 do

if Y[i]> Ymax then

begin

Ymax:=Y[i];

j:=i;

end;

Ky:=480/abs(Ymax-Ymin);

moveto(1,480-round((y[1]-ymin)*ky));

for i:=1 to 640 do

lineto(i,480-round((Y[i]-Ymin)*Ky));

px:=(b-a)/nx;

x:=a;

setcolor(col2);

line(639,1,639,479);

for i:=0 to nx do

begin

line(i*64,480,i*64,1);

str(x:5:2, s);

outtextxy(i*64+10,470,s);

x:=x+px;

end;

py:=(ymax-ymin)/ny;

yy:=ymax;

line(1,1,639,1);

for i:=1 to ny do

begin

line(1,i*48-1,640,i*48-1);

str(yy:5:2,s);

outtextxy(2,48*i-40,s);

yy:=yy-py;

end;

setcolor(white);

line(0,round(getmaxy/2),getmaxx,round(getmaxy/2));

fillellipse(round(minx),480,10,10);

outtextxy(round(minx)-20,450,'EKSTREMUM');

readkey;

closegraph;

end;

begin

writeln('Vvedite x0');

readln(x3[0]);

writeln('Vvedite [a,b]');

readln(aa,bb);

assign(f,'text.TXT');

rewrite(f);

h:=0.1;

e:=0.001;

n:=0;

Repeat

p[n]:=n;

Fx[n]:=x3[n]+sin(x3[n]);

dF[n]:=1+cos(x3[n]);

Fx1[n]:=abs(Fx[n]);

dF1[n]:=abs(dF[n]);

x1[n]:=abs(x3[n]);

x3[n+1]:=x3[n]+h*dF[n];

n:=n+1;

writeln('n: ',n,' x: ',x3[n-1]:8:7,' F: ',Fx[n-1]:8:7,' dF: ',dF[n-1]:8:7);

writeln(f,'n: ',n,' x: ',x3[n-1]:8:7,' F: ',Fx[n-1]:8:7,' dF: ',dF[n-1]:8:7);

Until abs(dF[n-1])<=e;

readln;

drawgraphic(p,Fx1,'F');

readln;

drawgraphic(p,dF1,'dF');

readln;

drawgraphic(p,x1,'X');

readln;

graphik(aa,bb,10,10,red,10,0);

readln;

close(f);

end.

 Блок-схема:


Вихід

Ні

ак

Вхід

k,x,F 



 

Другие похожие работы, которые могут вас заинтересовать.
13385. Розробка програми чисельного розв’язання звичайних диференційних рівнянь (ЗДР) методом Ейлера 48.48 KB
  Частковим розв’язком називається функція, яку отримаємо із загального розв’язку при вибраному відповідно до заданих початкових умов, значенні. Йому відповідає одна із інтегральних кривих, яка проходить через задану точку початкових умов
8308. Мінімізація логічних функцій методом Квайна 78.19 KB
  Мета: Засвоїти мінімізацію функцій методом Квайна. мінімізація логічних функцій методом Квайна. МІНІМІЗАЦІЯ ЛОГІЧНИХ ФУНКЦІЙ МЕТОДОМ КВАЙНА. А мінімізувати методом Квайна Щоб мінімізувати функцію методом Квайна потрібно заповнити дві таблиці.
3631. Освоєння технології структурного та модульного програмування при розробці й створенні програми мовою Турбо Паскаль при реалізації на ПЕОМ задач з використанням функцій 73.19 KB
  Дослідити роботу операторів функцій мови Паскаль; знати призначення, форму запису та особливості вживання функцій. Освоїти методику розробки, відладки Паскаль-програм (ПП) з використанням функцій на персональних ЕОМ.
2049. ВИЗНАЧЕННЯ ШВИДКОСТЕЙ І ПРИСКОРЕНЬ ГРУП 3-го КЛАСУ МЕТОДОМ ПЛАНІВ 377.79 KB
  Ми бачимо що використовувати метод кінематичного аналізу груп 2го класу в даному випадку неможливо оскільки немає жодної точки групи швидкість і прискорення якої можна було б визначити з двох відомих. Всього може бути визначено 3 точки Ассура проте для вирішення поставленої задачі достатньо однієї. Визначимо швидкість точки S як такої що належить ланці 4 через точки F E які потім виразимо через відомі точки В С.2 в довільному масштабі для чого з точки р як з полюса проводимо у вибраному масштабі...
2051. ВИЗНАЧЕННЯ ШВИДКОСТЕЙ І ПРИСКОРЕНЬ СТРУКТУРНИХ ГРУП II КЛАСУ МЕТОДОМ ПЛАНІВ 53.3 KB
  Використаємо теорему про додавання швидкостей яка за складного руху точки стверджує: При плоскому русі ланки переносний рух є поступальним зі швидкістю довільно обраної точки ланки прийнятої за полюс а відносний рух є...
20501. Розробка інформаційно-наукового web-ресурсу з тематики: Розробка web-ресурсу для підприємства, з метою реклами та організації його роботи, засобами НТМL i CSS 23.4 KB
  Розроблено макет web-ресурсу написано стилі для кожного блоку сайту. РОЗДІЛ І ТЕОРЕТИЧНІ ОСНОВИ WEB-ТЕХНОЛОГІЙ Програмні рішення для створення web-сайту HTML англ. Основні етапи процесу підготовки та створення web-ресурсу Розробка сайту так само як і будівництво будинку мають послідовно виконані визначені етапи: від проектної документації і закладки фундаменту до внутрішньої і зовнішньої обробки приміщення. Роботу над кожним проектом слід проводити в строгій відповідності з приведеними нижче етапами робіт з розробки сайту.
8755. Використання агрегатних функцій 12.16 KB
  Виклад нового матеріалу План Поняття та призначення функцій. Домашнє завдання: вивчити матеріал лекції знати відповіді на такі питання лекції: Які функції мови SQL Ви знаєте Для чого призначена кожна функція мови SQL В яких операторах мови SQL можна використовувати функції а в яких ні За допомогою запитів можна узагальнити значення одного поля. Вони повертають тільки одне значення для цілої групи рядків таблиці. Наприклад сума значень одного поля або найбільше значення зі всіх обраних значень одного поля все це можливо...
10836. 3агальна характеристика процесу та функцій менеджменту 21.88 KB
  Організаційна характеристика процесу менеджменту відображає просторову й часову послідовність його перебігу, визначену циклом менеджменту. За змістом цикл менеджменту-це послідовність виконання функцій менеджменту. Він здійснюється за загальною логічною схемою осмисленої людської діяльності: від формулювання мети до контролю за досягненням . При цьому організацію з модельовано як відкриту систему, що має входи і виходи та складається з керуючої та керованої систем , які тісно взаємодіють, оскільки є органічно взаємопов’язаними
8819. Організм багатоклітинних тварин і регуляція його функцій 255.88 KB
  Тема: Організм багатоклітинних тварин і регуляція його функцій Мета. узагальнити знання про цілісність організму про органи та системи органів тварин їх функції; особливості координації і регуляції функцій у тварин. ПРИГАДАЙТЕ які системи органів є у тварин Як регулюються життєві функції організмів багатоклітинних тварин Що таке залози внутрішньої секреції і які їхні функції Що таке імунітет антитіла антигени ІІІ Вичення нового матеріалу План роботи Системи органів багатоклітинних тварин. Координація і регуляція функцій у...
4715. АНТИВІРУСНІ ПРОГРАМИ 148.39 KB
  Сучасні антивірусні програми є багатофункціональні продукти поєднують у собі як превентивні профілактичні кошти і засоби лікування вірусів і відновлення даних. Спочатку зявляється конкретний тип вірусної програми а вже потім розробляється під неї відповідна антивірусна програма.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.