Лабораторная работа: Решение задач методами Эйлера и Рунге-Кутта

Название: Решение задач методами Эйлера и Рунге-Кутта
Раздел: Рефераты по математике
Тип: лабораторная работа

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

Решение. Метод Эйлера

- разностная аппроксимация Эйлера. Точность метода . Метод Рунге-Кутта

дифференциальный интерполирующий уравнение сплайн


Результаты вычислений удобнее представлять в виде таблиц:

Метод Эйлера

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) – точка минимума функции. В этой точке функция принимает значение .