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

Поняття та характеристика унімодальної функції, порядок визначення її точок максимуму і мінімуму та умови екстремумів. Суть локальних та глобальних методів, особливості методів Больцано (поділу інтервалу навпіл), золотого перетину, рівномірної розбивки.

Рубрика Математика
Вид контрольная работа
Язык украинский
Дата добавления 28.04.2011
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Зміст

  • Теоретична частина 2
    • Загальні положення 2
    • Метод виключення інтервалів 4
      • Метод золотого перетину 5
      • Метод Больцано (метод поділу інтервалу навпіл) 8
    • Метод рівномірної розбивки 10
  • Практична частина 11
    • Пакетна реалізація 11
    • Програмна реалізація 11

ТЕОРЕТИЧНА ЧАСТИНА

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

Функція однієї змінної, що має на інтервалі дослідження один горб (западину) називається унімодальною.

Функція y=f(x) називається зростаючою (спадною) в деякому інтервалі, якщо при x1< x2 виконується нерівність f(x1)< f (x2) (f(x1)> f(x2)).

Якщо диференційована функція на відрізку [а, b] зростає (спадає), то її похідна на цьому відрізку f''(x)<0 (f''(x)>0).

Точка xо називається точкою локального максимуму (мінімуму) функції f(x), якщо існує окіл точки xо, для всіх точок якої вірна нерівність f(x)<f(xо) (f(x)>f(xо)).

Точки максимуму і мінімуму називаються точками екстремуму, а значення функції в цих точках - її екстремумами.

Необхідна умова екстремуму. Якщо точка xо є точкою екстремуму функції f(x), то або f'(xо) = 0, або f'(xо) не існує. Такі точки називають критичними, причому сама функція в критичній точці визначена. Екстремуми функції слід шукати серед її критичних точок.

Перша достатня умова. Хай xо - критична точка. Якщо f`(x) під час переходу через точку xо міняє знак плюс на мінус, то в точці xо функція має максимум, інакше - мінімум. Якщо під час переходу через критичну точку похідна не міняє знак, то в точці xо екстремуму немає.

Друга достатня умова. Хай функція f(x) має похідну f `(x) у околиці точки xо і другу похідну в самій точці xо. Якщо f`(xо) = 0, f``(x) >0 (<0), то точка xо є точкою локального мінімуму (максимуму) функції f(x). Якщо ж f``(x0)=0, то потрібно або користуватися першою достатньою умовою, або залучати вищі похідні.

На відрізку [а,b] функція в = f(x) може досягати найменшого або найбільшого значення або в критичних точках, або на кінцях відрізку [а,b].

Для того, щоб нам знайти екстремум деякої функції, ми знаходимо першу похідну та перевіряємо необхідну умову існування екстремуму - f`(x)=0 чи не існує. Далі ми перевіряємо першу достатню умову. Таким чином ми знайдемо екстремум нашої функції. Але іноді через незручний чи занадто громіздкий вигляд функції ми не можемо використовувати класичний метод. Аналітично вирішується лише незначна частина задач, тому розглядаються і деякі чисельні алгоритми. Чисельні алгоритми запрограмовані, як правило, у математичних комп'ютерних пакетах, які забезпечують високу точність і швидкість знаходження екстремуму, але, на жаль, не завжди знаходять глобальний екстремум. Серед таких пакетів слід відзначити математичні програми Maple, MatLab, Mathematica. Але це не означає, що для знаходження екстремумів слід користуватися ними, не маючи поняття про математичні алгоритми.

Існує низка інших методів, що допомагають у вирішенні даної задачі, які в загальному вигляді поділяють на:

* локальні методи: сходяться до якого-небудь локальному екстремуму функції (у разі унімодальному функції, цей екстремум єдиний, і буде глобальним максимумом / мінімумом).

* глобальні методи: мають справу з багатоекстремальними функціями (при глобальному пошуку основним завданням є виявлення тенденцій глобальної поведінки функції).

Існуючі в даний час методи пошуку екстремуму можна розбити на три великі групи:

1. детерміновані;

2. випадкові (стохастичні);

3. комбіновані.

Серед всіх найбільш відомими є:

· метод рiвномiрної розбивки;

