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  


 

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

41078. Сутність та призначення систем підтримки прийняття рішень 54 KB
  Сутність та призначеннясистем підтримки прийняття рішень Системи підтримки прийняття рішень СППР виникли на початку 70х років минулого століття завдяки дальшому розвитку управлінських інформаційних систем і являють собою системи розроблені для підтримки процесів прийняття рішень менеджерами за складних слабоструктурованих умов. На розвиток СППР істотний вплив справили вражаючі досягнення в галузі інформаційних технологій зокрема поява телекомунікаційних мереж персональних комп’ютерів динамічних електронних таблиць експертних систем...
41079. Цілі СППР та чинники, що сприяють їх досягненню 55 KB
  Цілі СППР та чинникищо сприяють їх досягненню Необхідність комп’ютерної підтримки прийняття рішень в економіці та бізнесі нині зумовлена дією низки об’єктивних причин зокрема: збільшенням обсягів інформації що надходить до органів управління і безпосередньо до керівників; ускладненням завдань що розв’язуються щоденно і на перспективу; необхідністю обліку і урахування великої кількості взаємопов’язаних факторів і вимог що швидко змінюються; необхідністю зняття невизначеності пов’язаної з неможливістю кількісного вимірювання окремих...
41080. Зародження і розвиток концепції СППР 50.5 KB
  Стисла історія розвиткусистем підтримки прийняття рішень Зародження і розвиток концепції СППР Системи підтримки прийняття рішень почали розвиватися на ранніх стадіях ери розподіленого обчислення. Історія таких систем веде відлік приблизно з 1967 року і за цей час СППР пройшли значний шлях розвитку включаючи орієнтовані на моделі СППР інструментальні засоби запиту та звітування системи бізнесової інформації Business Intelligence оперативне аналітичне оброблення OLP групові СППР та виконавчі інформаційні системи. Наприкінці 60х років...
41081. Інформаційні ресурси та інформаційне обслуговування 84 KB
  Узагальнена концепція інформаційного ресурсу Особливе значення інформація як ресурс має в сучасному бізнесі оскільки будьяка ділова операція містить інформаційні компоненти і тому управління інформаційними ресурсами фірм є важливим аспектом досягнення конкурентної переваги. Керівники фірми міркували що керуючи своїми даними за допомогою комп’ютерно основаних СКБД вони насправді керували своєю інформацією. Цей процесор складається з апаратних засобів і програмного забезпечення з людей які розробляють комп’ютеризовані системи і...
41082. Сутність та етапи розвитку інформаційних технологій 378 KB
  Принципова відмінність інформаційної технології від виробничої яка являє собою сукупність способів оброблення виготовлення зміни стану властивостей форм сировини матеріалу або напівфабрикату полягає в тому що вона крім рутинних операцій містить елементи творчого характеру тобто людського фактора який не підлягає регламентації та формалізації. Інформаційні технології виникли разом із виробництвом кілька мільйонів років тому і у своєму розвитку пройшли ряд етапів. мали місце ручні інформаційні технології. На зміну механічній...
41083. Три покоління розвитку інформаційних систем 2.19 MB
  Для головних компонентів інформаційних систем даних і обчислень важливе значення має така ознака як їх надмірність. Протягом розвитку інформаційних систем організаційного типу структура і надмірність даних та процедури обчислень значно змінювалися що було критеріями для виділення поколінь цих систем. В інформаційних системах першого покоління які в зарубіжній літературі відомі під назвою Dt Processing System DPS системи оброблення даних синоніми електронне оброблення даних системи електронного оброблення даних а у...
41084. Перспективні засоби і напрями розвитку інформаційних систем 97.5 KB
  Перспективні засоби і напрямирозвитку інформаційних систем Загальна характеристикаінформаційних систем Сучасний етап розвитку економіки і бізнесу характеризується широким застосуванням для оброблення інформації та комп’ютерної підтримки рішень новітніх засобів інформаційних технологій основним вираженням яких є інформаційні системи різного призначення й різної проблемної орієнтації. Для проблематики економіки й бізнесу використовуються здебільшого інформаційні системи організаційного типу. Інформаційні системи організаційного типу ІСОТ...
41085. Віртуальний офіс і віртуальна організація 33.5 KB
  Віртуальний офіс Забезпечувана в останні роки технічними і програмними засобами можливість автоматизації офісу щодо електронного зв’язку між людьми зробила доступною новий напрям забезпечення функціонування офісу що навіть усунуло потребу роботи яка виконується в офісі [100]. Цей термін означає що робота офісу може бути виконана фактично незалежно від географічного розміщення службовців оскільки робоча територіальна мережа з’єднує кілька фіксованих розміщень фірми деяким типом електронної системи зв’язку. Очевидність віртуального офісу...
41086. Сучасне розуміння поняття «інформація» 62 KB
  Сучасне розуміння поняття інформація Інформація і дані У контексті автоматизованого оброблення інформації та інформаційних систем термін інформація має виключно важливе значення і від правильної його інтерпретації значною мірою залежить ефективність людиномашинних систем. Згідно з Державним стандартом України ДСТУ 293894 Системи оброблення інформації. Через те що вартість інформації включаючи витрати на збирання зберігання пошук і оброблення значна величезну перевагу має її колективне використання. Отже однією з головних цілей...