49688

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

Курсовая

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

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

Русский

2014-01-07

1.19 MB

4 чел.

СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ТЕЛЕКОММУИКАЦИЙ ИИНФОРМАТИКИ

Кафедра физики, прикладной математики и информатики

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

             

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

      Студент: Паршуков Артем Алексеевич

Группа:  МЕ-51

      Преподаватель: Минина Елена Евгеньевна

 

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

Оглавление

[1] Оглавление

[1.1] Постановка задачи:

[1.2] Математическая модель:

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

[2.1] Метод Эйлера модифицированного

[2.2] Блок-схема описания функции:

[2.3] Исходная форма:

[2.4] Итоговая форма:

[3] Листинг программы на языке Visual Basic

[4] Вывод


Введение

В данной курсовой работе у меня состоит задача в том, чтобы решить дифференциальное уравнение  с помощью двух методов:1)Эйлер 2) Эйлер Модифицированный

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


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

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

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

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

Дано:

 

X0=0

Xk=0.8

h=0.05

Y0=4

Найти:

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


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

Метод Эйлера:

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

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


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

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

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

-узлы сетки,

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

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

Тогда                                 (2).

Из прямоугольного треугольника АВС:                                        (3).

Приравняем правые части (1) и(3). Получим .

Отсюда

Подставим в это выражение формулу (2), а затем преобразуем его. В результате получаем формулу расчёта очередной точки интегральной функции:  (4).

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

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

Этот метод используется для уменьшения погрешности вычислений.

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

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

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

-узлы сетки,

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

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

Иллюстрации к решению приведены на рисунке 4.

 

Проведем решение в несколько этапов:

1.   Обозначим точки: А(хi; уi), C(xi+h/2, yi+h/2*f(xi; yi)) и В(хi+1; yi+1).

2.   Через точку А проведем прямую под углом , где

3.   На этой прямой найдем точку C(xi+h/2, yi+h/2*f(xi; yi)).

4.   Через точку С проведем прямую под углом, где                                                                                                                                                                                                         

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

6. Найдем точку Bi+1; yi+1). Будем считать В(хi+1; yi+1) решением дифференциального уравнения при х= хi+1.                                                                                                  

7.   После проведения вычислений, аналогичных вычислениям, описанным в методе Эйлера, получим формулу для определения значения yi+1: 

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


Блок-схемы

Блок-схема описания функции:


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

Исходная форма:

Итоговая форма:

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

Dim x(25) As Single, y1(25) As Single, y2(25) As Single, y3(25) As Single

Private x0 As Single

Private xk As Single

Function f(x, y As Single) As Single

   f = 2 * y * x / (x + 1)

End Function

Private Sub Command1_Click()

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

Dim i

   x0 = Val(text1.Text)

   xk = Val(Text2.Text)

   h = Val(Text3.Text)

   y0 = Val(Text4.Text)

   e = 2.7

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

   c = (y0 * (x0 + 1) ^ 2) / Ee ^ (2 * x0)

   MSFlexGrid1.Rows = n + 2

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

   MSFlexGrid1.TextMatrix(0, 1) = "Y(Э)"

   MSFlexGrid1.TextMatrix(0, 2) = "Y(ЭМ)"

   MSFlexGrid1.TextMatrix(0, 3) = "Y(О)"

   Max = 0

   Min = y0

   y2(i) = y0

   y3(i) = y0

For i = 0 To n

   x(i) = x0 + i * h

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

   y1(i) = (e ^ (2 * x(i))) * c / (x(i) + 1) ^ 2

   MSFlexGrid1.TextMatrix(i + 1, 3) = Str(Round(y1(i), 4))

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

   MSFlexGrid1.TextMatrix(i + 1, 2) = Str(Round(y2(i), 4))

   y3(i + 1) = y3(i) + h * f(x(i), y3(i))

   MSFlexGrid1.TextMatrix(i + 1, 1) = Str(Round(y3(i), 4))

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

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