· метод випадкового пошуку;

· методи виключення iнтервалiв:

- метод половинного ділення;

- метод золотого перетину;

- метод Фiбоначчi;

· методи полiномiальної апроксимації:

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

- метод кубічної апроксимації;

· методи з використанням похідних:

- метод Ньютона-Рафсона;

- метод середньої точки;

- метод сiчних.

Метод виключення інтервалів

Фактично всі одновимірні методи пошуку, які використовуються на практиці, засновано на припущенні, що досліджувана функція в припустимій області принаймні має властивість унімодальності. В нашому випадку ця властивість присутня. Корисність її визначається тим фактором, що для унімодальної функції порівняння значень у двох різних точках інтервалу пошуку дозволяє визначити, у якому із заданих двома зазначеними точками під інтервалів точка екстремуму відсутня.

Теорема: нехай функція унімодальна на замкненому інтервалі , а її мінімум досягається в точці х*. Розглянемо точки х1 і х2, які розміщені в інтервалі в такий спосіб, що a < x1 <x2 <b. Порівнюючи значення функції в точках х1 і х2, можна зробити наступні висновки:

1. Якщо >, то точка мінімуму не лежить в інтервалі , тобто (див. мал. (а)).

2. Якщо <, то точка мінімуму не лежить в інтервалі (), тобто (див. мал. (б)).

Метод золотого перетину

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

Нехай дано функція . Тоді для того, щоб знайти певне значення цієї функції на заданому відрізку, що відповідає критерію пошуку (нехай це буде мінімум), що розглядається відрізок ділиться в пропорції золотого перерізу в обох напрямках, тобто вибираються дві точки x1 і x2 такі, що:

На першій ітерації заданий відрізок ділиться двома симетричними щодо його центру точками і розраховуються значення в цих точках.

Після чого той з кінців відрізка, до якого серед двох заново поставлених точок ближче виявилася та, значення в якій максимальне (для випадку пошуку мінімуму) чи мінімальне (для випадку пошуку максимуму), відкидають. На наступній ітерації, беручи до уваги вказані раніше властивості золотого перерізу, вже треба шукати лише одну нову точку. Процедура триває доти, доки не буде досягнута задана точність.

Введемо позначення:

1 = b-a - початковий інтервал;

2 - інтервал, отриманий після зменшення інтервалу 1 шляхом відкидання його лівого чи правого підінтервалу.

К+1 - інтервал, отриманий після зменшення інтервалу К.

Розглянемо тепер метод золотого перетину формально. Як згадувалося вище, золотий перетин відрізка проводиться двома симетрично розташованими точками х1 і х2, тобто (b-a)/(b-x1)=(b-x1)/(x1-a)= і (b-a)/(x2-a)=(x2-a)/(b-x2)== (1+5)/21.618. До того ж, точка х1 в свою чергу проводить золотий перетин відрізку [a, x2], тобто (x2-a)/(x1-a) = (x1-a)/(x2-x1) = . Аналогічно, точка х2 проводить золотий перетин відрізка [x1, b].

Отже, метод золотого перетину полягає в тому, що довжини послідовних інтервалів у фіксованому відношенні:

1/2 = 2/3 = … =.

Із співвідношень К/K+1 = K+1/K+2 = і K = K+1 + K+2 отримуємо:

K/K+1 = (K+1+K+2)/K+1=1+K+2/K+1, = 1 + 1/ чи 2 - -1 = 0.

Коренем цього рівняння є золотий перетин

=(5+1)/2 1.618 = 1/ = (5-1)/2 0.618.

Можна записати формули для точок х1 і х2, що роблять золотий перетин на інтервалі [a, b]:

x1 = a+(1-)(b-a) x2 = a+(b-a)

Алгоритм:

Крок 1. Задаються початкові межі відрізка і точність , =(5-1)/2

Крок 2. Обчислити x1 =b - (b-a); x2 =a + (b-a)

Крок 3. Обчислити y1 = f(x1); y2 = f(x2)

· Якщо , то для подальшого поділу залишають інтервал [a, x2] та виконують наступне:

b: = x2; x2: = x1; y2: = y1; x1 := b-(b-a) y1 := f(x1)

