Численное решение задачи Коши

контрольная работа

1.1 Постановка задачи

Найти приближенное решение задачи Коши для обыкновенного дифференциального уравнения (ОДУ) 1 порядка

(1)

и оценить погрешность решения задачи.

Порядок решения задачи:

1. Задать исходные данные: функцию f правой части, начальное значение .

2. Используя функцию eyler (см. ПРИЛОЖЕНИЕ B), найти приближенное решение задачи Коши с шагом h=0.1 по явному методу Эйлера.

3. Используя встроенную функцию rkfixed пакета MATHCAD, найти приближенное решение задачи Коши с шагом h=0.1 по методу Рунге-Кутты 4 порядка точности (см. ПРИЛОЖЕНИЕ B).

4. Найти решение задачи Коши аналитически.

5. Построить таблицы значений приближенных и точного решений. На одном чертеже построить графики приближенных и точного решений.

6. Оценить погрешность приближенных решений двумя способами:

a) по формуле ; здесьи - значения точного и приближенного решений в узлах сетки , i=1,..N;

b) по правилу Рунге (по правилу двойного пересчета) (см. ПРИЛОЖЕНИЕ C).

7. Выяснить, при каком значении шага h=h* решение, полученное по методу Эйлера, будет иметь такую же погрешность (см. п. 6а), как решение, полученное с помощью метода Рунге-Кутты с шагом h=0.1.

УКАЗАНИЕ. В п. 7 рекомендуется провести серию вычислений решения по методу Эйлера, дробя шаг h пополам.

1.2 Исходные данные

N

f(t,y)

t0

T

y0

1.4

0

1

1

1.3 Решение поставленной задачи

1) Задача Коши: y(t)=, t0=0, T=1, y0=1.

Исходные данные:

Начальное значение:

Концы отрезка:

Шаг сетки:

Число узлов сетки:

2) Функция, реализующая явный метод Эйлера, возвращает вектор решения:

Входные параметры:

f - функция правой части;

y0 - начальное значение;

t0 - начальная точка отрезка;

h - шаг сетки;

N - число узлов сетки.

3) Приближенное решение задачи Коши с шагом h=0.1 по методу Рунге-Кутты 4 порядка точности с помощью встроенной функции rkfixed пакета MATHCAD.

Функция rkfixed возвращает матрицу, первый столбец которой содержит узлы сетки, а второй - приближенное решение в этих узлах.

4) Аналитическое решение задачи:

,

,

,

= ,

,

По методу вариации произвольной постоянной заменим постоянную С на функцию C(t) и решим неоднородное уравнение:

Подставляем в исходное уравнение:

=,

,

Решение в MathCad:

5) Решения, полученные различными способами:

Метод Эйлера:

Метод Рунге-Кутты:

Точное решение:

Графики приближенных и точного решений:

6) Рассчитаем погрешность полученных приближенных решений:

Погрешность метода Эйлера:

Вычисление погрешности по правилу Рунге:

Вычисление приближенных решений с шагом h/2:

Вычисление погрешностей:

Значение погрешностей:

7) Проведём серию вычислений решения по методу Эйлера, дробя шаг h пополам.

Первая итерация:

Вторая итерация:

Третья итерация:

И т.д.

Девятая итерация:

При значении шага hd=h/1024=0.1/1024=0,0000977 решение, полученное по методу Эйлера, будет иметь примерно такую же погрешность, как и решение, полученное с помощью метода Рунге-Кутты с шагом h=0.1.

Погрешность решения по методу Эйлера с шагом hd=0,0000977 :

Погрешность решения по методу Рунге-Кутты с шагом h=0.1 :

Вывод: явный метод Эйлера - это численный метод 1-го порядка точности. Метод Рунге-Кутты - это метод 4-го порядка точности. Это означает, что при одном и том же значении шага, метод Рунге-Кутты даёт более точное значение. Поэтому погрешности методов сильно (на несколько порядков) отличаются. В рассмотренном выше примере с помощью метода Рунге-Кутты было получено решение, которое совпадает с решением, полученным аналитическим путём.

2. Задача № 2 (2.2)

Делись добром ;)