Лабораторная работа: Решение задач методами Эйлера и Рунге-Кутта
S(x*) = Sk(x*) = ak + bk(x* – xk) + (ck / 2)(x* – xk)2 + (dk / 6)(x* – xk)3
2. Найти решение задачи Коши для дифференциального уравнения на равномерной сетке [a, b] с шагом 0,2 методом Эйлера и классическим методом Рунге-Кутта
, , 0 £ х £ 1
Решение. Метод Эйлера
- разностная аппроксимация Эйлера. Точность метода . Метод Рунге-Кутта
дифференциальный интерполирующий уравнение сплайн
Результаты вычислений удобнее представлять в виде таблиц:
Метод Эйлера
x | y | |
0 | 0 | 1 |
0,2 | 0,2 | 1 |
0,4 | 0,416 | 1.04 |
0,6 | 0,67392 | 1.1232 |
0,8 | 1,00639 | 1.25798 |
1 | 1,45926 | 1.45926 |
Метод Рунге-Кутта
i |
= |
||||||
0 | 0 | 1 | 0 | 0,02 | 0,0202 | 0,040808 | 1,0202 |
1 | 0,2 | 1,0202 | 0,0408081 | 0,0624363 | 0,0630852 | 0,0866629 | 1,08329 |
2 | 0,4 | 1,08329 | 0,086663 | 0,112662 | 0,113962 | 0,14367 | 1,19722 |
3 | 0,6 | 1,19722 | 0,143666 | 0,177667 | 0,180047 | 0,220362 | 1,37713 |
4 | 0,8 | 1,37713 | 0,22034 | 0,267713 | 0,271977 | 0,329821 | 1,64872 |
5 | 1 | 1,64872 | 0,329743 | 0,398989 | 0,406607 | 0,493278 | 2,05442 |
3. Найти решение задачи безусловной минимизации ¦(х) ® min, х Î R2. Установить множество глобального решения
¦(х) =
Решение
Данная задача решается методом сопряженных направлений (градиентов). Алгоритм данного метода представлен далее.
Метод сопряженных направлений
1 Начать с точки x(0) = (x1(0), x2(0), …, xn(0))т и n-линейно независимых направлений s(i),
i = 1, 2, …, n, которые могут быть выбраны, например, совпадающими с координатными направлениями e(i), i = 1, 2, …, n. Положить k = 1.
2 Начиная с точки x(0) осуществить одномерный поиск для функции f(x) в направлении s(n) и определить точку z(1).
3 Начиная с точки z(1) осуществить последовательно n – 1 одномерный поиск для f(x) сначала в направлении s(1), а затем из полученной точки в направлении s(2) и т. д. до одномерного поиска в направлении s(n – 1) включительно. В результате этих действий будет определена точка x(2).
4 Начиная с точки x(2) осуществить одномерный поиск для f(x) в направлении s(n) и определить точку z(2).
Согласно обобщенному свойству "параллельного подпространства" направление
s(n + 1) = z(2) – z(1)
будет сопряженным по отношению к направлениям s(n), s(n – 1), …, s(n – k + 1) (для k = 1 – только к направлению s(n)).
5 Начиная с точки z(2) осуществить поиск в направлении s(n + 1) и определить x*.
6 Положить k: = k + 1. Если k = n, перейти к выполнению п. 8.
7 Положить z(1): = x* и s(i): = s(i + 1), i = 1, 2, …, n.и перейти к выполнению п. 2.
8 Процесс вычислений завершен: x* – точка минимума функции f(x).
Результаты вычислений удобнее представлять в виде таблицы:
Таблица результатов
k | ||||||||
0 | 0 | 0 | 1 | 1 | 0 | |||
1 | 0 | 0 | 1 | 0 | 2 | 2 | 0 | -4 |
2 | 2 | 0 | 0 | 1 | -2 | 2 | -2 | -8 |
Точка (2,-2) – точка минимума функции. В этой точке функция принимает значение .