Лабораторная работа: Решение задач методами Эйлера и Рунге-Кутта
Название: Решение задач методами Эйлера и Рунге-Кутта Раздел: Рефераты по математике Тип: лабораторная работа | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. Построить кубический сплайн, интерполирующий функцию у = ¦(х) на [1,00; 1,20] для равномерного разбиения с шагом h = 0,04: ¦(х) = lnx Найти значения в точках 1,05; 1,13; 1,17. Решение Построим таблицу значений функции на интервале [1,00; 1,20] с шагом h = 0,04:
Сплайн-интерполяция таблично заданной функции1. На отрезке [ a, b] задать одномерную сетку hx = {xi / xi = xi –1 + hi , hi > 0, i = 1, 2, 3, …, n; x0 = a, xn = b} и значения yi = f(xi ) в узлах сетки xi , i = 0, 1, 2, …, n. Задать x* Î (a, b). 2. Положить ai = yj , i = 0, 1, 2, …, n. 3. Составить и решить трех диагональную систему методом прогонки: Определить значения коэффициентов ci , i = 0, 1, 2, …, n. 4. Определить значения коэффициентов di и bi , i = 1, 2, 3, …, n, воспользовавшись формулами: di = (ci –ci – 1 ) / hi , i = 1, 2, … 5. Определить значение индекса 0 < k£n из условия x* Î [xk – 1 , xk ]. S(x* ) = Sk (x* ) = ak + bk (x* – xk ) + (ck / 2)(x* – xk )2 + (dk / 6)(x* – xk )3 . 7. Процесс завершен: S(x* ) – результат интерполяции табличных данных в точку x* Î (a, b). Результаты вычислений удобнее представлять в виде таблицы:
Значение функции в точке находится по формуле: 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 Решение. Метод Эйлера - разностная аппроксимация Эйлера. Точность метода . Метод Рунге-Кутта дифференциальный интерполирующий уравнение сплайн Результаты вычислений удобнее представлять в виде таблиц: Метод Эйлера
Метод Рунге-Кутта
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). Результаты вычислений удобнее представлять в виде таблицы: Таблица результатов
Точка (2,-2) – точка минимума функции. В этой точке функция принимает значение . |