30063

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

Курсовая

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

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

Русский

2014-08-21

187.5 KB

3 чел.

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

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

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

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

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

на тему:

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

       Студент: Паньшин Артем Андреевич

               Группа:  ОЕ-71

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

 

г. Екатеринбург, 2008

Оглавление

Введение…………………………………………………………… 3

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

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

Блок-схемы ……………………….……………………………….8

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

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

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

Вывод……………………………………………………….…….. .15


Введение

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

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

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

Основные цели  работы:

Целью моей работы является изучение основ системы программирования Microsoft  Visual  Basic и приобретение начальных навыков разработки программного обеспечения для операционных систем  Windows.


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

Решить методами Эйлера и Эйлера модифицированного задачу Коши для дифференциального уравнения 1-го порядка 2*x*y*dx-(x+1)=0

на отрезке [0; 0.8] с шагом h=0.05 и начальным условием: Y(0) = 4. Общее решение: y=exp(2*x)*C/(x+1)^2

Ответ должен быть получен в виде таблицы результатов:

X

Y(1)

Y(2)

YT

X0

Y0(1)

Y0(2)

Y(X0)

X1

Y1(1)

Y1(2)

Y(X1)

Xk

Yk(1)

Yk(2)

Y(Xk)

Где: Y(1) - решение, полученное методом Эйлера, Y(2) – решение, полученное методом Эйлера модифицированного, YT – точное решение дифференциального уравнения.

Данные таблицы визуализировать на форме в виде графиков.

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


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

МЕТОД ЭЙЛЕРА

 Этот  метод  называют   методом  Рунге-Кутта  первого   порядка точности.

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

       Для решения поставленной задачи выполняем следующие действия:

  •  Строим оси координат;
  •  Отмечаем точку A(0; 4) – первую точку интегральной кривой;
  •   Ищем угол наклона касательной к графику в точке A:

  •  Строим касательную AB в точке А под углом α0;
  •  Находим х1 по формуле: xi = х0 + ih, где h – шаг интегрирования

x1 = 0 + 1 · 0.05 = 0.05;

  •  Проводим прямую x = x1 = 0.05  до пересечения с прямой AB, отмечаем точку B(x1; y1);
  •  Ищем  y1:

Из прямоугольного треугольника ABC ,

Δy = y1 y0,

 y1 y0= Δx· tg α0

Δx = x1 – x0 = h => y1 = y0 + h · (f(x0; y0)) = 4 + 0.05  f(0;4) = 4+0.05*0= 4

Следовательно, точка B имеет координаты (0.05; 4).

Следующую точку будем искать аналогичным способом по формуле расчета очередной точки интегральной функции:

(*)

Рис1. Решение задачи методом Эйлера.

Его существенный недостаток - большая погрешность вычислений.

МЕТОД ЭЙЛЕРА МОДИФИЦИРОВАННЫЙ

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

Для решения поставленной задачи выполняем следующие действия:

  •  Строим оси координат;
  •  Отмечаем А(0; 4) – первую точку интегральной кривой;
  •  Ищем угол наклона касательной к графику в точке A:

  •  Строим касательную AB в точке А под углом α0;
  •  Находим х1 по формуле: xi = х0 + ih, где h – шаг интегрирования

x1 = 0 + 0.05 · 1 = 0.05;

  •  Делим шаг интегрирования на два отрезка и отмечаем x1/2= x0 + h/2, проводим прямую из этой точки до прямой AB, отмечаем точку B(x1/2; y1/2);
  •  Ищем координаты В:

x1/2 = x0 + h/2 = 0 + 0.025 = 0.025

y1/2 = y0 + h/2 · f(x0; y0) = 4 +  0.025· 0= 4

Следовательно, точка B имеет координаты (0.025; 4);

Ищем угол наклона касательной к графику в точке B:

Tgα1=2*0.025*4/0.025+1=0.1951 рад. α1=0.1977

  •  Строим касательную BC в точке B под углом α1;
  •  Проводим прямую x1 = 0.05 до пересечения с прямой BC, отмечаем точку C с координатами (x1; y1);
  •  Ищем y1 :

y1 = y1/2 + h/2(f(x1/2;y1/2)) = 4 + 0.025 · 0.1977 = 4.0049

Следовательно, точка C имеет координаты (0.05; 4.0049).

yi+1 = yi + hf(xi + h/2, yi + h/2 ∙ f(xi, yi))

