30052

Визуализация численных методов

Курсовая

Информатика, кибернетика и программирование

Поэтому численные методы решения дифференциальных уравнений играют важную роль в практике инженерных расчетов. Курсовая работа должно состоять из: программы написанной в Visual Basic которая решает дифференциальное уравнение и выводит решения уравнения полученные методом Эйлера модифицированного и методом РунгеКутта четвёртого порядка точности. И визуализирует их на графике в виде линий кривой прямой; пояснительной записки которая описывает методы решения и программу. Результаты решения предоставить в виде таблицы.

Русский

2013-08-22

588 KB

7 чел.

ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ

ГОУ ВПО «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУИКАЦИЙ И

ИНФОРМАТИКИ»

Уральский технический институт связи и информатики(филиал)

Курсовая работа по информатике

На теме: «Визуализация численных методов»

                                      

                                                 Выполнил: Савин Егор Андреевич
группа СЕ-81

                                 Руководитель: Тюпина Оксана Михайловна

                                                      

          

Екатеринбург

2009

Содержание

Введение                                                                        3

1. Постановка задачи и математическая модель                4

2. Описание используемых методов                                 6

           2.1. Метод Эйлера модифицированный                 6

           2.2. Метод Рунге-Кутта 4-го порядка                   8

3. Блок-схемы основных процедур                                 11

           3.1. Блок-схема основной процедуры                 13

           3.2. Блок-схема  функции                                  14

4. Виды формы проекта                                                 14

    4.1.Исходный вид для ввода данных                  14

           4.2.Итоговый вид с предоставленным решением и графиком                                                                            15

5. Листинг программы на языке Visual Basic                  16

6. Решение задачи в MathCAD                                       18

Вывод                                                                          19


Введение

Существует множество технических систем и технологических процессов, характеристики которых непрерывно меняются с течением времени. Такие явления обычно подчиняются физическим законам, которые формулируются в виде дифференциальных уравнений. И поэтому умение решать дифференциальные уравнения является необходимым фактором, для того чтобы наиболее полно понимать окружающий мир и процессы, происходящие в нём.

Дифференциальными называются уравнения, содержащие одну или несколько производных. Лишь очень немногие из них удается решить без помощи вычислительной техники. Поэтому численные методы решения дифференциальных уравнений играют важную роль в практике инженерных расчетов.

Целью данной курсовой работы по теме «Визуализация численных методов» является решение дифференциального уравнения 1-го порядка  на отрезке  методом Эйлера и методом Рунге-Кутта четвёртого порядка точности. Выполнив все расчёты выяснить, какой из методов более точный, сравнив выведенные значения с общим решением.

Курсовая работа должно состоять из:

  1.  программы, написанной в Visual Basic, которая решает дифференциальное уравнение и выводит решения уравнения, полученные методом Эйлера модифицированного и методом Рунге-Кутта четвёртого порядка точности. И визуализирует их на графике в виде линий (кривой, прямой);
  2.  пояснительной записки, которая описывает методы решения и программу.

 

Постановка задачи и математическая модель

Постановка задачи

Дано дифференциальное уравнение ием и начальное условие . Требуется найти функцию , удовлетворяющую как указанному уравнению, так и начальному условию. Результаты решения предоставить в виде таблицы. Данные таблицы визуализировать на форме в виде графиков.

Математическая модель

Дано: 

дифференциальное уравнение:

общее решение:

Найти:

Y - массив значений искомого решения в узлах сетки.


2. Описание используемых методов

2.1. Метод Эйлера модифицированный.

Для уменьшения погрешности вычислений метода Эйлера часто используется модифицированный метод Эйлера. Этот метод имеет так же следующие названия: метод Эйлера-Коши или метод Рунге-Кутта второго порядка точности.

 Пусть дано дифференциальное уравнение первого порядка

с начальным условием .

Выберем шаг =0,1 и введём обозначения:

и , где  =0,1,2…,

                                    -узлы сетки,

                                    -значение интегральной функции в узлах.

При использовании модифицированного метода Эйлера шаг  делится на два отрезка.

