Допустим, снова шаг оказался неудачным, тогда осуществляют вновь деление предыдущего шага пополам до тех пор, пока последний шаг не будет меньше или равен заданной точности поиска.
В этой точке определяют вновь частные производные по осям координат от рассматриваемой функции, из которых выбирают наибольшую. Предположим, что это направление будет по оси х2, по которой продолжают движение по вышеизложенному алгоритму до следующего экстремума по заданному направлению и т.д.
Алгоритм поиска следующий:
|
j |
|
|
j 1 |
|
|
|
|
f (x |
i |
) |
|
|
|
|||||||
x |
|
x |
|
|
h ε |
|
|
|
|
|
|
|
|
|
. |
||||||
i |
i |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
xi |
|
|
|
|
|
xj 1 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i |
При этом |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f(xi ) |
|
|
|
|||||||
|
|
|
|
|
|
1, |
если |
|
|
|
|
|
|
|
|
|
max ; |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
xi |
|
|
|
|
|
|
И |
||
|
|
|
|
|
|
|
|
|
|
|
|
f(xi ) |
|||||||||
|
|
|
|
ε |
|
0, |
если |
|
|
|
|
|
|
|
|
|
max ; |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
Д |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
xi |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
А |
|
|
|
|
) |
|
|||||||
|
|
|
|
|
|
|
1, если |
f(xi |
min . |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
б |
|
|
|
x |
i |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
С |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Движение по вышеизложенному методу осуществляется до тех пор, пока не будет достигнут экстремум с заданной точностью поиска. Иначе при очередном изменении направления движения первый шаг окажется неудачным. Тогда последняя удачная точка является результатом решения рассматриваемой задачи [4].
8.3. Метод наискорейшего спуска (крутого восхождения)
Метод крутого восхождения (наискорейшего спуска) сочетает наилучшие свойства предыдущих методов и сводится к следующему:
а)определяется градиент в исходной точке; б)в направлении градиента осуществляется не один шаг, как в методе
градиента, а несколько шагов, пока не будет достигнут экстремум в дан-
41
ном направлении. Причем каждый последующий шаг удваивается после того, как предыдущий шаг окажется удачным. Шаг считается удачным, если в результате движения функция улучшается, т.е. увеличивается при поиске максимума и уменьшается при определении минимума; в) как только очередной шаг окажется неудачным, величина последую-
щего шага уменьшается в два раза и движение осуществляется из последней удачной точки. Уменьшение шага происходит до тех пор, пока его величина не будет равна заданной точности поиска;
г)в последней удачной точке вновь определяется градиент и движение по новому направлению продолжается;
д) расчеты по заданному алгоритму продолжаются до тех, пока не будет определен экстремум с заданной степенью точности. Практически расчеты прекращаются в том случае, когда определен
градиент в последней удачной точке и |
первый шаг из этой точки в |
||||
|
|
|
|
|
И |
направлении градиента оказался неудачным. При этом последняя |
|||||
удачная точка считается оптимальным |
решением рассматриваемой |
||||
функции [4]. |
|
|
|
Д |
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
|
б |
|
|
|
|
и |
|
|
|
|
|
С |
|
|
|
|
42
Метод простых итераций для решения систем линейных уравнений
Цель работы. Изучить метод простых итераций для решения систем линейных уравнений (СЛУ) и реализовать его в приложении для автоматизации решения задач.
Задание 1. Уточнить решение СЛУ с точностью ε=0,0001 методом простых итераций:
8x1 0,2x2 0,4x3 4;
0,2x1 4x2 0,2x3 5;0,2x1 0,2x2 4x3 1.
Порядок выполнения работы
|
|
|
|
|
|
|
|
|
|
|
|
|
Д |
|
|
|
|
|
||
|
|
1. Приводим систему к эквивалентному виду |
|
|
|
|
|
|||||||||||||
|
|
x1 0,025x2 0,05x3 0,5; |
|
|
|
И |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
||||||
|
|
x2 |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
0,05x1 0,05x3 1,25; |
|
|
|
|
|
|
||||||||||||
|
|
x |
0,05x |
0,05x |
2 |
0,25. |
|
|
|
|
|
|
|
|
|
|
||||
|
|
3 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2. Выбираем начальное при лижение: x1 0,5, |
x2 1,25, x3 0,25. |
||||||||||||||||||
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
3. Для нахождения решения используем таблицу: |
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
х1 |
х2 |
|
С |
|
б(k) (k 1) |
|
|
(k) |
(k 1) |
|
|
|
|
|
||||
|
|
|
х3 |
|
|
|
) | |
|
) | |
|
|
|
|
|||||||
|
0 |
0,5 |
|
1,25 |
|
0,25 |
|
| x1 |
x1 |
|
| x2 |
x2 |
| x3 |
(k) x3(k 1) )| |
|
|
||||
|
|
0,45625 |
1,239688 |
0,334797 |
|
|
|
0,04375 |
|
|
0,010312 |
|
0,084797 |
|
|
|||||
|
2 |
0,452268 |
1,244126 |
0,33482 |
|
|
|
0,003982 |
|
|
0,004439 |
|
2,28E− 05 |
|
|
|||||
|
3 |
0,452156 |
1,244133 |
0,334814 |
|
|
|
0,000112 |
|
|
6,75E− 06 |
|
5,27E− 06 |
|
|
|||||
|
4 |
0,452156 |
1,244133 |
0,334814 |
|
|
9,47E− 08 |
|
|
2,68E− 07 |
|
8,67E− 09 |
|
|
||||||
|
… |
… |
|
… |
|
… |
|
|
|
|
… |
|
|
… |
|
… |
|
|
||
|
9 |
0,452156 |
1,244133 |
0,334814 |
|
|
5,55E− 17 |
|
|
|
0 |
|
0 |
|
|
|||||
|
10 |
0,452156 |
1,244133 |
0,334814 |
|
|
|
|
0 |
|
|
|
0 |
|
0 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Задание 2. Написать приложение на VBA для решения системы линейных уравнений:
43
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Д |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
Вариант № 1 |
|
|
|
|
|
|
А |
И |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
Найти приближенные решения систем линейных уравнений методом |
||||||||||||||||||||||||||||||||||||||||
простой итерации с точностью ε = 10−5: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
9x |
x |
|
6x 8; |
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
1 |
|
|
2 |
|
|
|
|
3 |
|
|
|
|
|
1 |
|
|
2 |
|
|
|
|
|
|
3 |
|
|
4x |
|
|
0,5x |
2 |
|
|
0,5x |
|
4; |
||||
1) |
9x 29x |
2 |
10x 9; 2) |
|
|
14x |
|
|
|
7x |
|
|
, |
3) |
|
|
0,5x |
|
|
2; |
|
|
||||||||||||||||||||
|
|
1 |
|
|
|
|
|
|
|
3 |
|
|
x |
|
|
2 |
|
|
|
3 |
2; |
|
2x |
2 |
3 |
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
С |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
10x2 25x3 5, |
|
б |
|
8x3 1 |
|
|
|
|
|
0,2x2 x3 1. |
|||||||||||||||||||||||||||||
|
7x1 |
|
3x1 |
2x2 |
|
|
|
0,3x1 |
||||||||||||||||||||||||||||||||||
|
|
Вариант № 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
Найти приближенные решения систем линейных уравнений методом |
||||||||||||||||||||||||||||||||||||||||
простой итерации с точностью ε=10−5: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
18x1 10x2 3x3 10; |
9x |
|
x |
x |
|
|
|
1; |
|
8x1 0,1x2 0,1x3 1; |
|||||||||||||||||||||||||||||||
1) |
|
|
|
|
|
|
|
|
|
|
|
|
2) |
1 |
|
|
2 |
|
|
3 |
|
|
|
3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
16x |
|
|
|
5x |
|
8; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
9x |
|
2 |
|
|
|
2x1 8x2 |
|
x3 |
1; |
|
|
0,2x1 |
4x2 |
|
0,1x3 |
||||||||||||||||||||||||||
|
|
1 |
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
1; |
|||||||||||||||||||||||
|
|
|
4x2 20x3 |
4, |
|
|
|
|
14x3 3, |
|
|
|
|
|
|
10x3 |
|
3. |
|
|
||||||||||||||||||||||
|
9x1 |
|
4x2 |
|
|
0,4x2 |
|
|
|
|||||||||||||||||||||||||||||||||
Вариант № 3
Найти приближенные решения систем линейных уравнений методом простой итерации с точностью ε=10−5:
44
|
15x1 3x2 |
7x3 |
6; |
4x1 x2 2x3 1; |
|
x |
0,1x |
2 |
0,2x |
1; |
||||||||||
1) |
5x 10x 5x 9; 2) |
3x 5x x 2; |
3) |
1 |
|
|
|
|
|
3 |
|
|
||||||||
|
|
4x |
|
0,5x |
|
|||||||||||||||
|
|
1 |
2 |
3 |
|
|
1 |
2 |
3 |
|
0,3x |
|
2 |
|
|
2; |
||||
|
|
|
|
|
|
1 |
|
|
|
|
3 |
|
||||||||
|
|
3x2 10x3 |
9, |
|
4x2 |
16x3 1. |
|
|
|
0,4x2 |
10x3 1. |
|||||||||
|
5x1 |
2x1 |
|
0,2x1 |
||||||||||||||||
Контрольные вопросы
1.Что означает понятие «уточнить решение»?
2.Как привести систему линейных уравнений к эквивалентному виду?
3.Как выбирать начальное решение для метода простой итерации?
4.Какова последовательность решения в методе простых итераций?
5.Какой критерий завершения вычислений?
Метод Зейделя для решения систем линейных уравнений
Цель работы. Изучить метод Зейделя для решения систем линейных уравнений и реализовать его в приложении для автоматизации решения за-
дач. |
|
|
|
|
|
|
|
|
И |
ε = 0,0001 |
методом |
Задание 1. Уточнить решение СЛУ с точностью |
|||||||||||
Зейделя: |
|
|
|
|
|
|
|
Д |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
4x1 0,16x2 0,08x3 16; |
А |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
||
0,6x1 3x2 0,09x3 6; |
|
|
|
|
|
||||||
0,2x 0,6x |
2 |
2x 12.б |
|
|
|
|
|||||
|
1 |
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
Порядок выполнения работы |
|
|
||||
1. Приводим систему к эквивалентному виду |
|
|
|||||||||
|
|
С |
|
|
|
|
|
||||
x1 0,04x2 0,02x3 4; |
|
|
|
|
|
||||||
|
0,2x1 0,03x3 2; |
|
|
|
|
|
|||||
x2 |
|
|
|
|
|
||||||
x |
0,1x |
0,3x |
2 |
6. |
|
|
|
|
|
||
3 |
1 |
|
|
|
|
|
|
|
|
|
|
2.Выбираем начальное приближение: x1 4, x2 2, x3 6.
3.Для нахождения решения используем таблицу:
45