Лабораторная работа: Решение задач методами Эйлера и Рунге-Кутта
1. Построить кубический сплайн, интерполирующий функцию у = ¦(х) на [1,00; 1,20] для равномерного разбиения с шагом h = 0,04:
¦(х) = lnx
Найти значения в точках 1,05; 1,13; 1,17.
Решение
Построим таблицу значений функции на интервале [1,00; 1,20] с шагом
h = 0,04:
x | ¦(х) = lnx |
1 | 0 |
1,04 | 0,039221 |
1,08 | 0,076961 |
1,12 | 0,113329 |
1,16 | 0,14842 |
1,2 | 0,182322 |
Сплайн-интерполяция таблично заданной функции
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 ].
6. Вычислить по формуле
S(x* ) = Sk (x* ) = ak + bk (x* – xk ) + (ck / 2)(x* – xk )2 + (dk / 6)(x* – xk )3 .
7. Процесс завершен: S(x* ) – результат интерполяции табличных данных в точку x* Î (a, b).
Результаты вычислений удобнее представлять в виде таблицы:
ai | bi | ci | di |
0,03922 | 0,96467 | -1,188280 | -29,70700 |
0,07696 | 0,92494 | -0,798322 | 9,74897 |
0,11333 | 0,89366 | -0,765997 | 0,80813 |
0,14842 | 0,85986 | -0,92391 | -3,94780 |
0,18232 | 0,84138 | 0,00000 | 23,09770 |
Значение функции в точке находится по формуле:
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
Решение. Метод Эйлера
--> ЧИТАТЬ ПОЛНОСТЬЮ <--