Проведём решение в несколько этапов. Обозначим точки А(,), С(, и В. Через точку А проведём прямую под углом , где

                           .

На этой прямой найдём точку С(,. Через точку С проведём прямую под углом, где

                   ,.

Через точку А проведём прямую, параллельную последней прямой.

Найдём точку В. Будем считать В решением дифференциального уравнения при .

После проведения некоторых вычислений, получим формулу для определения значения :

.

Модифицированный метод Эйлера дает меньшую погрешность, нежели метод Эйлера. Величина  характеризует погрешность метода Эйлера модифицированного.


2.2. Метод Рунге-Кутта 4-го порядка.

Для большего уменьшения погрешности используется метод Рунге-Кутта четвёртого порядка точности(метод Рунге-Кутта).

Пусть дано дифференциальное уравнение первого порядка

с начальным условием .

Выберем шаг =0,1 и введём обозначения:

и , где  =0,1,2…,

                               -узлы сетки,

                               -значение интегральной функции в узлах.

     

При использовании модифицированного метода Рунге-Кутта шаг  делится на четыре отрезка. Согласно этому методу, последовательные значения  исходной функции  определяются по формуле:

, где

,

А числа    на каждом шаге вычисляются по формулам:

 Это явный четырёхэтапный метод четвёртого порядка точности.

 Метод Рунге-Кутта даёт погрешность меньше, чем методы Эйлера и Эйлера модифицированного.

Все методы Рунге-Кутта легко программируются и обладают значительной точностью и устойчивостью для широкого круга задач.


3. Блок-схемы основных процедур

3.1. Блок-схема основной процедуры.

3.2. Блок-схема  функции.


4. Виды формы проекта

    4.1. Исходный вид для ввода данных.

    

4.2. Итоговый вид с предоставленным решением и графиком.


5. Листинг программы на языке
Visual Basic

Dim x(50) As Single, y(50) As Single, m(50) As Single, s(50)    As Single

Private x0 As Single

Private xk As Single

Dim k1, k2, k3, k4, y0 As Single

Dim n As integer

Function f(t, p As Single) As Single

f = t * Exp(-t ^ 2) - 2 * t * p

End Function

Private Sub Command1_Click()

x0 = Val(Text1.Text)

xk = Val(Text2.Text)

h = Val(Text3.Text)

y0 = Val(Text4.Text)

n = Round((xk - x0) / h)

c = y0 / Exp(-x0 ^ 2) - x0 ^ 2 / 2

MSFlexGrid1.Rows = n + 2

MSFlexGrid1.TextMatrix(0, 0) = "X"

MSFlexGrid1.TextMatrix(0, 1) = "Y-Ob"

MSFlexGrid1.TextMatrix(0, 2) = "Y-R4"

MSFlexGrid1.TextMatrix(0, 3) = "Y-EM"

Max = 0

Min = x0

y(i) = y0

s(i) = y0

For i = 0 To n

x(i) = x0 + i * h

MSFlexGrid1.TextMatrix(i + 1, 0) = x(i)

m(i) = Exp(-x(i) ^ 2) * (c + x(i) ^ 2 / 2)

m(i) = Round(m(i), 7)

MSFlexGrid1.TextMatrix(i + 1, 1) = Str(m(i))

k1 = h * f(x(i), y(i))

k2 = h * f(x(i) + h / 2, y(i) + k1 / 2)

k3 = h * f(x(i) + h / 2, y(i) + k2 / 2)

k4 = h * f(x(i) + h, y(i) + k3)

y(i + 1) = y(i) + (k1 + 2 * k2 + 2 * k3 + k4) / 6

y(i) = Round(y(i), 7)

MSFlexGrid1.TextMatrix(i + 1, 2) = Str(y(i))

s(i + 1) = s(i) + h * f(x(i) + h / 2, s(i) + h / 2 * f(x(i), s(i)))

s(i) = Round(s(i), 7)

MSFlexGrid1.TextMatrix(i + 1, 3) = Str(s(i))

If m(i) > Max Then Max = m(i)

If m(i) < Min Then Min = m(i)

Next i

Picture1.Cls

kx1 = (Picture1.Width - 1650) / (xk - x0)

ky1 = (Picture1.Height - 1050) / (Max - Min)

kx2 = (Picture1.Width - 1665) / (xk - x0)

ky2 = (Picture1.Height - 1050) / (Max - Min)

kx3 = (Picture1.Width - 1740) / (xk - x0)

ky3 = (Picture1.Height - 1050) / (Max - Min)

Label5.Caption = Str(Max)

Label6.Caption = Str(Min)

Label7.Caption = Str(x0)

label8.Caption = Str(xk)

For i = 1 To n - 1

z1 = Round(120 + (x(i) - x0) * kx1)

z2 = Round(3960- (m(i) - Min) * ky1)

z3 = Round(120 + (x(i + 1) - x0) * kx1)

z4 = Round(3960 - (m(i + 1) - Min) * ky1)

Picture1.Line (z1, z2)-(z3, z4), vb Green

z1 = Round(120 + (x(i) - x0) * kx2)

z2 = Round(3960 - (y(i) - Min) * ky2)

z3 = Round(120 + (x(i + 1) - x0) * kx2)

z4 = Round(3960 - (y(i + 1) - Min) * ky2)

Picture1.Line (z1, z2)-(z3, z4), vb Red

z1 = Round(120 + (x(i) - x0) * kx3)

z2 = Round(3960 - (s(i) - Min) * ky3)

z3 = Round(120 + (x(i + 1) - x0) * kx3)

z4 = Round(3960 - (s(i + 1) - Min) * ky3)

Picture1.Line (z1, z2)-(z3, z4), vb Yello

Next i

End Sub

Private Sub Command2_Click()

End

End Sub
6. Решение задачи в
MathCAD

Вывод

В данной курсовой работе я работал над визуализацией численных методов. Мною была разработана программа, которая наглядно описывает решение дифференциального уравнения методом Эйлера модифицированного и методом Рунге-Кутта четвёртого порядка точности.      

По получившейся таблице, состоящей из четырёх столбцов (столбца значений Х, столбца общего решения, столбца решения методом Эйлера  модифицированного, столбца решения методом Рунге-Кутта четвёртого порядка точности), видно, что значения столбца решения методом Рунге-Кутта почти не отличается от значений столбца общего решения, а значения столбца решения методом Эйлера модифицированного отличаются от значений столбца общего решения уже на четвёртом знаке.

На графике, построенном в Visual Basic, наглядно показаны решения дифференциального уравнения .

Так как значения общего решения и значения решения методом Рунге-Кутта четвёртого порядка точности почти совпадают, то и их кривые также почти совпадают. А кривая решения методом Эйлера модифицированного отличается от кривой общего решения на большее расстояние, чем кривая решения методом Рунге-Кутта.

Сравнив решения, полученные методом Эйлера модифицированного и методом Рунге-Кутта четвёртого порядка точности, с общим решением можно сделать следующий вывод: наиболее точное решение дифференциального уравнения даёт метод Рунге-Кутта четвёртого порядка точности, а метод Эйлера модифицированного даёт погрешность намного большую.

Данная работа позволила мне закрепить навыки работы в приложениях, изучаемых на 1-ом курсе по информатике.

Курсовая работа на тему: «Визуализация численных методов» выполнена в соответствии с указаниями преподавателя.


 

А также другие работы, которые могут Вас заинтересовать

28764. Объединение русских земель вокруг Москвы (XIV - первая треть XVI в.). Социально-экономический и политический строй русского государства, его особенности 145.38 KB
  Социальноэкономический и политический строй русского государства его особенности. Образование единого централизованного государства в результате объединения русских земель вокруг Москвы на протяжении XIV XV веков представляло собой весьма сложное и противоречивое явление. Проблеме формирования единого Российского государства уделено внимание в фундаментальных исследованиях крупнейших российских историков Н. Соловьёв в большей степени обращал внимание на объективные исторически подготовленные причины формирования Российского государства на...
28765. Начало эпохи Великих географических открытий и первые колониальные захваты. НОВОЕ ВРЕМЯ как особая фаза всемирно-исторического процесса 488.57 KB
  Поскольку контроль над Южной Атлантикой оказался в руках португальцев Алькасовасское соглашение 1479 Испания желавшая установить прямые контакты со странами Востока приняла предложение генуэзского мореаплавателя Колумба об организации экспедиции на запад. Магальяйнша Магеллан фернан об организации экспедиции с целью обогнуть американский континент с юга и через Тихий океан добраться до Азии. Сам Аламинос участвовал ранее в четвертой экспедиции Колумба. Начальник экспедиции и его кормчий приступили к снаряжению трех кораблей в...
28766. Реформация и ее экономические, политические, социокультурные причины. Религиозные войны в Европе 329.55 KB
  Её началом принято считать выступление доктора богословия Виттенбергского университета Мартина Лютера: 31 октября 1517 года он прибил к дверям виттенбергской Замковой церкви свои 95 тезисов в которых выступал против существующих злоупотреблений католической церкви в частности против продажи индульгенций[прим. Интересы и чаяния зарождающегося класса капиталистов по итогам Реформации нашли проявление в основании протестантских церквей призывающих к скромности экономии и накоплению капитала а также формировании национальных государств в...
28767. Государство и общество стран Западной Европы в XVII в. 29.63 KB
  Основные тенденции развития стран Европы во второй половине XVIIXVIII веке 1. Эволюция внутриполитического устройства Во 2й половине XVII XVIII веков внутриполитическое устройство большинства стран Европы сохраняло средневековые черты. ограниченная монархия Венецианская и Генуэзская республики в XVIII столетии Швеция 17191772 гг. XVIIXVIII века в Европе стали временем когда завершился процесс собирания земель и формирование государств в их современных границах.
28768. Внутренняя и внешняя политика Ивана IV Грозного 27.92 KB
  Внутренняя и внешняя политика Ивана IV Грозного. Земский собор и реформы первой половины правления Ивана Грозного. Запад и Восток во внешней политике Ивана Грозного. Но фактически власть оказалась в руках Елены Глинской матери Ивана.
28769. Россия в годы Смуты (конец XVI - начало XVII вв.) 25.23 KB
  Россия в годы Смуты конец XVI начало XVII вв. Предпосылки смуты и ее общая периодизация На рубеже XVI XVII Московское государство пережило тяжелый кризис охвативший все сферы жизни и поставивший его на грань существования. Главные предпосылки смуты это разорение страны в результате Ливонской войны и опричнины усиление социальных конфликтов. Наиболее крупный исследователь смуты академик Сергей Платонов выделял три ее периода: династический социальный и национальный.
28770. Воцарение в России Романовых. Развитие страны в XVII в. Особенности сословно-представительной монархии в России 24.43 KB
  Воцарение в России Романовых. Особенности сословнопредставительной монархии в России. Кроме того наладились дипломатические и торговые связи России с Западом. Этому способствовало то что сельское население России делилось на две категории: владельческих и черносошных крестьян.
28771. История в системе социально-гуманитарных наук. Предмет, принципы изучения и значение истории 24.23 KB
  История действительность в её развитии движении наука о развитии общества и природы прошлое сохраняющееся в памяти человечества. Однако не менее правдивым считается высказывание Гегеля что история никогда и никого ничему не учит это наглядно видно на практике. В системе социальногуманитарных дисциплин история может играть роль всеобщей базы которая постепенно накапливается.
28772. Сущность, формы, функции исторического знания. Методы и источники изучения истории 30.4 KB
  Методы и источники изучения истории. Содержанием истории вообще служит исторический процесс который раскрывается в явлениях человеческой жизни сведения о которых сохранились в исторических источниках. По традиции отцом истории считается Геродот 5 в. Объектом изучения для истории является вся совокупность фактов характеризующих жизнь общества как в прошлом так и в настоящем.