Міністерство освіти і науки Російської Федерації
САРАТОВСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ
ІМЕНІ Н.Г. ЧЕРНИШЕВСЬКОГО
Кафедра дискретної математики та інформаційних технологій
РЕФЕРАТ
На тему: В«Методи оптимізаціїВ»
Студента 2 курсу, 221гр.
денного відділення факультету КНіІТ
Баришева Андрія В'ячеславовича
Викладач: Тананко І. Є.
Саратов, 2013
Завдання
Дана функція f (x) = x3 - 3 * sin (x), слід визначити мінімум даної функції на відрізку [0, 1] методами перебору, поразрядного пошуку, дихотомії, золотого перерізу, парабол і знайти нулі функції методом Ньютона. Своє мінімальне значення f (x) = -1.64213 функція приймає при x = 0.824132. p align="justify"> графік функція парабола
В
. Метод перебору
Реалізація методу на C + +
# include
# include namespace std; func (double x)
{pow (x, 3) - 3 * sin (x);
} main ()
{a = 0, b = 1; x, y; n; <<"n =";>> n; = func (a); (int i = 1; i <= n; i + +)
{= a + i * (ba)/(n +1); (func (x)
} <
}
При e = 0.001 (n = 1000) програма виводить x = 0.999 y = -1.64213.
. Метод порозрядного пошуку
Реалізація методу на C + +
# include
# include
# include namespace std; func (double x)
{pow (x, 3) - 3 * sin (x);
} main ()
{a = 0, b = 1; x, y, sh, x0, x1, f0, f1, e; <<"e =";>> e; = (ba)/4; = a; = func (x0);: = x0 + sh; = func (x1); (f0> = f1)
{= x1; = f1; (a <= x0 && x0 <= b) label;
} (fabs (sh) <= e)
{= x0; = func (x0);
}
{= x1; = f1; =-sh/4; label;
} <
}
При e = 0.001 програма виводить x = 0.824219 y = -1.64213.
. Метод дихотомії
Реалізація методу на C + +
# include
# include namespace std; func (double x)