· Інакше - для подальшого ділення залишають інтервал [x1, b] та виконують наступне:

a := x1; x1 := x2; y1 := y2; x2 := a+(b-a); y2 :=f(x2);

Крок 4. Порівняння довжини інтервалу невизначеності із заданою точністю : якщо (b-a), то покласти x*:= (b+a)/2 (точка мінімуму), інакше (якщо (b-a)>) - перейти до кроку 3.

Метод Больцано (метод поділу інтервалу навпіл)

Розглянутий метод дозволяє виключати точно половину інтервалу на кожній ітерації. Іноді цей метод називають точковим пошуком на рівних інтервалах, оскільки його реалізація заснована на виборі трьох пробних точок, які рівномірно розподілені в інтервалі пошуку. Нижче приводиться опис основних кроків пошукової процедури, орієнтованих на знаходження точки мінімуму функції в інтервалі .

Графічні ілюстрації до методу розподілу інтервалу навпіл

Алгоритм:

Крок 1. Покласти і . Обчислити значення .

Крок 2. Покласти і . Зауважимо, що точки поділяють інтервал на 4 рівні частини. Обчислити значення і .

Крок 3. Порівняти і .

· Якщо < (мал. (а)), виключити інтервал (), поклавши . Середньою точкою нового інтервалу пошуку стає точка х1. Отже, необхідно покласти . Перейти до кроку 5.

· Якщо (мал. (б)), перейти до кроку 4.

Крок 4. Порівняти і .

· Якщо <, виключити інтервал , поклавши . Через те, що середньою точкою нового інтервалу стає точка х2 - покласти . Перейти до кроку 5.

· Якщо , виключити інтервали і (). Покласти і . Відзначимо, що продовжує залишатися середньою точкою нового інтервалу. Перейти до кроку 5.

Крок 5. Обчислити . Якщо величина мала, закінчити пошук. Інакше - повернутися до кроку 2.

Зауваження:

1. На кожній ітерації алгоритму виключається точно половина інтервалу пошуку.

2. Середня точка послідовно отриманих інтервалів завжди збігається з однією з пробних точок чи , знайдених на попередній ітерації. Отже, на кожній ітерації потрібно не більше двох обчислень значення функції.

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

4. З усіх методів пошуку на рівних інтервалах (дво-, три-, чотириточковий і т. д.) триточковий пошук або метод розподілу інтервалу навпіл, відрізняється найбільшою ефективністю.

Метод рівномірної розбивки

Рівномірний пошук є прикладом одновимірного пошуку, коли точки, в яких обчислюється значення функції, вибираються заздалегідь. Початковий відрізок [a0, b0] ділиться на рівні відрізки довжиною d сіткою з n точок a0 + dk для k = 1,..., n і тоді b0 = a0 + (n +1)?d. Функція f (x) обчислюється в кожному з n вузлів отриманої сітки, і вибирається точка x, в якій вона має мінімальне значення. Цей метод зазвичай використовується для початкової оцінки відрізка [X - d, x + d], якому належить мінімум. Для досягнення високої точності в цьому методі необхідно здійснити велику кількість обчислень функції. Проте його перевагою є можливість пошуку глобальних екстремумів функції, коли немає впевненості в правильному визначенні початкового відрізка унімодальності.

ПРАКТИЧНА ЧАСТИНА

Знайти екстремуми функції f(x) = 15x2+ 36x - 14 аналітично.

