16236

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

Курсовая

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

Курсовая работа Визуализация численных методов Cсодержание Содержание Введение 1. Постановка задачи и математическая модель 2. Описание используемых методов 3. Блоксхемы основных процедур 4. Виды формы проекта 5.Листинг программы на языке Visual Basic 6.Ре

Русский

2013-06-20

449.83 KB

3 чел.

Курсовая работа

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


Cсодержание

Содержание

Введение

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

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

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

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

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

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

Вывод


Введение

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

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

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


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

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

  

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

X0

Xk

h

Y0

Общее решение

y`+2*x*y=x*exp(-x2)

0

1

0,1

1

y=exp(-x2)*(C+x2/2)


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

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

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

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

.

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

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

        -узлы сетки,

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

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

Метод Рунге-Кутта

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

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

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

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

      -узлы сетки,

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

     

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

, где

     ,

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

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

 


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

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


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

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

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


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


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

Dim X() As Single

Dim Y() As Single

Dim g() As Single

Dim t() As Single

Private n, i As Integer

Private xk, x0, kx, ky As Single

Private k, k1, k2, k3, k4 As Single

Private h, max, min, y0 As Single

Private Function f(a, b As Single) As Single

f = a * Exp(-a ^ 2) - 2 * a * b

End Function

Private Sub EilerMod()

ReDim Y(n)

Y(0) = y0

For i = 0 To n - 1

Y(i + 1) = Y(i) + h * f(X(i) + h / 2, Y(i) + h / 2 * f(X(i), Y(i)))

Next i

End Sub

Private Sub RungeKutt()

ReDim g(n)

g(0) = y0

For i = 0 To n - 1

k1 = h * f(X(i), g(i))

k2 = h * f(X(i) + h / 2, g(i) + k1 / 2)

k3 = h * f(X(i) + h / 2, g(i) + k2 / 2)

k4 = h * f(X(i) + h, g(i) + k3)

k = (k1 + 2 * k2 + 2 * k3 + k4) / 6

g(i + 1) = g(i) + k

Next i

End Sub

Private Sub Obchee()

ReDim t(n)

For i = 0 To n

t(0) = y0

c = 1

t(i) = Exp(-X(i) ^ 2) * (c + (X(i) ^ 2) / 2)

Next i

End Sub

Private Sub Command1_Click()

x0 = Val(Text1.Text)

xk = Val(Text2.Text)

h = Val(Text3.Text)

y0 = Val(Text4.Text)

n = (xk - x0) / h

MSFlexGrid1.Rows = n + 4

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

MSFlexGrid1.TextMatrix(0, 1) = "Эйлер Модиф."

MSFlexGrid1.TextMatrix(0, 2) = "Рунге-Кутт"

MSFlexGrid1.TextMatrix(0, 3) = "Общее решение"

MSFlexGrid1.TextMatrix(1, 0) = Str(x0)

MSFlexGrid1.TextMatrix(0, 1) = Str(y0)

ReDim X(n)

For i = 0 To n

X(i) = x0 + h * i

Next i

EilerMod

RungeKutt

Obchee

For i = 0 To n

MSFlexGrid1.TextMatrix(i + 1, 0) = Str(X(i))

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

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

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

Next i

max = y0

min = y0

For i = 0 To n

If Y(i) > max Then max = Y(i)

If Y(i) < min Then min = Y(i)

If g(i) > max Then max = g(i)

If g(i) < min Then min = g(i)

If t(i) > max Then max = t(i)

If t(i) < min Then min = t(i)

Next i

Label7.Caption = Str(max)

Label8.Caption = Str(min)

Label9.Caption = Str(x0)

Label10.Caption = Str(xk)

kx = (6600 - 360) / (xk - x0)

ky = (5280 - 480) / (max - min)

Picture1.Cls

For i = 1 To n - 1

X1 = 840 + Round(kx * (X(i - 1) - x0))

X2 = 840 + Round(kx * (X(i) - x0))

Y1 = 5280 - Round(ky * (Y(i - 1) - min))

Y2 = 5280 - Round(ky * (Y(i) - min))

Picture1.Line (X1, Y1)-(X2, Y2), RGB(9999, 0, 0)

X1 = 840 + Round(kx * (X(i - 1) - x0))

X2 = 840 + Round(kx * (X(i) - x0))

Y1 = 5280 - Round(ky * (g(i - 1) - min))

Y2 = 5280 - Round(ky * (g(i) - min))

Picture1.Line (X1, Y1)-(X2, Y2), RGB(0, 9999, 0)

X1 = 840 + Round(kx * (X(i - 1) - x0))

X2 = 840 + Round(kx * (X(i) - x0))

Y1 = 5280 - Round(ky * (t(i - 1) - min))

Y2 = 5280 - Round(ky * (t(i) - min))

Picture1.Line (X1, Y1)-(X2, Y2), RGB(0, 0, 9999)

Next i

End Sub

Private Sub Command2_Click()

End

End Sub


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


Вывод

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

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

 

.


 

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

16815. Проблемы классификации запасов и стандартизации запасов золота 56 KB
  Проблемы классификации запасов и стандартизации запасов золота Проблемы классификации запасов и стандартизации их разных типов в последнее время весьма актуальны для российских золотодобывающих компаний. Ведь правильная т.е. наиболее понятная инвестору классифик...
16816. Революция в геологии золота 42.5 KB
  Революция в геологии золота М.М. Константинов ПРИ слове революция мы поеживаемся уж слишком неоднозначными бывают иногда результаты. Между тем революции происходят непрерывно: и в науке и в технологиях и в духовном мире. С легкой руки академика А.Е.Ферсмана средн...
16817. Россыпные месторождения золота в Западной Якутии 148.5 KB
  Россыпные месторождения золота в Западной Якутии Округин Александр Витальевичдоктор геолого-минералогических наук ведущий научный сотрудник Института геологии алмаза и благородных металлов СО РАН ИГАБМ. Промышленная добыча золота в Якутии началась в 1923 г. с откр
16818. Современное состояние золотодобычи в России и потенциальные возможности юга Дальнего Востока по наращиванию минерально 54.5 KB
  Современное состояние золотодобычи в России и потенциальные возможности юга Дальнего Востока по наращиванию минеральносырьевой базы благородных металлов В последние годы в РФ под влиянием большого числа негативных факторов происходит сокращение производства золот
16819. СОВРЕМЕННЫЕ МОДУЛЬНЫЕ ЗОЛОТОИЗВЛЕКАТЕЛЬНЫЕ ФАБРИКИ 93 KB
  СОВРЕМЕННЫЕ МОДУЛЬНЫЕ ЗОЛОТОИЗВЛЕКАТЕЛЬНЫЕ ФАБРИКИ Романченко А.А. Научноисследовательский и проектный институт ТОМС Сенченко А.Е. Научноисследовательский и проектный институт ТОМС ООО НИиПИ ТОМС с 1995 года занимается научноисследовательскими работам...
16820. Структуры экранирования вулканогенных золоторудных месторождений 82.5 KB
  УДК 553 Структуры экранирования вулканогенных золоторудных месторожденийСулейманов М.О. старший научный сотрудник сектора благородных металлов Восточного Узбекистана ИМР ГОСКОМГЕО РУз; Поморцев В.В. главный геолог ОАО €œШаркий Курама€ ГОСКОМГЕО РУз; Прутик Е.В. техн
16821. Технологии добычи золота 52 KB
  Технологии добычи золота. В настоящее время золото добывают главным образом из руд причем не только золотых но и таких в которых основными полезными ископаемыми являются другие цветные металлы в частности медь цинк серебро свинец. В этом случае золото рассматривает...
16822. Технологические исследования для обоснования кондиций и подсчета запасов рудных месторождений 46 KB
  Технологические исследования для обоснования кондиций и подсчета запасов рудных месторождений В.Е.Дементьев Г.И.Войлошников ОАО Иргиредмет Золотодобыча №121 Декабрь 2008 Успешность проекта горнодобывающего предприятия во многом определяется правильным обосно...
16823. Технология попутного извлечения золота из полиметаллических руд 30 KB
  Технология попутного извлечения золота из полиметаллических руд Гравитационное обогащение Гравитационное обогащение руд коренных и рассыпных месторождений является одним из наиболее распространенных способов переработки широкого спектра полезных ископаемых.