Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Министерство науки и образования Украины



Министерство науки и образования Украины

Сумской государственный университет


ОДЗ по предмету:

«Математические модели и модели энергетического оборудования»

На тему:

«Решение дифференциального уравнения методом Эйлера и методом Рунге-Кутта»

Выполнила Шатилова Т. А.

Группа Х-81

Проверил Мелейчук С. С.

Сумы 2010

Содержание

с

1.

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

 

ХМ 45.00.00.00

 

Розроб.

Шатилова

Перевір.

Мелейчук

Реценз.

 

Н. Контр.

 

Затверд.

 

Решение дифференциального уравнения методом Эйлера и методом Рунге-Кутта

Літ.

Аркушів

 

Гр Х-81

Исходные данные….…………………………………………………………………….…………………..….………………………………..3

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

 

Показатель степени r называется порядком погрешности аппроксимации производной или порядком точности данной аппроксимации. При этом предполагается, что значение шага по модулю меньше единицы.

Оценку погрешности легко иллюстрировать с помощью ряда Тейлора:

(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

 

При этом кривая 0 соответствует точному решению задачи Коши (3.1), (3.2), т.к. она проходит через начальную точку А . Точки В, С получены в результате численного решения задачи коши методом Эйлера. Их отклонения от кривой 0 характеризуют погрешность метода. При выполнении каждого шага мы фактически попадаем на другую интегральную кривую. Отрезок АВ – отрезок касательной к кривой 0 в точке А, ее аклон характеризуется значением производной . Погрешность появляется потому, что приращении значения функции при переходе от к заменяется приращением ординаты касательной кривой 0 в точке А. касательная кривая АВ уже проводиться к другой интегральной кривой 1. Т.о погрешность метода приводит к тому, что на каждом шаге приближенное значение переходит на другую интегральную кривую.

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

 

ХМ 45.00.00.00

 

4.Програма расчета методом Эйлера

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. Вывод результатов расчета методом Эйлера

Таблица 5.1. – Результаты расчета методом Эйлера

               
               
               
               
               
               
               
               
               
               
               

Рисунок5.1 – Приближенный и точный график расчета методом Эйлера

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

 

ХМ 45.00.00.00

 

6. Описание метода Рунге-Кутта

Модификации метода Эйлера (метод Эйлера с пересчетом и т.д.) являются частными случаями методов первого и второго порядков, относящихся к классу методов Рунге-Кутта. Эти методы используют для вычисления значения значение и функции f(x,y) при некоторых специальным образом выбираемых значениях . На их основе могут быть построены разностные схемы разного порядка точности.

Широко распространен метод Рунге-Кутта четвертого порядка.

Запишем алгоритм этого метола в виде

(6.1)

Т.о. данный метод требует на каждом шаге четырехкратного вычисления правой части f(x,Y) уравнения (3.1). суммарная погрешность этого метода – величина (подробнее рассмотрено в пункте 3).

Метод Рунге-Кутта требует большего объема вычислений по сравнению с методом Эйлера и его модификациями, однако это окупается повышенной точностью, что дает возможность проводить счет с большим шагом. Другими словами, для получения результатов с одинаковой точностью в методе Эйлера потребуется значительно меньший шаг, чем в методе Рунге-Кутта.

Змн.

Арк.

№ докум.

Підпис

Дата

Арк.

 

ХМ 45.00.00.00

 

7. Програма расчета методом Рунге-Кутта

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

 

8. Вывод результатов расчета методом Ронге-Кутта

Таблица 6.1. – Результаты расчета методом Ронге-Кутта

               
               
               
               
               
               
               
               
               
               
               

Рисунок6.1 – Приближенный и точный график расчета методом Ронге-Кутта

Изм.

Лист

№ докум.

Подпись

Дата

Лист

 

ХМ 45.00.00.00

9. Анализ результатов

Таблица 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 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Министерство образования и науки Украины | о разделе имущества супругов (если брак расторгнут)

mybiblioteka.su - 2015-2024 год. (0.056 сек.)