|
2 x 3 y 4 |
|||||
|
|
5 |
x |
0 |
y |
6 , |
|
|
|
|
|
||
откуда x |
6 / 5 1,2 и y 4 2 1,2 / 3 0,533. |
|||||
Если же использовать приведённые выше общие формулы, то |
||||||
D 2 0 3 5 15, Dx 3 6 4 0 18 и Dy 4 5 2 6 8 , |
||||||
и тогда x |
18 /15 1,2 и y 8 /15 0,533 . |
|
|
|||
Новое приближение x 0 1,2 1,2 |
и y 0 0,533 0,533. Обозначим его как |
|||||
X 1 . В точке X 1 1,2; 0,533 значения функций
F X 1 1,2 0,533 2 1,2 3 0,533 4 0,640, G X 1 1,22 0,533 5 1,2 6 0,768 ,
а значения производных
Fx |
0,533 2 |
1,467, |
Fy |
1,2 3 1,8, |
|
|
|
|
|
|
|
|
|
||||||||||||
Gx |
2 1,2 0,533 5 |
6,279, |
|
Gy 1,22 1,44 . |
|
|
|
|
|
|
|
||||||||||||||
Соответствующая линейная система имеет вид |
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
1,467 x |
1,8 y |
0,640 |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
6,279 x |
1,44 y 0,678, |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
откуда x 0,251 и y 0,560. Новое приближение |
|
|
|
|
|||||||||||||||||||||
|
|
|
x 1,2 0,251 0,949 и y 0,533 0,560 1,093. |
||||||||||||||||||||||
Дальнейшие вычисления оформим в виде таблицы 2.3: |
|
|
|
|
|||||||||||||||||||||
Таблица 2.3 – Решение примера 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
строка |
|
x |
|
|
y |
|
|
|
F |
|
G |
|
Fx |
|
Fy |
|
Gx |
Gy |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
0 |
|
0 |
|
|
4 |
|
–6 |
|
–2 |
|
–3 |
|
5 |
|
0 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
2 |
|
1,2 |
|
0,533 |
|
0,64 |
|
0,678 |
–1,467 |
–1,8 |
6,279 |
1,44 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
3 |
|
0,949 |
|
1,093 |
|
0,140 |
|
0,268 |
|
0,907 |
|
2,051 |
7,076 |
0,901 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
4 |
|
0,999 |
|
1,003 |
|
0,005 |
–0,006 |
|
0,997 |
|
2,001 |
7,003 |
0,997 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
1 |
|
1 |
|
|
0 |
|
0 |
|
-1 |
|
-2 |
|
7 |
|
1 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Таблица 2.3 (окончание) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
строка |
|
D |
|
Dx |
|
Dy |
|
|
x |
|
|
y |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
1 |
|
|
|
15 |
|
18 |
|
8 |
|
1,2 |
|
0,533 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
|
|
|
|
|
|
|
|
|
|
2 |
9,192 |
–2,304 |
5,146 |
–0,251 |
0,560 |
|
|
|
|
|
|
3 |
13,692 |
0,676 |
–1,236 |
0,049 |
0,090 |
|
|
|
|
|
|
4 |
13,021 |
0,016 |
0,037 |
0,001 |
–0,003 |
|
|
|
|
|
|
5 |
13 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
Здесь Dx , Dy и D найдены по указанным выше общим формулам. При при-
менении пакета Excel достаточно использовать ссылки на нужные значения
На 4-м шаге x 0,001 0,01 и y 0,003 0,01 , вычисления законче-
ны. Действительно, добавив эти величины к прежним значениям x, y , получаем x 1, y 1 , для которых F 0 и G 0 , а именно это нам и требуется. Попытка пересчитать x, y приводит к тем же самым значениям.
Ответ: с точностью 0,001 решение системы – x 1, y 1 .
Замечание 1. Из схемы следует, что для сходимости метода Ньютона нужно, чтобы ни на каком шаге решения определитель матрицы частных производных не обратился в 0.
Если определитель не обращается тождественно в 0 в каждой точке (тогда задачу вообще решить невозможно), то определить по первоначальному приближению, выполнено ли условие сходимости, весьма сложно, и этот вопрос выходит за рамки пособия. При решении в пакете Excel достаточно поменять начальное приближение.
Замечание 2. Также следует помнить, что, в отличие от линейных систем, нелинейная может иметь несколько решений, и небольшое изменение начального приближения может резко поменять ответ. Обычно это происходит, если начальное приближение находится вблизи стационарных точек системы.
Замечание 3. При решении упрощённым методом Ньютона можно не пересчитывать частные производные и использовать те, что получены на 1-м шаге (тогда матрица соответствующей системы относительно i не изменяется). Схо-
димость при этом может существенно замедлиться.
2.7. Поиск глобальных экстремумов функции и метод золотого сечения
Известно, что функция, непрерывная на отрезке, достигает на нём наименьшего и наибольшего значения либо на концах отрезка, либо в критических точ-
47
ках, где производная равна 0 или не существует. Отсюда следует простая схема поиска наименьшего и наибольшего значения функции f(x) на отрезке:
1) найти производную f x ;
2) найти с её помощью критические точки; 3) найти значения функции на концах отрезка и в критических точках, вхо-
дящих в отрезок; 4) выбрать самое большое и самое малое значения.
В этой схеме наиболее сложен 2-й пункт. По общей схеме можно найти корни только у простейших производных. В других случаях поиск критических точек возможен лишь приближённо, и точное решение всей задачи теряет смысл.
Эта же проблема возникает и при простом поиске экстремума по производной, поэтому необходимы способы поиска минимума и максимума, позволяющие обойтись без производной.
Поиск экстремума приближёнными методами похож на решение уравнения методом деления отрезка.
Пусть необходимо найти точку глобального минимума функции f(x) и известно, что она находится на отрезке [a, d]. Разделим отрезок на 3 части точками b, c так, чтобы a b c d и найдём значения f a , f b .
Пусть f b f c . Если функция не слишком «необычна», можно ожидать, что при движении слева к точке c функция возрастает. Тогда маловероятно, что точка минимума находится правее точки c, т.е. на участке [c, d], поэтому участок [c, d] можно исключить из рассмотрения. Скорее всего, точка минимума находится на промежутке [a, c], и именно на нём будем её искать дальше.
Наоборот, если f b f c , то, независимо от значений на концах отрезка, точка минимума должна быть на [b, d], но не на [a, b], и из рассмотрения можно исключить участок [a, b]. Скорее всего, на нём функция или всё время убывает, или возрастает до максимума и потом убывает.
В любом случае отсекая ненужный участок, получаем уменьшенный отрезок – либо [a, c], либо [b, d]. Переобозначив его как [a, d], снова делим на 3 части точками b, c и повторяем рассуждения.
Действуя так много раз, получим малый отрезок, длина которого будет меньше допустимой погрешности. Тогда любая точка такого отрезка может считаться точкой минимума (обычно берут середину отрезка).
Если же на отрезке [a, d] нет локального минимума, то произойдёт движение к концу отрезка, в котором значение функции меньше: к точке a, если
48
f a f d , или к точке b, если f a f d . Будет получено наименьшее значение, не являющееся локальным минимумом (глобальный минимум).
Даны отрезок [a, d] и f x . Надо найти точку глобального минимума xmin
сточностью .
1)Найдём b a d a / 3 и c a 2 d a / 3 .
2) |
Если c b , то xmin b при f b f c и xmin c при |
f b f c , а вычис- |
|
ления прекращаем; если же c b , переходим к п.3). |
|
|
|
3) |
Если f b f c , то a a и d c ; иначе (если |
f b f c ) делаем a b и |
|
dd .
4)Переходим к п.1.
Здесь равенства подразумеваются как операторы присваивания.
Если поменять всюду знаки неравенств, то в процессе вычислений придём к точке максимума xmax . В случае f b f c можно оставить любую часть – или
[a, c], или [b, d]. Для компьютера числа с плавающей запятой типа REAL никогда не равны, и результат выбора будет случаен.
Метод прост, но сходится очень медленно – ещё медленнее, чем метод деле-
ния отрезка. Для достижения точности необходимо log |
|
d a |
приближений, |
|
1,5 |
|
|||
|
|
|||
|
|
|
где d a – длина начального отрезка.
Пример. Найдём с точностью 0,1 точку глобального минимума функции f x x2 x на отрезке 0; 1 . Вычисления проведём с одной запасной цифрой.
1-й шаг. Длина отрезка 0; 1 равна 1, треть длины равна 1/3. Отрезок делится на три части точками a 0, b 0,33, c 0,67, d 1 .
Находим f 0,33 0,332 0,33 0,22 и f 0,67 0,672 0,67 0,22 .
Поскольку f 0,33 f 0,67 , можно взять как 0; 0,67 , так и 0,33; 1 .
2-й шаг. Возьмём отрезок 0; 0,67 . Треть его длины равна 0,22, поэтому те-
перь a 0, b 0,22, c 0,45, |
d 0,67 . Находим |
|
f 0,22 0,222 |
0,22 0,17 и |
f 0,45 0,452 0,45 0,25. |
|
49 |
|
Поскольку f 0,22 f 0,44 , оставляем участок 0,22; 0,67 как новый отрезок.
3-й шаг. Теперь a 0,22, b 0,37, |
c 0,52, d 0,67 . Считаем |
||
f 0,37 0,372 0,37 0,23 и |
f 0,52 0,522 0,52 0,25 . |
||
Так как f 0,37 f 0,52 , остаётся отрезок 0,37; |
0,67 . |
||
4-й шаг. Для точек a 0,37, b 0,47, c 0,57, |
d 0,67 замечаем, что |
||
c b 0,57 0,47 0,1 . |
|||
Остаётся сравнить значения |
|
|
|
f 0,47 0,472 0,47 0,25 |
и |
f 0,57 0,572 0,57 0,245 . |
|
Поскольку f 0,47 f 0,57 , считаем, что xmin 0,47 0,5 . Ответ: xmin 0,5 с точностью 0,1.
Легко видеть, что точка x = 0,5 – точное решение задачи как вершина параболы y x 2 x . Поэтому при выборе xmin 0,47 или xmin 0,57 результат был бы только хуже.
Схема неудобна тем, что каждый раз приходится искать 2 новые точки и 2 новых значения функции. Оказывается, если делить отрезок не на равные части, а в отношении 0,382 : 0,236 : 0,382, то при удалении участка [c, d] бывшая точка b на следующем шаге всегда будет становиться точкой c.
Наоборот, бывшая точка c станет точкой b, если удалить участок [a, b]. Тогда достаточно найти точку на расстоянии 0,382(d–a) от a или от d соответственно и найти значение функции в этой точке, а потом сравнить со значением, уже известным из предыдущего шага.
Указанное свойство объясняется тем, что точка b делит отрезок [a, c] в той же пропорции, что точка c – отрезок [a, d], а именно в отношении 0,5 
5 1 0,618 . Такая пропорция называется "золотым сечением". Таким образом можно примерно в 2 раза ускорить вычисления, хотя число шагов почти не уменьшается. Уменьшается же число действий на каждом шаге. Для достижения точности
необходимо log |
|
d a |
приближений, где d a – длина начального отрезка. |
|
1,618 |
|
|||
|
|
|||
|
|
|
Даны отрезок [a, d] и f x . По-прежнему ищем точку глобального минимума xmin с точностью .
50