Вход

Визуализация численный методов. Решение обыкновенных дифференциальных уравнений.

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 168699
Дата создания 2012
Страниц 28
Источников 2
Мы сможем обработать ваш заказ (!) 25 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 400руб.
КУПИТЬ

Содержание

Содержание
Введение
Постановка задачи
Численные методы решения задачи Коши
Методы Рунге - Кутта
Метод Рунге - Кутта 1-го порядка (метод Эйлера)
Метод Рунге - Кутта 2-го порядка (модифицированный метод Эйлера)
Метод Рунге - Кутта 4-го порядка
Алгоритм решения задачи
Алгоритмы подпрограмм
Подпрограмма метода Рунге-Кутта 4-ого порядка
Подпрограмма модифицированного метода Эйлера
Подпрограмма точного решения
Алгоритм функции
Алгоритм функции
Алгоритм программы
Интерфейс программы
Листинг программы
Тестирование программы
Решение задачи в MathCAD
Заключение
Список литературы

Фрагмент работы для ознакомления

7. результат работы программы
Решение задачи в MathCAD
Решение методом Рунге-Кутта
Точное решение
Точное аналитическое решение и решение, полученное численно отличаются в точке x=1 на
Относительная ошибка составляет
Решение модифицированным методом Эйлера
Точное решение
Точное аналитическое решение и решение, полученное численно отличаются в точке x=1 на
Относительная ошибка состовляет
Заключение
В работе дифференциальное уравнение решено двумя методами: модифицированным методом Эйлера и методом Рунге-Кутта 4-ого порядка. Построены интегральные кривые в приложении на языке программирования Visual Basic и среде MathCAD. Исследуя полученные графики, можно увидеть, что метод Рунге-Кутта является более точным методом решения дифференциальных уравнений, так как он дает меньшую погрешность и почти совпадает с графиком точного решения, хотя модифицированный метод Эйлера тоже довольно точный и меньше вычислений.
Список литературы
Браун С. Visual Basic 6. учебный курс. – СПб.: Питер, 2006. – 574 с.
http://www.intuit.ru/department/calculate/intromathmodel/12/5.html
6
t1 = Round(600 + (x(i) - x0) * kx)
t2 = Round(3700 - (Y1(i) - miny) * ky)
t3 = Round(600 + (x(i + 1) - x0) * kx)
t4 = Round(3700 - (Y1(i + 1) - miny) * ky)
Picture1.Line (t1, t2)-(t3, t4), vbBluePicture1.Line (z1, z2)-(z3, z4)
i = 1, …, n-1
Picture1.Cls
kx = (Picture1.Width - 800) / (xk - x0)
ky = (Picture1.Height - 500) / (maxy - miny)
конец
t1 = Round(600 + (x(i) - x0) * kx)
t2 = Round(3700 - (YT(i) - miny) * ky)
t3 = Round(600 + (x(i + 1) - x0) * kx)
t4 = Round(3700 - (YT(i + 1) - miny) * ky)
Picture1.Line (t1, t2)-(t3, t4), vbGreen
i = 1, …, n-1
t1 = Round(600 + (x(i) - x0) * kx)
t2 = Round(3700 - (Y2(i) - miny) * ky)
t3 = Round(600 + (x(i + 1) - x0) * kx)
t4 = Round(3700 - (Y2(i + 1) - miny) * ky)
Picture1.Line (t1, t2)-(t3, t4), vbRedPicture1.Line (z1, z2)-(z3, z4)
i = 1, …, n-1
miny
minx
maxy
maxx
MSFlexGrid1.TextMatrix(i + 1, 0) = Str(x(i))
MSFlexGrid1.TextMatrix(i + 1, 1) = Str(Y1(i))
MSFlexGrid1.TextMatrix(i + 1, 2) = Str(Y2(i))
MSFlexGrid1.TextMatrix(i + 1, 3) = Str(YT(i))
i = 1, …, n
Runge_Kutt
EilerM
Tochnoe
n = Round((xk - x0) / h)
MSFlexGrid1.Cols = 4
MSFlexGrid1.Rows = n + 2
MSFlexGrid1.TextMatrix(0, 0) = "x"
MSFlexGrid1.TextMatrix(0, 1) = "Y1"
MSFlexGrid1.TextMatrix(0, 2) = "Y2"
MSFlexGrid1.TextMatrix(0, 3) = "YT"
y0, x0,xk,h
начало
конец
f = 2 * x * y * y - 2 * x * y
f(x,y)
конец
x(i) = Round(x0 + (i * h), 3)
YT(i) = Round(1 / (1 + c(x0, y0) * Exp(x(i) * x(i))), 3)
i = 1, …, n
ReDim x(n + 1)
ReDim YT(n + 1)
maxy = y0
miny = y0
maxx = x0
minx = x0
Тоchnoe
x(i) = Round(x0 + i * h, 3)
K1=h*F(x,Y1(i))
K2=h*F(x+h/2,Y1(i)+K1/2)
K3=h*F(x+h/2,Y1(i)+K2/2)
K4=h*F(x+h,Y1(i)+K3)
Y1(i+1)=Y1(i)+ (K1+2*K2+2*K3+K4)/6
конец
i = 1, …, n
ReDim x(n + 1)
ReDim Y1(n + 1)
Y1(0) = y0
Runge_Kutt
конец
c = (1 / y - 1) / Exp(x * x)
с(x,y)
конец
x(i) = Round(x0 + (i * h), 3)
Y2(i + 1) = Round(Y2(i) + h * f(x(i) + h / 2, Y2(i) + h / 2 * f(x(i), Y2(i))), 3)
i = 1, …, n
ReDim x(n + 1)
ReDim Y2(n + 1)
Y2(0) = y0
EilerM
maxy = Y1(n)
Y1(n) > YT(n)
maxy = Y1(n)
Y1(n) > YT(n)
maxy = Y1(n)
Y1(n) > YT(n)
minx = x(0)
maxx = x(n)
miny = YT(0)
maxy = YT(n)
да
да
да
нет
нет
нет

Список литературы [ всего 2]

Список литературы
1.Браун С. Visual Basic 6. учебный курс. – СПб.: Питер, 2006. – 574 с.
2.http://www.intuit.ru/department/calculate/intromathmodel/12/5.html
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00444
© Рефератбанк, 2002 - 2024