Порядок выполнения лабораторной работы.
1. Задать массив значений функции f(x) в соответствии с вариантом.
2. Провести вычисления.
3. Построить график аппроксимированной функции.
Варианты заданий.
Построить интерполяционный тригонометрический полином, аппроксимирующий функцию, заданную в точках
(i=1, 2, ..., 21) таблицей значений.
Таблица 2.7
Варианты заданий.
Вариант | f(x) |
1 | 1.00; 1.803; 3.085; 4.778; 6.434; 7.347; 7.027; 5.652; 3.897; 2.381; 1.347; 7.422; 0.419; 0.256; 0.176; 0.142; 0.136; 0.155; 0.209; 0.324; 0.554 |
2 | 7.38; 6.76; 5.22; 3.47; 2.07; 1.16; 0.64; 0.36; 0.23; 0.16; 0.13; 0.13; 0.16; 0.23; 0.37; 0.64; 1.16; 2.08; 3.48; 5.22; 6.76 |
3 | -1.24; -1.17; -1.08; -0,96; -0.84; -0.79; -0.8; -0.9; -1.1; -1.21; -1.02; -1.28; -1.32; -1.34; -1.36; -1.37; -1.37; -1.36; -1.35; -1.33; -1.30 |
4 | -3.0; -3.58; -4.12; -5.56; -4.86; -4.99; -4.94; -4.73; -4.36; -3.86; -3.30; -2.7; -2.13; -1.64; -1.26; -1.05; -1.00; -1.13; -1.43; -1.87; -2.43 |
5 | 1.0; 1.05; 90.6; 520.4; 1714.7; 2915.0; 2439.2; 1020.6; 230.7; 32.17; 3.29; 0.3; 0.03; 0.004; 0.001; 0.0003; 0.0006; 0.002; 0.01; 0.09; 0.9 |
6 | 2980.1; 2089.3; 742.4; 146.6; 18.6; 1.8; 0.16; 0.02; 0.003; 0.001; 0.001; 0.001; 0.002; 0.003; 0.018; 0.9; 1.22; 18.6; 146.6; 742.5; 2089.7 |
7 | 1.0; 1.34; 1.75; 2.18; 2.53; 2.71; 2.65; 2.37; 1.97; 1.54; 1.16; 0.86; 0.64; 0.5; 0.42; 0.37; 0.36; 0.39; 0.45; 0.56; 0.74 |
8 | 2.71; 2.6; 2.28; 1.86; 1.44; 1.07; 0.8; 0.46; 0.42; 0.4; 0.37; 0.37; 0.4; 0.48; 0.6; 0.8; 1.07; 1.44; 1.86; 2.28; 2.6 |
9 | -1.32; -1.28; -1.26; -1.24; 1.25; -1.25; -1.25; -1.26; -1.27; -1.29; -1.29; -1.33; -1.34; -1.37; -1.37; -1.37; -1.37; -1.36; -1.36; -1.35; -1.34 |
10 | -4.0; -4.2; -4.5; -4.7; -4.9; -5.0; -4.9; -4.8; -4.6; -4.4; -4.1; -3.8; -3.5; -3.0; -3.0; -3.0; -3.1; -3.2; -3.4; -3.7 |
11 | 1,0; 2,4; 5.4; 10.4; 16.3; 19.9; 18.6; 13.4; 7.7; 3.6; 1.6; 0.64; 0.27; 0.13; 0.07; 0.05; 0.05; 0.06; 0.09; 0.18; 0.4 |
12 | 20.0; 17.5; 11.9: 6,4; 2.9; 1.2; 0.5; 0.2; 0.1; 0.06; 0.05; 0.05; 0.06; 0.1; 0.5; 1.0; 1.2; 2.9; 6.4; 11.9; 17.5 |
13 | -1.1; -0.8; -0.3; 0.3; 0.7; 0.8; 0.7; 0.5; 0.04; -0.6; -0.9; -1.1; -1.27; -1.32; -1.35; -1.37; -1.37; -1.36; -1.34; -1.3; -1.2 |
14 | -2.0; -2.8; -3.7; -4.3; -4.7; -4.9; -4.9; -4.5; -4.1; -3.3; -2.4; -1.5; -0.6; -0.04; -0.6; 0.92; 0.99; 0.79; 0.34; -0.3; -1.1 |
15 | 1.1; 3.2; 9.5; 22.8; 41.4; 53.9; 49.4; 31.9; 15.2; 5.7; 1.8; 0.55; 0.17; 0.06; 0.03; 0.02; 0.01; 0.02; 0.04; 0.1; 0.3 |
16 | -0.78; -1.22; -1.34; -1.39; -1.42; -1.43; -1.42; -1.41; -1.37; -1.3; -1.1; -0.1; 1.1; 1.2; 1.33; 1.36; 1.37; 1.35; 1.3; 1.17; 0.65 |
17 | 54.5; 45.7; 27.2; 12.1; 4.3; 1.3; 0.4; 0.13; 0.05; 0.03; 0.02; 0.02; 0.03; 0.05; 0.13; 0.41; 1.3; 4.3: 12.1; 21.2; 45.7 |
18 | -0.78; 0.18; 0.89; 1.13; 1.21; 1.24; 1.23; 1.18; 1.04; 0.63; -0.38; -1.01; -1.22; -1.3; -1.35; -1.36; -1.37; -1.36; -1.33; -1.27; -1,1 |
19 | -1.0; -2.1; 3.2; -4.1; -4.7; -4.9; -4.8; -4.4; -3.7; -2.7; -1.6; -0.4; 0.7; 1.7; 2.4; 2.9; 3.0; 2.7; 2.1; 1.2; 0.2 |
Продолжение табл. 2.7 | |
Вариант | f(x) |
20 | 1.0; 4.36; 16.7; 49.8; 105.0; 146.3; 130.9; 75.9; 30.0; 8.75; 2.1; 0.47; 0.11; 0.03; 0,01; 0.007; 0.006; 0.009; 0.02; 0.05; 0.2 |
21 | 148.4; 118.8; 62.6; 22.5; 6.21; 1.45; 0.33; 0.08; 0.02; 0.01; 0.007; 0.007; 0.01; 0.02; 0.08; 0.32; 1.45; 6.2; 22.6; 62.2; 119.0 |
22 | 0.0; 0.97; 1.23; 1.32; 1.36; 1.37; 1.36; 1.34; 1.28; 1.13; 0.64:-0.64; -1.13; -1.28; -1.34; -1.37; -1.36; -1.32; -1.23; -0.9; -0.2 |
23 | -0.0001; -1.47; -2.8; -3.9; -4.65; -4.98; -4.87; -4.33; -3.4; -2.16; -0,74; 0.74; 2.17; 3.14; 4.33; 4.87; 4.98; 4.65; 3.9; 2.8; 1.4 |
24 | 1.0; 5.8; 29.3; 108.9; 266.4; 396.7; 347.1; 180.5; 59.2; 13.5; 2.4; 0.4; 0.07; 0.01; 0.005; 0.003; 0.002; 0.004; 0.009; 0.03; 0.1 |
25 | 403.4; 309.0; 142.2: 42.1; 8.9; 1.56; .0.26; 0.05; 0.01; 0.0044; 0,0026; 0.0026; 0.0044; 0.01; 0.05; 0.263; 1.56; 8.95; 42.1; 142.2; 309.9 |
26 | 0.78; 1.22; 1.34; 1.39; 1.42; 1.43; 1.42; 1.41; 1.37; 1.3; 1.1; 0.1; -1.1; -1.2; -1.33; -1.36; -1.37; -1.35; -1.3; 1,17; -0.65 |
27 | 1.0; -0.77; -2.3; -3.6; -4.6; -4.9; -4.8; -4.1; -3.1; -1.6; 0.1; 1.9; 3.6; 5.1; 6.2; 6.84; 6.98; 6.58; 5.69; 4.4; 2.7 |
28 | 1.0; 7.8; 51.5; 238.1; 675.9; 1075.4; 920.1; 429.3; 110.8; 20.8; 2.83; 0.35; 0.04; 0.01; 0.002; 0.001; 0.001; 0.004; 0.02; 0.12 |
29 | 1.10; 1.32; 1.40; 1.43; 1.45; 1.46; 1.44; 1.42; 1.37; 1.25; 0.76; -0.8; -1.22; -1.33; -1.36; -1.37; -1.35; -1.29; -1.1; -0.1 |
30 | 2.0; -0.06; -1.9; -3.4; -4.9; -4.8; 4.0; -2.7; -1.1; 0.95; 3.0; 5.0; 6.7; 8.1; 8.8; 8.9; 8.5; 7.47; 5.94; 4.06 |
2.7. Лабораторная работа №7.
Решение задачи минимизации функции n переменных.
2.7.1. Метод градиентного спуска.
Общая задача нелинейного программирования без ограничений состоит в минимизации функции f(x)=f(x1, x2, ..., xп}, заданной во всем n-мерном евклидовом пространстве. Функция f(х) называется целевой функцией [10].
Как правило, численные методы отыскания экстремума состоят в построении последовательности векторов {х(k)}, удовлетворяющих условию f(х(0))>f(х(1))>…>f(х(n)). Методы построения таких последовательностей называются методами спуска. В этих методах элементы последовательности {х(k)} вычисляются по формуле
(2.60)
где p(k) – направление спуска; ak – длина шага в этом направлении.
Как известно, градиент функции в некоторой точке х(k) направлен в сторону наискорейшего локального возрастания функции. Следовательно, спускаться нужно в направлении, противоположном градиенту. Вектор, противоположный градиенту, называется антиградиентом. Выбирая антиградиент в качестве направления спуска, приходят к итерационному процессу вида
(2.61)
Все методы спуска, в которых вектор р(k) совпадает с антиградиентом, называются градиентными методами. Они отличаются друг от друга только способом выбора шага. Наиболее употребительны метод наискорейшего спуска и метод дробления шага. В методе наискорейшего спуска величина ak определяется из условия
,
т. е. на каждом шаге решается одномерная задача минимизации. Геометрическая интерпретация этого метода достаточно проста (рис. 2.7). Заметим, что на двух последовательных шагах направления спуска ортогональны [10].
Рис. 2.7.
Если f(х) – ограниченная снизу непрерывно дифференцируемая функция и для некоторой начальной точки х(0) множество {х:f(х)<f(х(0))} также ограничено, то для метода наискорейшего спуска последовательность {х(k)} либо сходится к точке минимума при k®¥, либо достигает точки минимума за конечное число шагов.
В данной лабораторной работе для минимизации функции использован метод градиентного спуска с дроблением шага. Процесс (2.61) с дроблением шага протекает следующим образом. Выбираем некоторое начальное значение х(0). Общих правил выбора х(0) нет; если есть информация об области расположения искомой точки минимума, то точку х(0) выбираем в этой области. Затем выбираем некоторое ak = a = const и на каждом шаге процесса (2.61) проверяем условие монотонности f(х(k+1)) <f(х(k)). Если это условие нарушается, то a дробим до тех пор, пока монотонность не восстановится. Для окончания счета можно использовать различные критерии. В данной работе итерации прекращаем, если
.
В этом случае полагаем хmin = х(k+1). Здесь

