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


Полнотекстовый поиск по базе:

Главная >> Лабораторная работа >> Математика


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




1. Построить кубический сплайн, интерполирующий функцию у = (х) на [1,00; 1,20] для равномерного разбиения с шагом h = 0,04:

(х) = ln x

Найти значения в точках 1,05; 1,13; 1,17.

Решение

Построим таблицу значений функции на интервале [1,00; 1,20] с шагом

h = 0,04:

x

(х) = ln x

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] задать одномерную сетку

x = {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).

  1. Положить ai = yj, i = 0, 1, 2, …, n.

  2. Составить и решить трех диагональную систему методом прогонки:

Определить значения коэффициентов ci, i = 0, 1, 2, …, n.

  1. Определить значения коэффициентов di и bi, i = 1, 2, 3, …, n, воспользовавшись формулами:

di = (cici  1) / hi, i = 1, 2, …

  1. Определить значение индекса 0 < k n из условия x*  [xk – 1, xk].

  2. Вычислить по формуле

S(x*) = Sk(x*) = ak + bk(x*xk) + (ck / 2)(x*xk)2 + (dk / 6)(x*xk)3.

  1. Процесс завершен: 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.

  1. Начиная с точки x(0) осуществить одномерный поиск для функции f(x) в направлении s(n) и определить точку z(1).

  2. Начиная с точки z(1) осуществить последовательно n – 1 одномерный поиск для f(x) сначала в направлении s(1), а затем из полученной точки в направлении s(2) и т. д. до одномерного поиска в направлении s(n – 1) включительно. В результате этих действий будет определена точка x(2).

  3. Начиная с точки 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)).

  1. Начиная с точки z(2) осуществить поиск в направлении s(n + 1) и определить x*.

  2. Положить k: = k + 1. Если k = n, перейти к выполнению п. 8.

  3. Положить z(1): = x* и s(i): = s(i + 1), i = 1, 2, …, n.и перейти к выполнению п. 2.

  4. Процесс вычислений завершен: 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) – точка минимума функции. В этой точке функция принимает значение .

Похожие работы: