Решение дифференциального уравнения методом Эйлера-Коши и усовершенствованным методом Эйлера
Усовершенствованный метод Эйлера. Решение дифференциального уравнения первого порядка. Точность метода Эйлера. Проверка устойчивости решения. Интервал исчисления и шаг операций. Программы на языке Turbo Pascal для решения дифференциальных уравнений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.06.2013 |
Размер файла | 453,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное агентство по образованию
ФГОУ СПО «Уфимский авиационный техникум»
Курсовая работа
Решение дифференциального уравнения методом Эйлера-Коши и усовершенствованным методом Эйлера
по дисциплине «Численные методы»
КР 080802.10.038.27 ПЗ
Студент Д.М. Халиков
Руководитель работы Э.Р. Ахматсафина
Содержание
Введение
1. Теоретическая часть
1.1 Метод Эйлера-Коши
1.2 Усовершенствованный метод Эйлера. Метод Гюна
2. Постановка и решение задачи
2.1 Решение задачи методом Эйлера-Коши
2.2 Решение задачи усовершенствованным методом Эйлера
3. Программная реализация
3.1 Блок-схемы
3.2 Программы
3.3 Тестовый пример
3.4 Решение задачи с помощью ЭВМ
Заключение
Список используемой литературы
Введение
При решении научных и инженерно-технических задач часто бывает необходимо математически описать какую-либо динамическую систему. Лучше всего это делать в виде дифференциальных уравнений (ДУ) или системы дифференциальных уравнений. Наиболее часто они такая задача возникает при решении проблем, связанных с моделированием кинетики химических реакций и различных явлений переноса (тепла, массы, импульса) - теплообмена, перемешивания, сушки, адсорбции, при описании движения макро- и микрочастиц.
В ряде случаев дифференциальное уравнение можно преобразовать к виду, в котором старшая производная выражена в явном виде. Такая форма записи называется уравнением, разрешенным относительно старшей производной (при этом в правой части уравнения старшая производная отсутствует):
Решением обыкновенного дифференциального уравнения называется такя функция y(x), которая при любых х удовлетворяет этому уравнению в определенном конечном или бесконечном интервале. Процесс решения дифференциального уравнения называют интегрированием дифференциального уравнения.
Исторически первым и наиболее простым способом численного решения задачи Коши для ОДУ первого порядка является метод Эйлера. В его основе лежит аппроксимация производной отношением конечных приращений зависимой (y) и независимой (x) переменных между узлами равномерной сетки:
где yi+1 это искомое значение функции в точке xi+1.
Точность метода Эйлера можно повысить, если воспользоваться для аппроксимации интеграла более точной формулой интегрирования - формулой трапеций.
Данная формула оказывается неявной относительно yi+1 (это значение есть и в левой и в правой части выражения), то есть является уравнением относительно yi+1, решать которое можно, например, численно, применяя какой-либо итерационный метод (в таком виде его можно рассматривать как итерационную формула метода простой итерации).
Состав курсовой работы: Курсовая работа состоит из трех частей. В первой части краткое описание методов. Во второй части постановка и решение задачи. В третьей части - программная реализация на языке ЭВМ
Цель курсовой работы: изучить два метода решения дифференциальных уравнений-метод Эйлера-Коши и усовершенствованный метод Эйлера.
1. Теоретическая часть
1.1 Метод Эйлера-Коши
Рисунок 1. Множество решений дифференциального уравнения.
В соответствии с постановкой задачи нужно найти решение дифференциального уравнения первого порядка, т.е. найти такие решения y(x), которые превратили бы дифференциальное уравнение в тождество. Но так как таких решений множество, заданы начальные условия - значения функции y(x) в точке x0, т.е. y(x0) = y0, а так же интервал [ x0 - xn ]. Рисунок 1. показывает, что с помощью начальных условий из множества решений можно выбрать одно.
Метод Эйлера - Коши - наиболее точный метод решения дифференциального уравнения (второй порядок точности). Этот метод предполагает следующий порядок вычислений:
yi+1 = yi + h f( xi ; yi ), где i = 0,1,2 ... n
yi+1 = yi + h (f( xi ; yi ) + f( xi+1 ; yi+1)) / 2
Число значений n можно найти, разделив интервал на шаг:
n = (xn - xo) / h
Геометрически это означает, что определяется направление касательной к интегральной кривой в исходной точке хi,yi и во вспомогательной точке хi+1,yi+1, а в качестве окончательного направления берется среднее этих направлений (показано пунктирной линией на рисунке 2)
Рисунок 2. Графическая интерпретация метода Эйлера - Коши.
Решение yi+1, найденное методом Эйлера - Коши, намного ближе к точному решению, чем решение (yi+1), найденное методом Эйлера. Погрешность метода пропорциональна шагу h во второй степени, т.е. метод Эйлера - Коши имеет второй порядок точности.
1.2 Усовершенствованный метод Эйлера. Метод Гюна
Точность метода Эйлера можно повысить, если воспользоваться для аппроксимации интеграла более точной формулой интегрирования формулой трапеций.
Данная формула оказывается неявной относительно yi+1 (это значение есть и в левой и в правой части выражения), то есть является уравнением относительно yi+1, решать которое можно, например, численно, применяя какой-либо итерационный метод (в таком виде его можно рассматривать как итерационную формулу метода простой итерации). Однако, можно поступить иначе и приблизительно вычислить значение функции в узле i+1 с помощью обычной формулы Эйлера:
которое затем использовать при вычислении
Таким образом получается метод Гюна или метод Эйлера с пересчетом. Для каждого узла интегрирования производится следующая цепочка вычислений
Благодаря более точной формуле интегрирования, погрешность метода Гюна пропорциональна уже квадрату шага интегрирования. Подход, использованный в методе Гюна, используется для построения так называемых методов прогноза и коррекции.
Проведем вычисления для уравнения с помощью метода Гюна.
При шаге интегрирования h=0,1 в первом узле сетки x1 получим:
Что намного точнее значения, полученного методом Эйлера при том же шаге интегрирования.
Отметим существенное увеличение точности вычислений метода Гюна по сравнению с методом Эйлера. Так, для узла x=0,1 относительное отклонение значения функции, определенного методом Гюна, оказывается в 30 (!) раз меньше. Такая же точность вычислений по формуле Эйлера достигается при числе отрезков интегрирования N примерно 30. Следовательно, при использовании метода Гюна при одинаковой точности вычислений понадобится примерно в 15 раз меньше времени ЭВМ, чем при использовании метода Эйлера.
Проверка устойчивости решения
Решение ОДУ в некоторой точке xi называется устойчивым, если найденное в этой точке значение функции yi мало изменяется при уменьшении шага интегрирования. Для проверки устойчивости, таким образом, надо провести два расчета значения (yi) с шагом интегрирования h и при уменьшенной (например, двое) величине шага
В качестве критерия устойчивости можно использовать малость относительного изменения полученного решения при уменьшении шага интегрирования ( наперед заданная малая величина)
Такая проверка может осуществляться и для всех решений на всем интервале значений x. Если условие не выполняется, то шаг снова делится пополам и находится новое решение и т.д. до получения устойчивого решения.
2. Постановка и решение задачи
Решение дифференциального уравнения методом Эйлера-Коши и усовершенствованным методом Эйлера (на примере уравнения
;
2.1 Решение задачи методом Эйлера-Коши
Уравнение:
На отрезке [0,4]
Количество шагов N=4
H= (a-b)/n= 1
X0=0
Y0=2
Xi=xi-1+h;
X1=1
X2=2
X3=3
X4=4
yi+1 = yi + h f( xi ; yi )
yi+1 = yi + h (f( xi ; yi ) + f( xi+1 ; yi+1)) / 2
Y1*=2+1*((3-0-4)/(2-0*4))=1,5
Y1=2+1*((3-0-4)/(2-0*4)+(3-1-1,5*1,5)/(2-1*1,5*1,5))/2=2,25
Y2*=2.25+(3-1-2.25*2.25)/(2-1*2.25*2.25)=3.25
Y2=2.25+1*((3-1-2.25*2.25)/(2-1*2.25*2.25)+(3-2-3.25*3.25)/(2-2*3.25))/2=3
Y3*=3+1*(3-2-3*3)/(2-2*3*3)=3.5
Y3=3+1*((3-2-3*3)/(2-2*3*3)+(3-3-3.5*3.5)/(2-3*3.5*3.5))/2=3.4263
Y4*=3.4263+1*(3-3-3.4263*3.4263)/(2-3*3.4263*3.4263)=3.4263+(11.7395/33.2186)=3.7797
Y4=3.4263+1*((3-3-3.4263*3.4263)/(2-3*3.4263*3.4263)+(3-4-3.7797*3.7797)/(2-4*3.7797*3.7797))/2=3.4263+1*(0.3534+0.2772)/2=3.7416
Рисунок 3. График функции по найденным точкам.
2.2 Решение задачи усовершенствованным методом Эйлера
Уравнение:
На отрезке [1;5]
Количество шагов N=4
H= (a-b)/n= 1
X0=0
Y0=2
Xi=x0+h;
X1=1
X2=2
X3=3
X4=4
Yi=yi-1+h*((f(xi-1;yi-1)+f(h/2+xi-1;(yi-1+h*f(xi-1;yi-1)/2)))
Y1*=2+1*((3-0-4)/(2-0*4))/2=1,75
Y1=2+1*((3-0-4)/(2-0*4)+(3-1.5-1,75*1,75)/2*(2-1.5*1,75*1,75))=2+
+((-1/2+(4.5625/2.59375)/2=2.3795
Y2*=2.3795+(3-1-2.3795*2.3795)/(2-1*2.3795*2.3795)/2=2.8795
Y2=2.3795+(3-1-2.3795*2.3795)/(2-1*2.3795*2.3795)+(3-2.5-2.8795*2.8795)/2*(2- -2.5*2.8795*2.8795)= 2.3795+1/2+7.7915/18.7288=3.2955
Y3*=3.2955+(3-2-3.2955*3.2955)/(2-2*3.2955*3.2955)/2=3.2955+(11.8603/19.7206)/2=3.5962
Y3=3.2955+(3-2-3.2955*3.2955)/(2-2*3.2955*3.2955)+(3-3.5-3.5962*3.5962)/2*(2- 3.5*3.5962*3.5962)= 3.2955+(11.8603/19.7206)+(13.4326/86.5285)=3.2955+0.6014+0.1552=4.0521
Y4*=4.0521+(3-3-4.0521*4.0521)/(2-3*4.0521*4.0521)/2=4.0521+
+(-16.4195/-94.5171)=4.2258
Y4=4.0521+(3-3- 4.0521*4.0521)/(2-3*4.0521*4.0521)+(3-4.5-4.2258*4.2258)/2*(2- 4.5*4.2258*4.2258)= 4.0521+0.3474+(-19.3574/-156.7165)=4.5230
Рисунок 4. График функции по полученным точкам.
3. Программная реализация
3.1. Блок-схемы
Для метода Эйлера-Коши
Для усовершенствованного метода Эйлера
3.2 Программы
Для метода Эйлера-Коши
program p1;
uses crt;
var i,n:integer; b,h,x,y,y0:real;
function f(x,y:real):real;
begin
f:=(3-x-y*y)/(2-x*y*y);
end;
begin
clrscr;
write ('Vvedi otrezok: ');
read (x,b);
write ('Skolko shagov: ');
readln (n);
h:=(b-x)/n;
write ('Y(0): ');
read(y0);
y:=y0;
x:=a
writeln ('X':6,'Y':6);
for i:=1 to n+1 do begin
Y:=y+h*(f(x, y)+ f(x+1, y+h* f(x, y)))/2;
writeln (x:6:2,y:8:4);
x:=x+h;
end;
readln
end.
Для усовершенствованного метода Эйлера.
program p1;
uses crt;
var i,n:integer; b,h,x,y,y0:real;
function f(x,y:real):real;
begin
f:=(3-x-y*y)/(2-x*y*y);
end;
begin
clrscr;
write ('Vvedi otrezok: ');
read (x,b);
write ('Skolko shagov: ');
readln (n);
h:=(b-x)/n;
write ('Y(0): ');
read(y0);
y:=y0;
writeln ('X':6,'Y':6);
for i:=1 to n+1 do begin
y:=y+h/2*(f(x,y)+f(x,(y+h*(f(x,y)))));
writeln (x:6:2,y:8:4);
x:=x+h;
end; readln;
readln;
end.
3.3 Тестовый пример
В качестве тестового примера возьмем уравнение y'=2x
На отрезке [1;4]
Начальное значение M0(0;1)
Метод Эйлера-Коши
Рисунок 5. Метод Эйлера-Коши
Усовершенствованный метод Эйлера
Рисунок 6. Усовершенствованный метод Эйлера.
3.4 Решение задачи с помощью ЭВМ
Метод Эйлера-Коши
Рисунок 7. Решение на ЭВМ методом Эйлера-Коши
Усовершенствованный метод Эйлера
Рисунок 8. Решение на ЭВМ усовершенствованным методом Эйлера
Заключение
эйлер дифференциальный уравнение программа
Таким образом, очевидно, что при вычислении дифференциального уравнения методами Эйлера-Коши и Усовершенствованный метод Эйлера решение не дает нам точного значения, а только приближенное.
Чем меньше задается интервал исчисления и шаг операций, тем точнее результат, получаемый машиной. Для большей точности необходимо большее число итераций, что обуславливает возрастание затрат времени вычисления интеграла на компьютере обратно пропорционально точности вычисления.
Использование для вычисления одновременно двух методов позволило исследовать зависимость точности вычислений при применении обоих методов. На чем можно сделать определенный вывод что. Усовершенствованный метод Эйлера более легкий для машины и результат (который очень близок к точному) получаем быстрее метода Эйлера-Коши. Последний является более точным.
Программы написаны на языке Turbo Pascal для решения дифференциальных уравнений. Полученные в результате работы программ решения совпадают с ответами в примере.
Список используемой литературы
1. Каханер Д., Моулер К., Нэш С. Численные методы и программное обеспечение (пер. с англ.). М.: Мир, 2001, 575 c.
2. Самарский А. А., Гулин А. В. Численные методы: Учеб. пособие для вузов. -- М.: Наука. Гл. ред. физ-мат. лит., 1989. -- 432 с.
3. Http://ru.wikipedia.org
Размещено на Allbest.ru
...Подобные документы
Рассмотрение двух методов нахождения приближенного корня дифференциального уравнения, применение их на практике. Графическая интерпретация метода Эйлера. Решение задачи усовершенствованным методом Эйлера. Программная реализация, блок-схемы и алгоритм.
курсовая работа [246,8 K], добавлен 17.06.2013Ручной расчет поставленной задачи методов Эйлера и Эйлера-Коши. Алгоритмы решения обоих методов, их программная реализация, решение тестовых примеров на заданную задачу. Расчеты заданного интеграла на языке программирования Turbo Pascal, их результаты.
курсовая работа [404,7 K], добавлен 15.06.2013Принцип и значение метода Эйлера для расчета дифференциальных уравнений. Анализ его геометрического смысла. Улучшение метода за счет аппроксимации производной. Разработка блок-схем и программы на языке Turbo Pascal для проверки методов интегрирования.
курсовая работа [385,7 K], добавлен 15.06.2013Обзор методов решения в Excel. Рекурентные формулы метода Эйлера. Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка. Метод Эйлера с шагом h/2. Решение дифференциальных уравнений с помощью Mathcad. Модифицированный метод Эйлера.
курсовая работа [580,1 K], добавлен 18.01.2011Численный метод для решения однородного дифференциального уравнения первого порядка методом Эйлера. Решение систем дифференциальных уравнений методом Рунге–Кутта. Решение краевой задачи. Уравнения параболического типа, а также Лапласа и Пуассона.
курсовая работа [163,5 K], добавлен 27.05.2013Программа вычисления интеграла методом прямоугольников. Решение задачи Коши для дифференциальных уравнений. Модифицированный метод Эйлера. Методы решения краевой задачи для обыкновенного дифференциального уравнения. Задачи линейного программирования.
методичка [85,2 K], добавлен 18.12.2014Численное решение задачи Коши для обыкновенного дифференциального уравнения первого и второго порядка методом Эйлера и Рунге-Кутты и краевой задачи для ОДУ второго порядка с применением пакета MathCad, электронной таблицы Excel и программы Visual Basic.
курсовая работа [476,2 K], добавлен 14.02.2016Теоретические основы вариационного исчисления и область применения метода. Практическое решение задач оптимизации методом вариационного исчисления. Нахождение экстремума функционала и частных производных. Составление дифференциального уравнения Эйлера.
лабораторная работа [99,5 K], добавлен 16.12.2014Математическая модель, описание теории, применяемой к задаче. Обсчет точек методом Рунге-Кутта, модифицированным методом Эйлера, схема и листинг программы. Решение дифференциальных уравнений и построение графиков, решение уравнений в среде Turbo Pascal.
курсовая работа [76,7 K], добавлен 18.11.2009Роль операционной системы Windows для решения инженерных задач. Исследование и анализ аналитических выражений, реализующих численный метод Эйлера в табличном редакторе Excel. Оценка эффективности методики построения таблиц расчетов переходных процессов.
реферат [105,5 K], добавлен 29.10.2013Численные решения задач методом Коши, Эйлера, Эйлера (модифицированный метод), Рунге Кутта. Алгоритм, форма подпрограммы и листинг программы. Решение задачи в MathCad. Подпрограмма общего решения, поиск максимальных значений. Геометрический смысл задачи.
курсовая работа [691,4 K], добавлен 17.05.2011Решение дифференциального уравнения N-го порядка методом интегрирования при помощи характеристического уравнения, методом интегрирования и операторным методом для значений аргументов при заданных начальных условиях и нулевых уравнения 4–го порядка.
практическая работа [806,9 K], добавлен 05.12.2009Математическая постановка задачи. Алгоритм решения системы обыкновенных дифференциальных уравнений методом Эйлера. Параметры программы, ее логическая структура и функциональное назначение. Анализ входных и выходных данных. Описание тестовых задач.
курсовая работа [38,0 K], добавлен 26.04.2011Анализ предметной области объектно-ориентированного программирования. Языки Delphi, Object Pascal - объектно-ориентированная среда программирования. Основные алгоритмические решения. Решение дифференциального уравнения методом Рунге-Кутта в среде Excel.
курсовая работа [1,5 M], добавлен 02.04.2011- Исследование движения тела, брошенного под углом к горизонту, с учетом горизонтального сопротивления
Математическая модель задачи для исследования характера движения тела. Решение задачи Коши для системы дифференциальных уравнений первого и второго порядка. Использование метода Эйлера. Схема алгоритма, таблица идентификаторов, программа на языке Pascal.
курсовая работа [137,9 K], добавлен 07.03.2013 Разработка программы на языке Turbo Pascal 7.0 для преобразования кинетической схемы протекания химических реакций при изотермических условиях в систему дифференциальных уравнений. Ее решение в численном виде методом Рунге-Кутта четвертого порядка.
курсовая работа [929,7 K], добавлен 06.01.2013Решение дифференциального уравнения с помощью численных методов (Рунге-Кутта и Эйлера модифицированного). Особенности построения графиков в программе Microsoft Visual Basic 10 с использованием ответа задачи, который имеет незначительную погрешность.
курсовая работа [1017,3 K], добавлен 27.05.2013Дифференциальные уравнения как уравнения, в которых неизвестными являются функции одного или нескольких переменных, причем в уравнения входят не только сами функции, но и их производные. Решение операторным методом, с помощью рядов, методом Эйлера.
курсовая работа [301,4 K], добавлен 27.03.2011Разработка прикладного программного обеспечения для решения расчетных задач для компьютера. Численное интегрирование - вычисление значения определённого интеграла. Проектирование алгоритма численного метода. Тестирование работоспособности программы.
курсовая работа [1,1 M], добавлен 03.08.2011Численные методы решения задачи Коши для обыкновенных дифференциальных уравнений: Эйлера, Рунге-Кутта, Адамса и Рунге. Техники приближенного решения данных уравнений: метод конечных разностей, разностной прогонки, коллокаций; анализ результатов.
курсовая работа [532,9 K], добавлен 14.01.2014