Описанный алгоритм реализован в виде подпрограммы Minim (f, xy, grad, k, h, eps), где
f – исходная функция,
xy – вектор с координатами x и y,
grad – подпрограмма, вычисляющая координаты градиента,
k – число итераций,
h – шаг,
eps – погрешность.
Задание.
Используя подпрограмму Minim, минимизировать заданную целевую функцию.
Порядок выполнения лабораторной работы.
1. Составить подпрограмму вычисления градиента целевой функции f(x, y).
2. С помощью подпрограммы Minim минимизировать целевую функцию f(x, y).
3. Сравнить с результатом, полученным с помощью стандартной функции MathCAD.
Таблица 2.8
Варианты заданий.
Минимизировать функцию
методом градиентного спуска.
№ вар. | a | b | c | d | № вар. | a | b | c | d |
1 | 1.0 | -1.4 | 0.01 | 0.11 | 16 | 16.0 | 0.0 | 1.99 | 0.26 |
2 | 2.0 | -1.3 | 0.04 | 0.12 | 17 | 17.0 | 0.1 | 2.56 | 0.27 |
3 | 3.0 | -1.2 | 0.02 | 0.13 | 18 | 18.0 | 0.2 | 2.89 | 0.28 |
4 | 4.0 | -1.1 | 0.16 | 0.14 | 19 | 19.0 | 0.3 | 3.24 | 0.29 |
5 | 5.0 | -1.0 | 0.25 | 0.15 | 20 | 20.0 | 0.4 | 3.81 | 0.30 |
6 | 6.0 | -0.9 | 0.36 | 0.16 | 21 | 21.0 | 0.5 | 4.00 | 0.31 |
7 | 7.0 | -0.8 | 0.49 | 0.17 | 22 | 22.0 | 0.6 | 5.02 | 0.32 |
8 | 8.0 | -0.7 | 0.64 | 0.18 | 23 | 23.0 | 0.7 | 4.84 | 0.33 |
9 | 9.0 | -0.6 | 0.8 | 0.19 | 24 | 24.0 | 0.8 | 5.29 | 0.34 |
10 | 10.0 | -0.5 | 0.94 | 0.20 | 25 | 25.0 | 0.9 | 5.76 | 0.35 |
11 | 11.0 | -0.4 | 1.00 | 0.21 | 26 | 26.0 | 1.0 | 6.25 | 0.36 |
12 | 12.0 | -0.3 | 1.21 | 0.22 | 27 | 27.0 | 1.1 | 6.76 | 0.37 |
13 | 13.0 | -0.2 | 1.44 | 0.23 | 28 | 28.0 | 1.2 | 6.98 | 0.38 |
14 | 14.0 | -0.1 | 1.69 | 0.24 | 29 | 29.0 | 1.3 | 7.29 | 0.39 |
15 | 15.0 | -0.0 | 1.96 | 0.25 | 30 | 30.0 | 1.4 | 8.41 | 0.40 |
2.7.2. Решение задачи минимизации функции без ограничений методом сопряжённых градиентов.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Основные порталы (построено редакторами)