Розв`язок.

f(x) =30x +36

30х+36=0;

5х= -6;

х= -1,2 - критична точка функції. Екстремум може бути лише в цій точці.

Знайдемо другу похідну:

- функція у вточці має глобальний мінімум.

Так як при переході через точку x = -1,2 похідна змінює знак з - на +, то в цій точці у функції мінімум. Обчисливши значення функції в точці x = -1,2, знайдемо екстремум функції:

Пакетна реалізація

Пакетна реалізація здійснена за допомогою пакету Maple.

Програмна реалізація

унімодальна функція максимум екстремум

Програмна реалізація здійснена на мові С.

#include <stdio.h>

#include <conio.h>

#include <math.h>

double f(double x)

{

return 15*x*x+36*x-14;

}

//na otrezke [a;b] funkciya dolgna bit unimodalnoi

double GoldenCut(double f(double),double a, double b, double eps)

{

double x1,x2,y1,y2,tau;

tau = (sqrt(5)-1)/2.0;

x1 = b-(b-a)*tau;

x2 = a+(b-a)*tau;

y1 = f(x1);

y2 = f(x2);

do{

if(y1<=y2)

{

b = x2;

x2 = x1;

y2 = y1;

x1 = b-(b-a)*tau;

y1 = f(x1);

}

else

{

a = x1;

x1 = x2;

y1 = y2;

x2 = a+(b-a)*tau;

y2 = f(x2);

}

}while((b-a)>eps);

return (b+a)/2.0;

}

//na otrezke [a;b] funkciya dolgna bit unimodalnoi

double Bolcano(double f(double),double a, double b, double eps)

{

double x1,x2,xm,L;

xm = (a+b)/2.0;

L = b-a;

do{

x1 = a+L/4.0;

x2 = b-L/4.0;

if(f(x1)<f(xm))

{

b = xm;

xm = x1;

}

else if(f(x2)<f(xm))

{

a = xm;

xm = x2;

}

else

{

a = x1;

b = x2;

}

L = b-a;

}while (fabs(L)>eps);

return (b+a)/2.0;

}

//na otrezke [a;b] funkciya dolgna bit unimodalnoi

double EquDiv(double f(double),double a, double b, double dx)

{

double min, i;

min = a;

for(i=a;i<b;i+=dx)

{

if(f(i)<f(min))

min = i;

}

return min;

}

void main(void)

{

double x,a,b;

clrscr();

puts("Vvedit a, b");

scanf("%lf%lf",&a,&b);

x = GoldenCut(f,a,b,0.0001);

printf("GoldenCut: f(%6.4lf) = %6.4f\n",x,f(x));

x = Bolcano(f,a,b,0.0001);

printf("Bolcano : f(%6.4lf) = %6.4lf\n",x,f(x));

x = EquDiv(f,a,b,0.0001);

printf("EquDiv : f(%6.4lf) = %6.4lf\n",x,f(x));

getch();

}

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [1,0 M], добавлен 22.10.2014

  • Розгляд нових методів екстримізації однієї змінної. Типи задач, які існують для розв’язування задач мінімізації на множині Х. Золотий поділ відрізка на дві неоднакові частини, дослідження його на стійкість. Алгоритм, текст програми, результат роботи.

    курсовая работа [408,0 K], добавлен 01.04.2011

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

    реферат [101,8 K], добавлен 02.11.2015

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

    лекция [103,6 K], добавлен 06.02.2014

  • Теоретичні матеріали щодо визначення методів дослідження лінійної залежності та незалежності функцій, проведення дослідження лінійної залежності систем функцій однієї змінної за визначенням і з використанням визначників матриць Вронського та Грама.

    курсовая работа [235,2 K], добавлен 15.06.2013

  • Суть функції багатьох змінних, її означення і символіки. Границя і неперервність функції багатьох змінних. Визначення відкритої та замкненої області. Множина точок площини, для яких задана формула має зміст, як область визначення. Функція двох змінних.

    реферат [289,8 K], добавлен 01.05.2011

  • Використання методів розв’язування одновимірних оптимізаційних задач (метод дихотомії, золотого перерізу, Фібоначі) для визначення найменшого значення функції на відрізку. Задача мінімізації за допомогою методу Ньютона і методу найшвидшого спуску.

    курсовая работа [739,5 K], добавлен 05.05.2011

  • Розв'язання завдання графічним способом. Зображення розв'язку системи нерівностей, визначення досягнення максимуму та мінімуму функції. Розв'язання транспортної задачі методом потенціалів та симплекс-методом, формування оціночної матриці з елементів.

    задача [134,9 K], добавлен 31.05.2010

  • Визначення основних понять і вивчення методів аналізу безкінечно малих величин. Техніка диференціального і інтегрального числення і вирішення прикладних завдань. Визначення меж числової послідовності і функції аргументу. Обчислення інтегралів.

    курс лекций [570,1 K], добавлен 14.03.2011

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

    реферат [28,5 K], добавлен 26.02.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.