Рис2. Решение задачи методом Эйлера модифицированного


                                          Блок-схема программы

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


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

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

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

Листинг программы на языке 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) / e ^ (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 - 1190) / (xk - x0)

       ky = (Picture1.Height - 1600) / (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


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

 
                                                        Вывод
 

Вывод

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

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

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

.

На графике видно, что кривая решения методом Эйлера модифицированного находится ближе к кривой общего решения, чем кривая решения методом Эйлера.

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

Данная курсовая позволила мне закрепить навыки работы в различных приложениях WINDOWS,таких как: Microsoft Office Word, MathCad 12, AutoCAD и, конечно же, основная работа была проведена в Microsoft Visual Basic 6.0.

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


 

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

81845. Себестоимость перевозок, особенности определения и различия по видам транспорта 27.43 KB
  Наибольшее влияние на нее оказывают следующие факторы: объем и дальность перевозок густота перевозок на 1 км линии грузоподъемность или пассажировместимость подвижного состава вагонов судов автомобилей автобусов самолетов и т. Особенно заметно повышение себестоимости грузовых перевозок на железнодорожном морском и речном транспорте. Повышение себестоимости перевозок обусловлено в основном повышением уровня заработной платы и оптовых цен на топливо подвижной состав машины оборудование и другие материалы.
81847. Основные свойства транспортного узла 26.03 KB
  Узлы играют важную роль в организации комбинированных перевозок и совершенствовании взаимодействия различных видов транспорта. В зависимости от хозяйственного профиля города можно выделить транспортные узлы обслуживающие: центры обрабатывающей промышленности центры добывающей промышленности многоотраслевые центры непромышленные и курортные центры. Классифицируются узлы и по числу взаимодействующих видов транспорта. Кроме того по расположению узлов в транспортной системе узлы бывают транзитные обслуживающие преимущественно транзитные...
81848. Значение транспорта в развитии экономики страны 26.12 KB
  Транспортный комплекс Казахстана включающий в себя железнодорожный автомобильный водный и воздушный транспорт сеть автомобильных дорог с твердым покрытием трубопроводный и городской электрический транспорт ежегодно в среднем перевозит около 400 млн.т грузов и свыше 750 млн. Транспортная система Казахстана обеспечивает перевозки в среднем в год 70 млн. угля 1415 млн.
81849. Автомобильный транспорт. Зарождение и развитие а/т, его роль в ЕТС. Достоинства и недостатки 27.23 KB
  Первый отечественный автомобиль с двигателем внутреннего сгорания создан в С. Выдающимся русским автоконструктором с мировым именем был Борис Григорьевич Луцкий который в начале 90х годов прошлого столетия спроектировал несколько двигателей внутреннего сгорания предназначавшихся для самодвижущихся экипажей но отечественная промышленность еще не была готова к их освоению. 1 по виду двигателя: внутреннего сгорания карбюраторные дизельные газобаллонные газотурбинные электрические солнечные 2 грузоподъемности: малый средний...
81850. Процессы взаимодействия в транспортных узлах 27 KB
  Основная масса грузовых и пассажирских перевозок осуществляется с участием 2 х и более видов транспорта. Практически вся нефть из трубопроводов передается на другие виды транспорта а автомобиль взаимодействует со всеми видами транспорта особенно велик его вес для пассажирских перевозок. Во взаимодействии различных видов транспорта должна возродиться ЕТС единая транспортная система. Взаимодействие различных видов транспорта заключается в слаженной и согласованной работе транспорта в общем перевозочном процессе.
81851. Железнодорожный транспорт. Достоинства и недостатки 27.17 KB
  Но в неё в силу природных условий входили вспомогательные субъекты – больницы школы общепит учреждения культуры и другие. В законодательном порядке определена государственная политика в области железнодорожного транспорта направленная на создание условий для удовлетворения потребностей населения и экономики страны в перевозках. Преимущества: быстрая доставка на большие расстояния; независимость от климатических условий; большая грузоподъёмность 34 тыс.
81852. Понятие о транспортно-экономических балансах 21.37 KB
  Транспортно-экономический баланс состоит из трех основных частей: баланс производства или отправления грузов их потребления или прибытия объема перевозок и транспортно-экономических связей. Оптимальные внутрирайонные и межрайонные связи являются исходной базой для определения потоков грузов по участкам транспортной сети грузооборота и средней дальности перевозок. невозможности определения коэффициента повторное перевозок; отсутствие учета объема перевозок тары и др.