Next i

   Label5.Caption = Str(Round(Max, 4))

   Label6.Caption = Str(Round(Min, 4))

   Label7.Caption = Str(x0)

   Label8.Caption = Str(xk)

   Picture1.Cls

       kx = (Picture1.Width - 1000) / (xk - x0)

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

For i = 1 To n - 1

   z1 = Round(250 + (x(i) - x0) * kx)

   z2 = Round(5045 - (y1(i) - Min) * ky)

   z3 = Round(250 + (x(i + 1) - x0) * kx)

   z4 = Round(5045 - (y1(i + 1) - Min) * ky)

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

   z1 = Round(250 + (x(i) - x0) * kx)

   z2 = Round(5045 - (y3(i) - Min) * ky)

   z3 = Round(250 + (x(i + 1) - x0) * kx)

   z4 = Round(5045 - (y3(i + 1) - Min) * ky)

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

   z1 = Round(250 + (x(i) - x0) * kx)

   z2 = Round(5045 - (y2(i) - Min) * ky)

   z3 = Round(250 + (x(i + 1) - x0) * kx)

   z4 = Round(5045 - (y2(i + 1) - Min) * ky)

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

Next i

End Sub

Вывод 

В данной курсовой работе было рассмотрено два метода решения дифференциального уравнения: Эйлер и Эйлер модифицированный. Значения этих двух методов и общего решения сводится в таблицу, на основании которой строится график.

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


Начало

X0,Xk,Y0,h

n=(Xk-X0)/h

X(i)=Xo+i*h

C=y^2+(1-x)^2

Y3(i)

i=0..n

X(i)

Y1(i)

y1(i)=(e ^ (2 * x(i))) * c / (x(i) + 1) ^ 2

Y1(i)>MAX

MAX=Y1(i)

MIN=Y1(i)

Y1(i)<MIN

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

Y2(i)

2

y3(i + 1) = y3(i) + h * f(x(i), y3(i))

Y2(i)

Label7

Label8

2

Label6

Z4=(y1(i+1)-MIN)*KY

Z3= (X(i+1)-X0)*KX

Z2=(y1(i)-MIN)*KY

Z1= (X(i)-X0)*KX

i=0..n-1   

KY=(Height-1050)/(MAX-MIN)

KX=(Width-1000)/(Xk-X0)

Line(Z1,Z2)-(Z3,Z4)

Z2=(y2(i)-MIN)*KY

Z1= (X(i)-X0)*KX

2

2

Z4=(y2(i+1)-MIN)*KY

Z3=(X(i+1)-X0)*KX

Line(Z1,Z2)-(Z3,Z4)

Line(Z1,Z2)-(Z3,Z4)

Z4=(y3(i+1)-MIN)*KY

Z3= (X(i+1)-X0)*KX

Z2=(y3(i)-MIN)*KY

Z1= (X(i)-X0)*KX

Конец

f=2xy/(x+1)

F(x,y)

Конец

1

3

1

3

1

3

1

3

Text3

Label4

Text4

Label2

Text2

Label3

Label1

Text1

MSFlexGrid1

EMBED Equation.DSMT4  

EMBED Equation.DSMT4  

Label5

Command1

Picture1

Min=y0, Max=0,

Y2=y0, y3=y0

EMBED Equation.DSMT4  

EMBED Equation.DSMT4  

EMBED Equation.DSMT4  


 

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

40355. ДИСМОРФОФОБИЯ (ДИСМОРФОМАНИЯ) 33.5 KB
  В основе переживаний могут лежать действительные физические недостатки крупный нос полноватая фигура и т. Темой дисморфофобических переживаний чаще всего служат недостатки лица уродливый нос торчащие уши слишком круглое лицо то или иное строение рта форма губ или фигуры чрезмерная полнота или худоба и т. Темой болезненных переживаний может быть не только строение тела но и различные функции в частности неприятный запах кишеч ные газы запах от гениталий изо рта. Тема болезненных переживаний сохраняется в неизменном виде на...
