Автор: Пользователь скрыл имя, 22 Ноября 2011 в 19:17, курсовая работа
В ходе выполнения курсовой работы предполагается решение дифференциального уравнения с помощью численных методов:
метода Эйлера или метода Рунге-Кутта 1 порядка точности;
метода Рунге-Кутта 4 порядка точности.
Если искомая функция зависит от одной переменной, то дифференциальное уравнение называют обыкновенным; в противном случае – дифференциальное уравнение в частных производных. В данной курсовой работе рассматриваются методы решения обыкновенных дифференциальных уравнений.
Введение 3
1. Постановка задачи и математическая модель 4
2. Описание численных методов (применительно к конкретной задаче) 5
2.1 Численные методы решения задачи Коши 6
2.2 Метод Эйлера 7
2.3 Метод Рунге – Кутта 4-го порядка 9
3. Решение поставленной задачи методами Эйлера и Рунге-Кутта 4 порядка 12
3.1 Решение методом Эйлера 12
3.2 Решение методом Рунге-Кутта 13
4. Блок-схемы программы и основных подпрограмм 14
4.1 Алгоритм функции 14
4.2 Подпрограмма метода Эйлера 14
4.3 Подпрограмма метода Рунге-Кутта 4 порядка 15
4.4 Подпрограмма общего решения 16
4.5 Блок-схема программы 17
5. Листинг программы на языке VisualBasic 21
6. Формы проекта 25
7. Решение задачи в Mahtcad 27
Заключение 28
.
Модифицированный метод Эйлера дает меньшую погрешность. На рисунке 4 это хорошо видно. Так величина ε1 характеризует погрешность метода Эйлера, а ε – погрешность метода Эйлера модифицированного.
Блок-схема
процедуры решения
Рисунок
5 - Блок-схема процедуры решения
дифференциального уравнения
F(x, y) – заданная функция – должна быть описана отдельно.
Входные параметры:
X0, XK – начальное и конечное значения независимой переменной;
Y0 – значение y0 из начального условия y(x0) = y0;
N – количество отрезков разбиения;
Выходные параметры:
Y – массив значений искомого решения в узлах сетки.
Пусть дано дифференциальное уравнение первого порядка
с начальным условием
y(x0) = y0.
Выберем шаг h и введём обозначения:
xi = x0 + i.h и yi = y(xi) , где i = 0, 1, 2, … .
Аналогично
описанным выше методам производится
решение дифференциального
Согласно методу Рунге – Кутта четвёртого порядка, последовательные значения yi искомой функции y определяются по формуле:
где
, i = 0, 1, 2, …
а числа k1(i), k2(i), k3(i), k4(i) на каждом шаге вычисляются по формулам:
Это явный четырёхэтапный метод четвёртого порядка точности.
Методы
Рунге – Кутта легко
На
рисунке 6 приведена блок-схема
RUNGE4(X0, XK, Y0, N, Y)
h = (XK – X0) / N
i = 0, … , N-1
x = X0 + i * h
K1 = h * F(x, Yi)
K2 = h * F(x + h/2, Yi + K1 / 2)
K3 = h * F(x + h/2, Yi + K2 / 2)
K4 = h * F(x + h, Yi + K3)
K = (K1 + 2*K2 + 2*K3 + K4) / 6
Yi+1 = Yi + K
End
Рисунок
6 - Блок-схема процедуры RUNGE
F(x, y) – заданная функция – должна быть описана отдельно.
Входные параметры:
X0, XK – начальное и конечное значения независимой переменной;
Y0 – значение y0 из начального условия y(x0) = y0;
N – количество отрезков разбиения;
Выходные параметры:
Y – массив значений искомого решения в узлах сетки;
На
рисунке 7 приведена блок-схема
Исходными данными в данной задаче являются:
X0, XK – начальное и конечное значения независимой переменной;
Y0 – значение y0 из начального условия y(x0) = y0;
N – количество отрезков разбиения.
Результаты работы программы выводятся в виде двух столбцов:
X – массив значений узлов сетки;
Y – массив значений искомого решения в соответствующих узлах сетки
Ввод X0, XK, Y0, N
RUNGE(X0, XK, Y0, N, Y)
h = (XK – X0) / N
i = 0 … N
X = X0 + i * h
Вывод X, Yi
End
Рисунок
7 - Блок-схема алгоритма основной
программы для решения задачи
Коши с фиксированным количеством
отрезков разбиения N
x1 = 1 + 1 · 0,1 = 1,1;
Из
прямоугольного треугольника ABC
,
Из формулы видно, что для расчета каждой следующей точки интегральной функции необходимо знать значение только одной предыдущей точки. Таким образом, зная начальные условия, можно построить интегральную кривую на заданном промежутке.
д Эйлера - один из простейших методов численного решения обыкновенных дифференциальных уравнений. Но существенным его недостатком является большая погрешность вычислений.
Рисунок 8 - График решения методом Эйлера
x1 = 1 + 1 · 0,1 = 1,1;
Следовательно, точка B имеет координаты (1.1; 0.998).
Рисунок 9 - Алгоритм функции
Рисунок
10 - Подпрограмма метода Эйлера
Рисунок
11 - Подпрограмма метода Рунге-Кутта 4 порядка
Рисунок 12 - Общее решение
Информация о работе Визуализация численных методов. Решение обыкновенных дифференциальных уравнений