Нахождение экстремумов функций
Поиск максимума функции методом половинного деления.
Нахождение максимума функции f(x) на интервале [a, b] методом половинного деления заключается в следующем. Отрезок [a, b] делится пополам , выбираются две точки справа и слева от середины х1=х-с, х2=х+с, где c<, например, c=0.2*10-6. Значения f(x1) и f(x2) сравниваются. Если f(x1)< f(x2), то далее в качестве [a, b] берется отрезок [х1, b], иначе [a, х2]. Новый отрезок делится пополам, и такой процесс повторяется до тех пор, пока отрезок не станет меньше заданной точности ε. Нахождение минимума производится аналогично.
Поиск максимума функции методом золотого сечения.
Этот метод
заключается в следующем. На отрезке [a,
b] ищутся две
точки
и
,
где
.
Если f(x1)
< f(x2),
то в качестве [a,
b] берется
отрезок [x1,
b], иначе
берется [a,
x2];
процесс продолжается до достижения
заданной точности (пока отрезок не
станет меньше заданного ε).
Нахождение минимума производится
аналогично.
Варианты заданий для нахождения экстремумов функции.
Вариант задания |
Вид функции y=f(x) |
Диапазон изменения аргумента [a, b] |
Точность вычисления экстремума |
1 |
2+x-x2 |
[0; 1,0] |
|
2 |
(1-x)4 |
[0,2; 1,5] |
0,5* |
3 |
cos x +ch x |
[-0,8; 0,4] |
|
4 |
x1/3(1-x)2/3 |
[0,1; 0,6] |
|
5 |
x3-6x2+9x+4 |
[0,2; 1,5] |
|
6 |
x3-6x2+9x+4 |
[2; 4] |
0,5* |
7 |
2x2-x4 |
[-2; 0,8] |
|
8 |
|
[1; 2] |
0,5* |
9 |
|
[0,1; 1,2] |
|
10 |
xe-x |
[0,1; 1,5] |
|
11 |
ln2 x/x |
[6; 8] |
|
12 |
x+1/x |
[0,1; 1,5] |
|
13 |
|
[0,15; 1,5] |
|
14 |
|
[-2; -0,5] |
|
15 |
ln2 x/x |
[0,1; 1,9] |
|
Контрольные вопросы
Что называется функцией?
Для чего нужен прототип функции?
Где размещается прототип функции в программе?
Где должно находиться определение функции в программе?
Где хранятся данные, объявленные в функции?
Напишите синтаксическую конструкцию определения функции?
Как осуществляется вызов функции?
Назовите критерии соответствия формальных и фактических параметров.
Какие объекты программы можно использовать в качестве формальных параметров?
Какие объекты программы можно использовать в качестве фактических параметров?
Зачем нужен оператор return?
Может ли в функции быть несколько операторов return?
Куда передается управление ходом выполнения программы при завершении работы функции?
Когда используются формальные параметры-указатели? Какими в этом случае должны быть фактические параметры?
Для чего используется указатель на функцию? Как его описать?
Как обратиться к функции, переданной через параметр?
