|
Министерство науки и образования Украины
Сумской государственный университет
ОДЗ по предмету:
«Математические модели и модели энергетического оборудования»
На тему:
«Решение дифференциального уравнения методом Эйлера и методом Рунге-Кутта»
Выполнила Шатилова Т. А.
Группа Х-81
Проверил Мелейчук С. С.
Сумы 2010
Содержание
с
1.
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Розроб. |
Шатилова |
Перевір. |
Мелейчук |
Реценз. |
|
Н. Контр. |
|
Затверд. |
|
Решение дифференциального уравнения методом Эйлера и методом Рунге-Кутта |
Літ. |
Аркушів |
|
Гр Х-81 |
2. Подготовка данных для расчета ………………………………………………………………………………………..…......…4
3. Описание метода Эйлера………………………………… ………………………………………………………………...…………...5
4. Программа расчета методом Эйлера …………………………………………………………………………….…………….9
5. Вывод результатов расчета методом Эйлера …………………………………..…………………………..……....10
6. Описание метода Рунге-Кутта……………………………………………………………………………………………….……11
7. Программа расчета методом Рунге-Кутта……………………………………………………………………………….12
8. Вывод результатов расчета методом Рунге-Кутта……………………………………………………….…….13
9. Анализ результатов………………………………………………………………………………………………………………………..14
10. Литература…………………………………………………………………………………………………………………………………..……15
1.
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Решить методом Эйлера следующие дифференциальное уравнение:
При следующих условиях:
;
.
L =1; h = 0,1
2.
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
2.1. Запишем исходную функцию и дифференцируем ее:
Подставляем начальные условия:
3. Краткое описание метода Эйлера
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
По условию задачи Коши, требуется найти функцию У=У(х), удовлетворяющую уравнению
У'=f(x,Y) (3.1)
И принимающую при заданное значение :
(3.2)
При этом будем для определенности считать. Что решение нужно получить для значений .
Согласно теореме Коши решение У (х) задачи (3.1) и (3.2) существует единственно и является гладкой функцией, если правая часть f(х,У) уравнения (3.1), являющаяся функцией двух переменных х, У, удовлетворяет некоторым условиям гладкости. Будем считать, что эти условия выполнены и существует единственное гладкое решение У(х).
Рассмотрим метод Эйлера, как метод решения простейшего дифференциального уравнения. Рассмотрим уравнение (3.1) в окрестностях узлов (i = 0,1,…) и заменив левой части производную У' правой разностью:
, (3.3)
При этом значения функции У в узлах заменим значениями сеточной функции :
(3.4)
Полученная аппроксимация дифференциального уравнения (3.1) имеет первый порядо, поскольку при замене (3.1) на (3.4) допускается погрешность - при численном дифференцировании функции, заданной в виде таблицы с шагом h, эта погрешность зависит от h и ее записывают в виде:
(3.5)
(О большее от )
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Оценку погрешности легко иллюстрировать с помощью ряда Тейлора:
(3.6)
Будем считать для простоты узлы равностоящими, т.е. . Тогда из равенства (3.4) получаем:
(3.7)
Заметим, что из уравнения (3.1) следует:
(3.8)
Поэтому (3.7) представляет собой приближенное нахождение значение функции У в точке при помощи разложения в ряд Тейлора с отбрасыванием членов второго и более высоких порядков. Другими словами, приращение функции полагается равным ее дифференциалу.
Полагая i=0, с помощью соотношения (3.7) находим значение сеточной функции :
Требуемое здесь значение заданно начальным условием (3.2), т.е.:
(3.9)
Аналогично могут быть найдены значения сеточной функции в других узлах:
……………………………….
Построенный алгоритм и является методом Эйлера. Расностная схема этого метода предоставлена соотношениями (3.9) и (3.8). Они имеют вид рекуррентных формул. С
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Рис. 3.1 - Структурограмма алгоритма решения задачи Коши
Задаются начальные значения , и величина шага h с количеством расчетных точек n. Решение получается в узлах x+h, x+2h,…x+nh. Вывод результатов предусмотрен на каждом шаге. Если найденные значения необходимо хранить в памяти машины, то следует ввести массив значений
Приведенным алгоритмом можно воспользоваться и в случае, если требуется найти решение задачи Коши на отрезке [a,b] при начальном условии в точке x=a.
Рис. 3.2 – Геометрическая интерпретация метода Эйлера
Изображены только первые 2 шага, т.е. иллюстрировано вычисление сеточной функции в точках . Интегральные кривые 0, 1, 2 описывают точные решения уравнения (3.1).
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Program Shatilova; {Metod Eylera}
uses crt;
var x, y, xi, yi, L, h, xip1, yip1,y_tochn, error:real;
i, k:integer;
f: text;
function f_user (x,y:real):real;
begin
f_user:=3*x;
end;
function f_tochn (x:real):real;
begin
f_tochn:=((3*x*x)/2)-5;
end;
begin
assign (f,'D:\dz.txt');
rewrite (f);
xi:=2;
yi:=1;
writeln (f,' xi=',xi:5:5,' yi=',yi:5:5);
writeln (' xi=',xi:5:5,' yi=',yi:5:5);
L:=1;
h:=0.1;
k:=round(L/h);
for i:=1 to k do
begin
xip1:=xi+h;
yip1:=yi+h*f_user(xi,yi);
y_tochn:=f_tochn(xi);
xi:=xip1;
yi:=yip1;
y_tochn:=f_tochn(xip1);
error:=abs((y_tochn-yip1)/y_tochn*100);
writeln (' x=',xi:8:3,' y=',yi:8:3, 'y_tochn=',y_tochn:8:3,'error=',error:10:10);
writeln (f,' x=',xi:8:3,' y=',yi:8:3, 'y_tochn=',y_tochn:8:3,'error=',error:10:10);
end;
close(f);
end.
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Таблица 5.1. – Результаты расчета методом Эйлера
Рисунок5.1 – Приближенный и точный график расчета методом Эйлера
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Модификации метода Эйлера (метод Эйлера с пересчетом и т.д.) являются частными случаями методов первого и второго порядков, относящихся к классу методов Рунге-Кутта. Эти методы используют для вычисления значения значение и функции f(x,y) при некоторых специальным образом выбираемых значениях . На их основе могут быть построены разностные схемы разного порядка точности.
Широко распространен метод Рунге-Кутта четвертого порядка.
Запишем алгоритм этого метола в виде
(6.1)
Т.о. данный метод требует на каждом шаге четырехкратного вычисления правой части f(x,Y) уравнения (3.1). суммарная погрешность этого метода – величина (подробнее рассмотрено в пункте 3).
Метод Рунге-Кутта требует большего объема вычислений по сравнению с методом Эйлера и его модификациями, однако это окупается повышенной точностью, что дает возможность проводить счет с большим шагом. Другими словами, для получения результатов с одинаковой точностью в методе Эйлера потребуется значительно меньший шаг, чем в методе Рунге-Кутта.
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Program Shatilova: {Metod Runge-Kutta}
uses crt;
var x,y,xi,yi,L,h, xip1, yip1,y_tochn,k0,k1,k2,k3, error:real;
i,k:integer;
f: text;
function f_user (x,y:real):real;
begin
f_user:=3*x;
end;
function f_tochn (x:real):real;
begin
f_tochn:=((3*x*x)/2)-5;
end;
begin
assign (f,'6.txt');
rewrite (f);
xi:=2;
yi:=1;
writeln (f,' xi=',xi:5:5,' yi=',yi:5:5);
writeln (' xi=',xi:5:5,' yi=',yi:5:5);
L:=1;
h:=0.1;
k:=round(L/h);
for i:=1 to k do
begin
xip1:=xi+h;
k0:=f_user(xi,yi);
k1:=f_user (xi+h/2,yi+h*k0/2);
k2:=f_user (xi+h/2,yi+h*k1/2);
k3:=f_user (xi+h,yi+h*k2);
yip1:=yi+h/6*(k0+2*k1+2*k2+k3);
xi:=xip1;
yi:=yip1;
y_tochn:=f_tochn(xi);
error:=abs((y_tochn-yip1)/y_tochn*100);
writeln (' x=',xi:8:3,' y=',yi:8:3, ' y_tochn=',y_tochn:8:3,'error=',error:10:10);
writeln (f,' x=',xi:8:3,' y=',yi:8:3, ' y_tochn=',y_tochn:8:3,'error=',error:10:10);
end;
close(f);
end.
Змн. |
Арк. |
№ докум. |
Підпис |
Дата |
Арк. |
ХМ 45.00.00.00
|
Таблица 6.1. – Результаты расчета методом Ронге-Кутта
Рисунок6.1 – Приближенный и точный график расчета методом Ронге-Кутта
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
ХМ 45.00.00.00 |
Таблица 9.1 - Сравнение результатов расчета методом Эйлера и Рунге-Кутта
Метод Эйлера | Метод Рунге-Кутта | ||||
y | y_tochn | error | y | y_tochn | error |
В результате проведенных вычислений и графических построений видно что оба методы – Эйлера и Рунге-Кутта имеют свои достоинства и недостатки.
Преимущество метода Эйлера состоит в простоте его реализации.
Недостаток – с каждым шагом погрешность будет увеличиваться.
Метод Эйлера имеет 1 порядок точности – наиболее грубый.
Формально, методом Рунге — Кутта является модифицированный и исправленный метод Эйлера. Этот метод имеет четвёртый порядок точности.
Недостатком является большой обьем вычислений.
6 Список используемой литературы
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Лист |
ХМ 45.00.00.00 |
1. Констпект лекций по математическим методам анализа.
2. Электронный учебник по Turbo Pascal 7.0
3. Л. И. Турчак «Основы численных методов», М., 2003.
Дата добавления: 2015-09-29; просмотров: 37 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
Министерство образования и науки Украины | | | о разделе имущества супругов (если брак расторгнут) |