Решение дифференциальных уравнений методом Эйлера и усовершенствованным методом Эйлера
Принцип и значение метода Эйлера для расчета дифференциальных уравнений. Анализ его геометрического смысла. Улучшение метода за счет аппроксимации производной. Разработка блок-схем и программы на языке Turbo Pascal для проверки методов интегрирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 15.06.2013 |
Размер файла | 385,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
4
Федеральное агентство по образованию
ФГОУ СПО «Уфимский авиационный техникум»
Курсовая работа
Решение дифференциальных уравнений методом Эйлера и усовершенствованным методом Эйлера
по дисциплине «Численные методы»
Введение
Метод Эйлера - наиболее простой численный метод решения систем обыкновенных дифференциальных уравнений. Впервые описан Леонардом Эйлером в 1768 году в работе «Интегральное исчисление». Метод Эйлера является явным, одношаговым методом первого порядка точности, основанном на аппроксимации интегральной кривой кусочно-линейной функцией, т. н. ломаной Эйлера.
Метод Эйлера для расчета дифференциальных уравнений имеет небольшую точность расчета. Точность расчета у него зависит от размера шага линейно, зависимость точности от шага первой степени. То есть, чтобы увеличить точность в 10 раз, надо уменьшить шаг в 10 раз. На практике интересуются более совершенными методами. Вопрос стоит так: можно ли увеличить точность на порядок, но при этом сэкономить на количестве вычислений? Да, такие методы есть. Модифицированный метод Эйлера имеет точность второго порядка. В методе Эйлера производная берется в начале шага и по ней прогнозируется движение системы на конец шага, считая, что во время шага производная неизменна. То есть в течение всего шага производная считается той, какой она была в самом начале шага. Это основной источник неточности.
Улучшение метода состоит в том, что берется производная не в начале шага, а как промежуточное или среднее на разных участках одного шага. В разных вариантах метода вычисляют несколько производных в разных частях шага и усредняют их. Конечно, в этом случае число вычислений увеличивается, но не в десятки раз, а вот точность возрастает на порядок, в этом и состоит выигрыш.
Главная особенность обучения основам численных методов, которая все отчетливее проявляется в последние годы, связана с интенсификацией процессов использования различных специализированных математических пакетов и систем программирования вычислительных методов как инструмента решения прикладных задач.
Цель заданной работы - освоить решение дифференциальных уравнений методом Эйлера и усовершенствованным методом Эйлера; закрепление и систематизация полученных знаний, их применение при решении конкретных практических задач; закрепление навыков работы со справочной литературой и нормативными документами.
Данная курсовая работа состоит из трех частей. В первой части рассматривается теория двух рассматриваемых методов Эйлера и усовершенствованного Эйлера. Во второй части мы используем данную теоретическую часть при вычислении примера. В третьей части составляем программы, блок-схемы алгоритмов по данным двум методам.
эйлер дифференциальный уравнение аппроксимациия
1. Теоретическая часть
Если задачу об отыскании всех решений дифференциального уравнения удается свести к конечному числу алгебраических операций, операций интегрирования и дифференцирования известных функций, то говорят, что уравнение интегрируется в квадратурах. В приложениях крайне редко встречаются уравнения, интегрируемые в квадратурах. Поэтому для исследования дифференциальных уравнений широко используются приближенные, численные методы их решения.
1.1 Метод Эйлера
Метод Эйлера -- наиболее простой численный метод решения (систем) обыкновенных дифференциальных уравнений. Впервые описан Леонардом Эйлером в 1768 году в работе «Интегральное исчисление». Метод Эйлера является явным, одношаговым методом первого порядка точности, основанном на аппроксимации интегральной кривой кусочно-линейной функцией, т. н. ломаной Эйлера.
Описание метода
Пусть дана задача Коши для уравнения первого порядка
где функция f определена на некоторой области . Решение разыскивается на интервале [,b). На этом интервале введем узлы <<…<b.
Приближенное решение в узлах, которое обозначим через определяется по формуле
Эти формулы обобщаются на случай систем обыкновенных дифференциальных уравнений.
Оценка погрешности
Метод Эйлера является методом первого порядка. Если функция f непрерывна в D и непрерывно дифференцируема по переменной y в D, то имеет место следующая оценка погрешности
где h -- средний шаг, то есть существует C > 0 такая, что
Заметим, что условия гладкости на правую часть, гарантирующие единственность решения задачи Коши, необходимы для обоснования сходимости метода Эйлера.
Значение метода Эйлера
Метод Эйлера являлся исторически первым методом численного решения задачи Коши. О. Коши использовал этот метод для доказательства существования решения задачи Коши. В виду не высокой точности и вычислительной неустойчивости для практического нахождения решений задачи Коши метод Эйлера применяется редко. Однако в виду своей простоты метод Эйлера находит свое применение в теоретических исследованиях дифференциальных уравнений, задач вариационного исчисления и ряда других математических проблем.
Модифицированный метод Эйлера с пересчетом
Вычисления по методу Эйлера с пересчетом делаются в два этапа.
Прогноз:
Коррекция:
Модифицированный метод Эйлера с пересчетом имеет второй порядок точности, однако для его реализации необходимо дважды вычислять правую часть функции. Заметим, что метод Эйлера с пересчетом представляет собой разновидность методов Рунге-Кутта (предиктор-корректор).
Геометрический смысл метода Эйлера заключается в аппроксимации решения на отрезке [, ]. отрезком касательной, проведённой к графику решения в точке
Рисунок 1. Метод Эйлера
1.2 Усовершенствованный метод Эйлера
Точность метода Эйлера можно существенно повысить, улучшив аппроксимацию производной. Это можно сделать, например, используя среднее значение производной в начале и в конце интервала. В модифицированном методе Эйлера сначала по методу Эйлера вычисляется значение функции в следующей точке: = +hf (,)
Оно используется для вычисления приближённого значения производной в конце интервала f(, ). Вычислив среднее между этим значением производной и её значением в начале интервала, найдём более точное значение .
= +h/2 * [f(,) + f(, )] .
Принцип метода проиллюстрирован на рисунке. Для получения новой точки в нём требуется информация о двух других точках - предыдущей и промежуточной.
Рисунок 2. Усовершенствованный метод Эйлера.
Ошибка этого метода на каждом шаге имеет порядок h2.
2. Постановка и решение задачи
2.1 Формулировка задачи
Решение дифференциальных уравнений методом Эйлера и усовершенствованным методом Эйлера на примере вычисления на отрезке [0;3]
2.2 Решение задачи методом Эйлера
Уравнение:
На отрезке [0;3]
Количество шагов N=3
H= (a-b)/n= 1
X0=0
Y0=3
Xi=x0+h;
Шаги:
X1=1
X2=2
X3=3
Вычисляем по формуле:
2.3 Решение задачи усовершенствованным методом Эйлера
Уравнение:
На отрезке [0;3]
Количество шагов N=3
H= (a-b)/n= 1
Начальные точки:
X0=0
Y0=3
Xi=x0+h;
Шаги:
X1=1
X2=2
X3=3
Вычисляем по формуле:
3. Программная реализация
3.1 Блок-схемы
Метод Эйлера
Усовершенствованный метод Эйлера
3.2 Тексты программ
Метод Эйлера
program Metod Eilera;
uses CRT;
var i,t:integer;
y,y1:array[0..11] of real;
h,x0,x1:real;
function F(x2,y2:real):real;
begin
F:=(3*x2-y2)/(x2*x2+y2);
end;
begin
clrscr;
writeln('‚vvedem x0, y0:');
writeln;
write('x0=');
readln(x0);
write('y0=');
readln(y[0]);
writeln;
writeln('‚vvedite shag:');
writeln;
readln(h);
i:=0;
while x0<=2 do
begin
x1:=x0;
x1:=x1+h/2;
y1[i]:=y[i]+h/2*F(x0,y[i]);
y[i+1]:=y[i]+h*F(x1,y1[i]);
x0:=x0+h;
i:=i+1;
end;
writeln;
writeln(' y(x)');
writeln;
for t:=0 to i do
writeln(y[t]:10:6);
readln;
end.
Усовершенствованный метод Эйлера
Program ysov_metod_eilera;
uses crt;
var a,b,x,y,z,h:real;
i:integer;
function f(x,y:real):real;
begin
f:=(x*3-y)/(x*x+y);
end;
Begin
clrscr;
writeln('vvedite h-shag');
writeln('vvedite y nylevoe - y');
writeln('vvedite x nylevoe - a');
writeln('vvedite x kone4nyy to4ky - b');
readln(h,y,a,b);
x:=a;
i:=0;
repeat
i:=i+1;
z:=y+h/2*f(x,y);
y:=y+h*f(x+h/2,z);
x:=x+h;
writeln('x',i,'=',x:6:3,' ','y',i,'=',y:6:3);
until x>b-1;
readln;
End.
3.3 Тестовый пример
Метод Эйлера
В качестве тестового примера возьмем
Проверим правильность работы программы для тестового примера.
Рисунок 5. Результат работы тестовой программы методом Эйлера
Усовершенствованный метод Эйлера
В качестве тестового примера возьмем
Проверим правильность работы программы для тестового примера.
Рисунок 6. Результат работы тестовой программы усовершенствованным методом Эйлера
3.4 Решение задачи с помощью ЭВМ
Метод Эйлера
При вычислении заданного примера на языке программирования Turbo Pascal мы получаем следующее
Рисунок 7. Результат работы программы методом Эйлера
Усовершенствованный метод Эйлера
При вычислении заданного примера на языке программирования Turbo Pascal мы получаем следующее
Рисунок 8. Результат работы программы усовершенствованным методом Эйлера
Заключение
При решении задач дифференциального уравнения двумя методами - Эйлера и усовершенствованным методом Эйлера - получается как можно более точные значения в вычислениях уравнений. При решении задач методом Эйлера, получается более точное значение подынтегральной функции, так как погрешность метода пропорциональна шагу h во второй степени, т.е. метод Эйлера - имеет второй порядок точности.
Метод Эйлера являлся исторически первым методом численного решения задачи Коши. О. Коши использовал этот метод для доказательства существования решения задачи Коши. В виду не высокой точности и вычислительной неустойчивости для практического нахождения решений задачи Коши метод Эйлера применяется редко. Однако в виду своей простоты метод Эйлера находит свое применение в теоретических исследованиях дифференциальных уравнений, задач вариационного исчисления и ряда других математических проблем.
В ходе выполнения курсовой работы мы проделали ручной расчет заданной функции, выполнили расчет на языке программирования. Также мы выполнили тестовый пример для проверки методов интегрирования.
Программы написаны на языке Turbo Pascal для нахождения значений интегралов. Полученные в результате работы программ решения совпадают с ответами в примере.
Список литературы
1. Каханер Д., Моулер К., Нэш С. Численные методы и программное обеспечение (пер. с англ.). М.: Мир, 2001, 575 c.
2. Самарский А. А., Гулин А. В. Численные методы: Учеб. пособие для вузов. -- М.: Наука. Гл. ред. физ-мат. лит., 1989. -- 432 с.
3. Пискунов Н. С. Дифференциальное и интегральное исчисления для вузов. -- 13-е изд. -- М.: Наука. Гл. ред. физ-мат. лит., 1985. -- 432 с.
Размещено на Allbest.ru
Подобные документы
Рассмотрение двух методов нахождения приближенного корня дифференциального уравнения, применение их на практике. Графическая интерпретация метода Эйлера. Решение задачи усовершенствованным методом Эйлера. Программная реализация, блок-схемы и алгоритм.
курсовая работа [246,8 K], добавлен 17.06.2013Обзор методов решения в Excel. Рекурентные формулы метода Эйлера. Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка. Метод Эйлера с шагом h/2. Решение дифференциальных уравнений с помощью Mathcad. Модифицированный метод Эйлера.
курсовая работа [580,1 K], добавлен 18.01.2011Математическая модель, описание теории, применяемой к задаче. Обсчет точек методом Рунге-Кутта, модифицированным методом Эйлера, схема и листинг программы. Решение дифференциальных уравнений и построение графиков, решение уравнений в среде Turbo Pascal.
курсовая работа [76,7 K], добавлен 18.11.2009Разработка программы на языке Turbo Pascal 7.0 для преобразования кинетической схемы протекания химических реакций при изотермических условиях в систему дифференциальных уравнений. Ее решение в численном виде методом Рунге-Кутта четвертого порядка.
курсовая работа [929,7 K], добавлен 06.01.2013Решение дифференциальных уравнений с использованием классических алгоритмов численных методов Эйлера и Рунге-Кутта 4-го порядка. Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений. Результат работы программы.
курсовая работа [226,6 K], добавлен 05.04.2013Математическая постановка задачи. Алгоритм решения системы обыкновенных дифференциальных уравнений методом Эйлера. Параметры программы, ее логическая структура и функциональное назначение. Анализ входных и выходных данных. Описание тестовых задач.
курсовая работа [38,0 K], добавлен 26.04.2011Ручной расчет поставленной задачи методов Эйлера и Эйлера-Коши. Алгоритмы решения обоих методов, их программная реализация, решение тестовых примеров на заданную задачу. Расчеты заданного интеграла на языке программирования Turbo Pascal, их результаты.
курсовая работа [404,7 K], добавлен 15.06.2013Роль операционной системы Windows для решения инженерных задач. Исследование и анализ аналитических выражений, реализующих численный метод Эйлера в табличном редакторе Excel. Оценка эффективности методики построения таблиц расчетов переходных процессов.
реферат [105,5 K], добавлен 29.10.2013По структурной схеме системы автоматического управления составлена система дифференциальных уравнений, описывающих её функционирование. Разработана программа на языке Pascal для решения системы методом Эйлера и построен график переходных процессов.
курсовая работа [153,5 K], добавлен 26.12.2008Основные этапы математического моделирования. Метод Эйлера как наиболее простой численный метод решения обыкновенных дифференциальных уравнений. Написание компьютерной программы, которая позволит изучать графики системы дифференциальных уравнений.
курсовая работа [1,9 M], добавлен 05.01.2013