Визуализация численных методов. Решение обыкновенных дифференциальных уравнений
Описание используемой математической модели и применяемых методов просчета для решения дифференциального уравнения. Анализ полученных алгоритмов подпрограмм и обзор их функций. Характеристика формы программы. Листинг и решения в работе с MathCad.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 09.06.2013 |
Размер файла | 740,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Выбранная тема работы «Визуализация численных методов. Решение обыкновенных дифференциальных уравнений» актуальна, в виду того, что является самостоятельной инженерно-расчетной работой. Она является завершающей по информатике и служит основой для дальнейшего прохождения специальных дисциплин. Дифференциальные уравнения используются при решении различных задач из разделов физики, химии и математики, но такие уравнения не всегда удается решить без помощи компьютера. Именно поэтому создание программ для решения таких уравнений всегда будет актуальным вопросом в улучшении точности получения результатов.
Цель работы: получение навыков решения обыкновенных дифференциальных уравнений путем написания программы на языке VisualBasic и проверки решения с помощью приложения MathCad.
1. Постановка задач. Описание математической модели
Решить методами Эйлера и Рунге-Кутта 4 порядка задачу Коши для дифференциального уравнения 1-го порядка на отрезке [X0; Xk] с шагом hи начальным условием:
Y*(X0) = Y0
Ответ должен быть получен в виде таблицы результатов (таблица 1):
Таблица 1. - Вывод результатов:
X |
Y(1) |
Y(2) |
YT |
|
X0 |
Y0(1) |
Y0(2) |
Y(X0) |
|
X1 |
Y1(1) |
Y1(2) |
Y(X1) |
|
… |
… |
… |
… |
|
Xk |
Yk(1) |
Yk(2) |
Y(Xk) |
Где:
Y(1),Y(2) - решения, полученные различными численными методами,
YT- точное решение дифференциального уравнения.
Возможно представление результатов решения не в виде таблицы, а в виде списков.
Данные таблицы визуализировать на форме в виде графиков.
Перед вычислением последнего столбца таблицы результатов необходимо из начальных условий вычесть значение коэффициента c, используемого в общем решении.
Таблица 2. - Начальные условия:
Дифференциальное уравнение |
X0 |
Xk |
h |
Y0 |
Общее решение |
|
х2-х*y'=у |
р/2 |
3 р/4 |
р/20 |
1 |
y=sin(x) |
Для достижения поставленных целей определим следующие задачи:
1) Изучение теоретического материала по дифференциальным уравнениям.
2) Решение дифференциального уравнения методами Эйлера и Эйлера модифицированного.
3) Написание программы, для решения уравнения, на языке VisualBasic.
4) Построение модели решения в MathCad.
5) Построение блок-схемы основных процедур.
6) Сравнение результатов, полученных в разных программах.
2. Описание используемых методов
В данной работе предполагается использование двух методов решения дифференциальных уравнений:
- Методом Эйлера (Рунге-Кутта 1-го порядка).
- Методом Рунге-Кутта 4-го порядка).
2.1 Метод Эйлера
Метод Эйлера называют методом Рунге-Кутта первого порядка точности. Данный метод является одношаговым. Табулирование функции происходит поочередно в каждой точке. Для расчета значений функции в очередном узле необходимо использовать значение функции в одном предыдущем узле.
Пусть дано дифференциальное уравнение первого порядка:
y' = f * (x,y)
С начальным условием:
y * (x0) = y0
Выберем шаг h и введём обозначения:
xi = x0 + ih
yi = y * (xi)
Где:
i = 0,1,2,3, …
xi -узлы сетки,
yi -значение интегральной функции в узлах.
Проведем прямую АВ через точку (xi, yi) под углом б.
При этом:
tg б = f * (xi, yi)
В соответствии с геометрическим смыслом задачи, прямая АВ является касательной к интегральной функции. Произведем замену точки интегральной функции точкой, лежащей на касательной АВ.
Тогда:
yi+1 = yi+?y
Из прямоугольного треугольника АВС:
Приравниваем правые части. Получим:
Отсюда:
Подставим в это выражение формулу, а затем преобразуем его. В результате получаем формулу расчета очередной точки интегральной функции:
Из формулы видно, что для расчета каждой следующей точки интегральной функции необходимо знать значение только одной предыдущей точки. Таким образом, зная начальные условия, можно построить интегральную кривую на заданном промежутке.
Метод Эйлера - один из простейших методов численного решения обыкновенных дифференциальных уравнений.
Но существенным его недостатком является большая погрешность вычислений.
На рисунке погрешность вычислений для i-го шага обозначена е. С каждым шагом погрешность вычислений увеличивается.
2.1.1 Применение метода Эйлера (Рунге-Кутта I порядка) для просчета первой точки дифференциального уравнения курсовой работы
1) Строим оси координат;
2) Отмечаем точку А (1,0) - первая точка интегральной кривой;
3) Ищем угол наклона касательной к графику в точке А:
4) Строим касательную l0в точке А под углом б0;
5) Находим х1 по формуле:
хi = x0 + ih
Где:
h- шаг интегрирования:
х1 = 1.57 + р/20 = 11р/20
6) Проводим прямую:
х = х1 = 1,05
- до пересечения с прямой l0, отмечаем точку В(х1,у1);
7) Ищем координату у1 для точки В:
?у = у1 - у0 ?х = h
f(x0,y0) = (y1 - y0)/h =>y1 = y0 + h• (f(x0,y0)) = 1
Точка В имеет координаты:
11 р / 20,1.
2.1.2 Метод Рунге-Кутта
Для уменьшения погрешности вычислений используется и метод Рунге-Кутта. Этот метод имеет так же название метод Рунге-Кутта четвертого порядка точности.
Для решения поставленной задачи выполняем следующие действия:
- Строим оси координат;
- Отмечаем А(1; 1) - первую точку интегральной кривой;
- Ищем угол наклона касательной к графику в точке A:
- Строим касательную AB в точке А под углом б0;
- Находим х1 по формуле:
xi= х0+ ih
Где:
h - шаг интегрирования
x1 = 1 + 1 · 0,1 = 1,1;
- Делим шаг интегрирования на четыре отрезка и отмечаем x1/4= x0 + h/4, проводим прямую из этой точки до прямой AB, отмечаем точкуB(x1/4; y1/4);
- Ищем координаты В:
x1/4 = x0 + h/4 = 1 + 0,1/2 = 1,05
y1/4 = y0 + h/4 · f(x0; y0) = 1 + 0,1/2 · 1,718 = 1,086
Следовательно, точка B имеет координаты (1,05; 1,086);
Ищем угол наклона касательной к графику в точке B:
б1 = arctg(f(x1/4; y1/4)) = arctg(( 1,718- 1,086)/1,05)) = arctg(1,687) = 59,3°
- Строим касательную BCв точке B под углом б1;
- Проводим прямую x1 = 1,1до пересечения с прямой BC, отмечаем точку C с координатами (x1; y1);
- Ищем y1:
y1 = y1/4 + h/4(f(x1/4;y1/4)) = 1,086 + 0,1/2 · 1,687 = 1,169
Следовательно, точка C имеет координаты (1,1; 1,169):
yi+1 = yi + h • f(xi + h/4, yi + h/4 • f(xi, yi))
3. Алгоритм решения задачи
3.1 Алгоритмы подпрограмм
3.1.1 Подпрограмма метода Эйлера
3.1.2 Подпрограмма метода Рунге-Кутта 4-го порядка
3.1.3 Подпрограмма Общего решения
3.2 Алгоритм функции f
3.3 Алгоритм программы
4. Форма программы
В среде MSVisualBasic была разработана программа для решения дифференциального уравнения.
5. Листинг программы
7. Решение в MathCad
В среде MathCadбыл разработан проект, производящий вычисление численных методов (Эйлера и Рунге-Кутта 4-го порядка) и общего решения.
Заключение
При расчете уравнения двумя методами (Эйлера и Рунге-Кутта 4-го порядка) получили значения сходные с общим решением, метод Рунге-Кутта 4-го порядка является более точным, так как шаг делится на 4 отрезка. При решении методом Эйлера присутствует большая погрешность, которая с каждым шагом увеличивается. дифференциальный подпрограмма мathсad
В курсовой работе были выполнены все поставленные задачи: написана программа для решения данного дифференциального уравнения двумя численными методами в программе VisualBasic, проверено решение с помощью приложения MathCad. Полученные разными методами результаты мы сравнили с общим решением. При сравнении были получены идентичные результаты, что свидетельствует о правильности решения.
Размещено на Allbest.ru
...Подобные документы
Решение дифференциального уравнения с помощью численных методов (Рунге-Кутта и Эйлера модифицированного). Особенности построения графиков в программе Microsoft Visual Basic 10 с использованием ответа задачи, который имеет незначительную погрешность.
курсовая работа [1017,3 K], добавлен 27.05.2013Математическое описание численных методов решения уравнения, построение графика функции. Cтруктурная схема алгоритма с использованием метода дихотомии. Использование численных методов решения дифференциальных уравнений, составление листинга программы.
курсовая работа [984,2 K], добавлен 19.12.2009Решение дифференциальных уравнений с использованием классических алгоритмов численных методов Эйлера и Рунге-Кутта 4-го порядка. Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений. Результат работы программы.
курсовая работа [226,6 K], добавлен 05.04.2013Численные решения задач методом Коши, Эйлера, Эйлера (модифицированный метод), Рунге Кутта. Алгоритм, форма подпрограммы и листинг программы. Решение задачи в MathCad. Подпрограмма общего решения, поиск максимальных значений. Геометрический смысл задачи.
курсовая работа [691,4 K], добавлен 17.05.2011Применение комплексного математического моделирования в проектировании. Обзор численных методов в моделировании. Решение дифференциальных уравнений в MathCAD. Анализ исходных и результирующих данных. Описание реализации базовой модели в MathCAD.
курсовая работа [240,5 K], добавлен 18.12.2011Исследование свойств и поведения динамических объектов, описываемых системами обыкновенных нелинейных дифференциальных уравнений. Описание методов, программ и алгоритмов решения систем линейных и нелинейных алгебраических уравнений в системе MathCAD.
контрольная работа [255,1 K], добавлен 16.01.2009Обзор методов решения в Excel. Рекурентные формулы метода Эйлера. Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка. Метод Эйлера с шагом h/2. Решение дифференциальных уравнений с помощью Mathcad. Модифицированный метод Эйлера.
курсовая работа [580,1 K], добавлен 18.01.2011Основные концепции математического моделирования. Реализация численных методов решения дифференциальных уравнений в Mathcad. Расчет аналитических зависимостей для графических характеристик сцепки и тормозных сил, действующих на колеса трактора и прицепа.
курсовая работа [666,8 K], добавлен 28.03.2013Команды, используемые при решении обыкновенных дифференциальных уравнений в системе вычислений Maple. Произвольные константы решения дифференциального уравнения второго порядка, представленном рядом Тейлора. Значения опции method при численном решении.
лабораторная работа [47,2 K], добавлен 15.07.2009Изучение численных методов решения нелинейных уравнений. Построение годографа АФЧХ, графиков АЧХ и ФЧХ с указанием частот. Практическое изучение численных методов интегрирования дифференциальных уравнений высокого порядка, метод Рунге-Кутта 5-го порядка.
курсовая работа [398,3 K], добавлен 16.06.2009Численный метод для решения однородного дифференциального уравнения первого порядка методом Эйлера. Решение систем дифференциальных уравнений методом Рунге–Кутта. Решение краевой задачи. Уравнения параболического типа, а также Лапласа и Пуассона.
курсовая работа [163,5 K], добавлен 27.05.2013Обзор существующих методов по решению нелинейных уравнений. Решение нелинейных уравнений комбинированным методом и методом хорд на конкретных примерах. Разработка программы для решения нелинейных уравнений, блок-схемы алгоритма и листинг программы.
курсовая работа [435,8 K], добавлен 15.06.2013Анализ преимуществ и недостатков различных численных методов решения дифференциальных уравнений высших порядков. Обоснование выбора метода Рунге-Кутта четвертого порядка. Разработка программы, моделирующей физическое и математическое поведение маятника.
курсовая работа [1,6 M], добавлен 11.07.2012Численные методы решения задач, сводящиеся к арифметическим и некоторым логическим действиям над числами, к действиям, которые выполняет ЭВМ. Решение нелинейных, системы линейных алгебраических, обыкновенных дифференциальных уравнений численными методами.
дипломная работа [1,4 M], добавлен 18.08.2009Итерационные методы решения нелинейных уравнений, системы линейных алгебраических уравнений (СЛАУ). Решение нелинейных уравнений методом интерполирования. Программная реализация итерационных методов решения СЛАУ. Практическое применение метода Эйлера.
курсовая работа [1,6 M], добавлен 20.01.2010Математическое описание исследуемых методов решения дифференциальных уравнений, содержание закона Зейделя. Принципы построения алгоритма программы, общее описание ее интерфейса. Стандартные и нестандартные модули, их отличительные свойства и значение.
курсовая работа [251,4 K], добавлен 22.01.2015Метод решения математической модели на примере решения задач аналитической геометрии. Описание согласно заданному варианту методов решения задачи. Разработка математической модели на основе описанных методов. Параметры окружности минимального радиуса.
лабораторная работа [310,6 K], добавлен 13.02.2009Разработка с использованием приложения Mathcad алгоритма и программы решения нелинейного уравнения методами касательных, половинного деления и хорд. Решение с помощью ее заданных нелинейных уравнений. Создание графической иллюстрации полученных решений.
курсовая работа [665,7 K], добавлен 22.08.2013Основные этапы математического моделирования. Метод Эйлера как наиболее простой численный метод решения обыкновенных дифференциальных уравнений. Написание компьютерной программы, которая позволит изучать графики системы дифференциальных уравнений.
курсовая работа [1,9 M], добавлен 05.01.2013Метод половинного деления как один из методов решения нелинейных уравнений, его основа на последовательном сужении интервала, содержащего единственный корень уравнения. Алгоритм решения задачи. Описание программы, структура входных и выходных данных.
лабораторная работа [454,1 K], добавлен 09.11.2012