Реферат: Решение дифференциальных уравнений 1 порядка методом Эйлера
Программа не требует предварительной установки и может быть сразу же запущена на выполнение.
Исходный код приложения может быть откомпилирован в любом ANSI или POSIX совместимом компиляторе С++ для получения выполнимой программы. Для успешной компиляции требуется наличие стандартной библиотеки «iostream».
5. Контрольный пример
Данный метод протестирован на контрольном примере и реализован с помощью языка программирования С++.
В результате вычислений контрольного примера вида y’=2 x+ y с интервалом [0,1],
количеством шагов равному 5 и начальным условием у равным 1 , с помощью программы, получились следующие результаты:
Рис. 2. Экран с результатами выполнения программы.
Как видно, при вычислении программа на первом шаге берёт начальные значения для вычисления, а на последующих берёт значения полученные с предыдущих шагов. Можно сделать вывод, что точность вычисления данного метода зависит от количества выбранных шагов: чем больше шагов, тем меньше фиксированное приращение , а следовательно она более точно вычисляет значение всего интервала.
По работе программы стало видно, что с её использованием намного упростилась работа пользователя. Пользователь просто вводит интервал на котором должен вычисляться пример, количество шагов и начальное значения и программа выдаёт уже готовое решение данного примера.
6.Анализ полученных результатов.
По результатам программы можно составить таблицу сравнения результатов полученных при использовании программы и результатов, полученных ручным способом:
Ручной способ вычисления | Программный способ вычисления | ||
Х | Y | X | Y |
0 | 0,82 | 0 | 0,82 |
0,2 | 0,75 | 0,2 | 0,7516 |
0,4 | 0,77 | 0,4 | 0,770248 |
0,6 | 0,85 | 0,6 | 0,856793 |
0,8 | 0,99 | 0,8 | 0,996299 |
Из приведенного сравнения можно сделать вывод, что один результат отличается от другого тем, что в примере, решенном программным способом ответ вычисляется с наибольшей точностью, чем при ручном способе. Это может быть связано с тем, что в ручном способе результат округляется для удобства вычисления примера.
Решение дифференциальных уравнений методом Эйлера можно также отобразить в графическом виде:
Рис.3.Графическое изображение решения примера y’=2x+y
Как видно из рис.3 графиком решения уравнения является кривая , форма которой зависит от количества разбиений интервала.
По результатам выполненной работы можно сделать вывод, что решение дифференциальных уравнений методом Эйлера является методом вычисления со средней точностью и точность вычисления данного метода зависит от количества разбиений интервала интегрирования. При сравнении результатов решенными разными способами можно сказать, что данный метод был верно реализован на языке программирования MicrosoftVisualC++. Полученные результаты сходятся с небольшой погрешностью.
Список литературы.
1. Численные методы (анализ, алгебра, обыкновенные дифференциальные уравнения), Н.С. Бахвалов. Главная редакция физико- математической литературы изд-ва «Наука», М., 1975г.
2. Методы, теории обыкновенных дифференциальных уравнений. Н.И. Гаврилов . Государственное издательство «Высшая школа» Москва-1962г.
3. В.В.Пак., Ю.Л. Носенко. Высшая математика: Учебник.- Д.: Сталкер, 1997г.
4. Б. П. Демидович, И. А. Марон Основы вычислительной математике. – М., 1966
5. Загускин В. Л. – Справочник по численным методам решения уравнений. – М.: ФИЗМАТГИЗ, 1960. – 216 с.
6. Либерти, Джесс.
Освой самостоятельно С++ за 21 день, 4-е издание.:Пер с англ.-М.: Издательский дом «Вильямс», 2003.-832с.
7. П.Нортон, П.Иао «Программирование на С++ в среде Windows» («Диалектика» Киев 2003г.)
8. Янг М. Microsoft Visual C++ - М.:ЭНТРОП, 2000.
9. Марченко А.И., Марченко Л.А. – Программирование в среде
Turbo Pascal 7.0 – К.: ВЕК+, М.: Бином Универсал, 1998. – 496 с.
10. Высшая математика: Справ. материалы: Книга для учащихся .- М.:
Просвещение, 1988.-416 с.: ил.
Приложение.
Листинг программы.
#include<iostream>
using namespace std;
void func(double& Xi, double& Yi,double kx, double ky, double h);