40356. Смешанное расстройство личности. Декомпенсация. Тревожно-фобический синдром 24.91 KB
  До поступления больная жаловалась на постоянную необоснованную ревность к своему мужу мешавшая ей полноценной жизни подозревала всех родных и друзей в измене и лжи. Бабушка отца испытывала тревогу и недоверие к окружающим как сама больная. Младшая сестра пациентки которой 12 лет также страдает энурезом как больная в том возрасте и также испытывает недоверие к родным и друзьям.В позе Ромберга больная устойчива.
40357. Шизофрения, параноидная форма. Парафренный синдром 60.5 KB
  При осмотре кожных покровов: кожа бледно розовая нормальной влажности и температуры пролежней сыпей расчесов участков шелушений нет кровоизлияний сосудистых звездочек нет тургор кожи сохранен. При осмотре видимые слизистые оболочки розовые кровоизлиянийизъязвлений корочек нет. Пальцы и ногти обычной формы барабанных палочек и часовых стекол нет ногти на руках и ногах блестящие ровные исчерченности и ломкости ногтей нет. Питание избыточное подкожножировая клетчатка развита чрезмерно отеков нет.
40358. Среднепроградиентная шизофрения. Синдром Кандинского-Клерамбо 50.5 KB
  после многократных стрессов сокращение штатов на работе смерть отца сестры брата бабушки которые больная переносила очень тяжело. Через 3 дня больная услышала голос духа который успокаивал ее говорил что она является избранником для передачи духовного мира называл ее своим ребенком был ласков. Дух часто заставлял больную совершать ненужные телодвижения показывал ей картины мира зла и добра при общении с посторонними людьми указывал на хороших и злых людей злых людей больная видела с красными глазами. Иногда...
40359. Депрессивный и маниакальный синдромы в анамнезе 41.5 KB
  В это время дома был сын тогда ему было 12 лет. За это время со слов родственников сын старшая сестра неоднократно были эпизоды повышенной активности интенсивной деятельности освоения новой профессии бухгалтерский учет спонтанного ухода с прежнего места работы поиска новой. Последнее время чувствовала себя очень хорошо была полна сил энергией и множеством идей. Последнее время находясь на пенсии работала дизайнером штор но поссорилась с коллективом и уволилась.
40360. Математическая модель узла абсорбции оксидов азота водой в производстве разбавленной азотной кислоты 6.14 MB
  Для реализации данной задачи инженер должен решить две основные задачи: проектирование и создание новых высокоэффективных технологических процессов либо эксплуатация уже существующих производств, их интенсификация и повышение эффективности их функционирования.
40361. Трудовая экспертиза 55 KB
  При стойком снижении или утрате трудоспособности больному определяется одна из трех групп инвалидности. Правительством РФ было принято специальное положение вменявшее решение вопросов инвалидности созданным на основе прежних ВТЭК Бюро медикосоциальной экспертизы МСЭК2. Вновь разработанные критерии определения инвалидности в отличие от прежних ориентированных преимущественно на трудоспособность больного основываются на трех основных признаках: 1 нарушение здоровья со стойким расстройством функций организма обусловленное заболеванием...
40362. Невроз, депрессивно-фобическая форма 35 KB
  Панические атаки неожиданно возникающий и быстро в течение нескольких минут нарастающий симптомокомплекс вегетативных расстройств синдром Da Costa сердцебиение стеснение в груди ощущение удушья нехватки воздуха потливость головокружение сочетающийся с ощущением надвигающейся смерти страхом потери сознания либо потери контроля над собой сумасшествия. Клинический диагноз: на основе характерного симптомокомплекса психопатолгических расстройств можно поставить диагноз невроз депрессивнофобическая форма. Дифференциальный...
40363. Личностные расстройства при стрессе 50 KB
  Клиническая типология ПТСР Удельный вес и значимость соотношения коморбидных симптомов и осевых симптомов ПТСР позволяет выделить несколько типов ПТСР что имеет практическую терапевтическую значимость. Тревожный тип ПТСР наблюдается у 32 больных характеризуется высоким уровнем соматической и психической немотивированной тревоги на гипотимноокрашенном аффективном фоне с переживанием не реже нескольких раз в сутки непроизвольных с оттенком навязчивости представлений отражающих психотравматическую...