Численное нахождение корня уравнения методом Рунге-Кутта
Метод Рунге-Кутты для решения как одиночных дифференциальных уравнений первого порядка, так и систем уравнений первого порядка. Исследование метода Рунге-Кутты четвертого порядка для решения дифференциальных уравнений. Программа для решения уравнения.
Рубрика | Математика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 29.03.2012 |
Размер файла | 102,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Численное нахождение корня уравнения методом Рунге-Кутта
1. Задание для исследования
Исследовать решение обыкновенных дифференциальных уравнений методом Рунге-Кутты.
Подробное описание
Метод этот пригоден для решения как одиночных дифференциальных уравнений первого порядка, так и систем уравнений первого порядка.
Пусть есть уравнение вида
y'=f (x, y)
с начальным условием
y(x0)=y0
Предполагается, что отрезок [a, b], на котором будет находиться решение этого уравнения, разбит на n равных частей системой точек (сеткой).
xi=x0+ih (i=0,1…..n), x0=a, xn=b,
На этой сетке следует найти «развитие» процесса y(x), т.е. решить так называемую задачу Коши.
Применить этот метод для следующей задачи:
Тело с начальной массой m движется под действием постоянной силы F, при этом масса тела уменьшается со скоростью m'. Сопротивление воздуха пропорционально скорости тела, коэффициент пропорциональности k задан. Соответствующее дифференциальное уравнение, описывающее скорость перемещения тела v(t) имеет вид:
Метод решения
Обозначим через yi приближенное значение искомого решения в точке xi. По методу Рунге-Кутты вычисление приближенного значения yi+1 в следующей точке xi+1=xi+h производится по формулам
yi+1=yi+?yi,
?yi,=(K1i+ K2i +K3i + K4i)
где
K1i =hf(xi, yi),
K2i = hf(xi+h/2, yi+ K1i/2),
K3i= hf(xi+h/2, yi+ K2i/2)
K4i= hf(xi+h/2, yi+ K3i/2)
Задача:
Фактически решение этой задачи приближенно описывает движение ракеты, расходующей в полете топливо.
Допустим, что v(0)=0.
Тогда уравнение
имеет следующее аналитическое решение:
.
Численное решение этого уравнения вычисляется и сравнивается со значениями, полученными в результате работы программы.
2. Результаты исследования
2.1 Вычисления для следующих входных данных
F=1000H m=200 кг m'=1 кг/сек k=2 t0=0 сек V0=0 м/сек
b=50 n=50
V1 (t) - результаты, полученные с помощью написанной программы
V2 (t) - результаты, полученные способом, опис. в п. 3.1
V2 (t) - результаты, полученные способом, опис. в п. 3.2
2.2 Вычисления для следующих входных данных
F=1000H
m=200 кг
m'=1 кг/сек
k=2
t0=0 сек
V0=0 м/сек
b=50
n=25
2.3 Вычисления для следующих входных данных
F=500H
m=150 кг
m'=2 кг/сек k=1
t0=1 сек V0=1 м/сек b=20 n=20
2.4 Вычисления для следующих входных данных
F=500H
m=150 кг
m'=2 кг/сек
k=1
t0=1 сек
V0=1 м/сек
b=20
n=5
3. Сравнение результатов
рунге дифференциальный уравнение программа
В данной работе был исследован метод Рунге-Кутты четвертого порядка для решения дифференциальных уравнений. Для этого была написана программа, с помощью которой можно получить решения уравнения данным методом. Результаты, полученные при помощи данной программы сопоставлены с результатами, полученными в системе компьютерной алгебры MathCad 14.
При анализе результатов стоит отметить, что при низкой заданной точности (малое количество отрезков на интервале) у результатов вычислений возникает серьезная погрешность. Однако, при высокой точности результаты, полученные с использованием написанной программы и с помощью системы компьютерной алгебры MathCad 14 практически идентичны, что говорит о том, что написанная программа вполне пригодна для вычислений на высокой точности.
Также стоит отметить, что метод Рунге-Кутты достаточно прост для реализации на языках программирования, что, несомненно, можно назвать его преимуществом.
Приложение
Описание применения
Техническое задание
Составить программу решения методом Рунге-Кутты уравнения вида y'=f (x, y)
с начальным условием
y(x0)=y0
Исследование провести на следующем уравнении:
Назначение программы
Данная программа предназначена для решения конкретного дифференциального уравнения первого порядка, приближенно описывающего движение ракеты, для различных заданных входных параметров.
Условие применения
Программа была отлажена и проверена на персональном компьютере c процессором AMD Athlon(tm) 64 X2 Dual Core Processor 4000+, работающем под управлением операционной системы Windows 7 Ultimate, 1 Гб ОЗУ. На других вычислительных установках программа не проверялась.
Для выполнения программы достаточно вычислительной установки типа PC с P2-400, 128MB RAM, 16MB 3D Card, оснащенной любой из следующих операционных систем: Windows NT и выше.
Для компиляции исходного кода в исполняемый файл необходим компилятор MS Visual Studio версии 2005 и выше, совместимость с другими компиляторами не гарантируется.
Программа и методика испытаний
Объект испытаний
Объектом испытаний является исполняемый модуль программы Runge_Kutt. Программа Runge_Kutt применяется для исследования решения задачи Коши на заданном дифференциальном уравнении первого порядка с заданной точностью.
Цель испытаний
Целью испытаний является проверка точности работы программы на конкретной вычислительной установке.
Требования к программе
Во время испытаний следует справильное нахождение корней уравнения в каждом из методов.
Средства и порядок испытаний
Для испытания необходимо:
1) Программа Runge_Kutt;
2) ЭВМ, соответствующую указанным выше техническим требованиям.
Необходимо запустить программу Runge_Kutt и следовать действиям представленным в контрольном примере, затем проверить полученный результат.
Методы испытаний
Тестирование работы написанной программы проводилось с помощью системы компьютерной алгебры MathCad 14. Тестирование проводилось двумя способами:
1) При использовании встроенной функции rkfixed.
2) Сравнение результатов численного решения уравнения с аналитическим.
Описание тестирования с использованием функции rkfixed.
Приведем описание стандартной функции rkfixed с указанием параметров функции.
rkfixed (y, x1, x2, p, D)
Аргументы функции:
y - вектор начальных условий из k элементов (k - количество уравнений в системе);
x1 и x2 - левая и правая границы интервала, на котором ищется решение ОДУ или системы ОДУ;
p - число точек внутри интервала (x1, x2), в которых ищется решение;
D - вектор, состоящий из k-элементов, который содержит первую производную искомой функции или первые производные искомых функций, если речь идет о решении системы.
Для поставленной задачи запись в среде MathCad в общем виде будет выглядеть следующим образом:
Выходными данными является файл в программе MS Excel, где в свою очередь строятся графики.
Сборка программы
Сборка программы осуществляется путем компиляции и компоновки файла с исходным текстом программы Runge, stdlib.h, stdio.h, locale.h, math.h, string.h, stdafx.h, iostream в среде компилятора MS Visual Studio.
Размещено на Allbest.ru
Подобные документы
Практическое решение дифференциальных уравнений в системе MathCAD методами Рунге—Кутты четвертого порядка для решения уравнения первого порядка, Булирша — Штера - системы обыкновенных дифференциальных уравнений первого порядка и Odesolve и их графики.
лабораторная работа [380,9 K], добавлен 23.07.2012Изучение методов Рунге-Кутты четвертого порядка с автоматическим выбором длины шага интегрирования для решения дифференциальных уравнений. Оценка погрешности и сходимость методов, оптимальный выбор шага. Листинг программы для ЭВМ, результаты, иллюстрации.
курсовая работа [2,9 M], добавлен 14.09.2010Численное решение уравнения методом Эйлера и Рунге-Кутта в Excel. Программа на языке Turbo Pascal. Блок-схема алгоритма. Метод Рунге-Кутта для дифференциального уравнения второго порядка. Модель типа "хищник-жертва" с учетом внутривидового взаимодействия.
курсовая работа [391,5 K], добавлен 01.03.2012Теоретическое обоснование расчетных формул. Задача Коши для дифференциального уравнения первого порядка. Метод Рунге-Кутта. Ломаная Эйлера. Построение схем различного порядка точности. Выбор шага. Апостериорная оценка погрешности. Правило Рунге.
курсовая работа [111,1 K], добавлен 13.11.2011Общая характеристика и особенности двух методов решения обычных дифференциальных уравнений – Эйлера первого порядка точности и Рунге-Кутта четвёртого порядка точности. Листинг программы для решения обычного дифференциального уравнения в Visual Basic.
курсовая работа [1,1 M], добавлен 04.06.2010Уравнения с разделяющимися переменными, методы решения. Практический пример нахождения частного и общего решения. Понятие о неполных дифференциальных уравнениях. Линейные уравнения первого порядка. Метод вариации постоянной, разделения переменных.
презентация [185,0 K], добавлен 17.09.2013Дифференциальное уравнение первого порядка, разрешенное относительно производной. Применение рекуррентного соотношения. Техника применения метода Эйлера для численного решения уравнения первого порядка. Численные методы, пригодные для решения задачи Коши.
реферат [183,1 K], добавлен 24.08.2015Формирование системы их пяти уравнений по заданным параметрам, ее решение методом Гаусса с выбором главного элемента. Интерполяционный многочлен Ньютона. Численное интегрирование. Решение нелинейных уравнений. Метод Рунге-Кутта четвертого порядка.
контрольная работа [115,5 K], добавлен 27.05.2013Основные методы Рунге-Кутта: построение класса расчетных формул. Расчетная формула метода Эйлера. Получение различных методов Рунге-Кутта с погрешностью второго порядка малости при произвольном задавании параметров. Особенности повышения порядка точности.
реферат [78,4 K], добавлен 18.04.2015Получение точного решения дифференциального уравнения вручную, операторным методом, приближенное решение с помощью рядов (до 5 элемента ряда) на заданном интервале, графическое решение. Относительная и абсолютная погрешность методов Эйлера и Рунге-Кутты.
курсовая работа [990,8 K], добавлен 17.07.2014