49787

Визуализация численных методов. Решение обыкновенных дифференциальных уравнений

Курсовая

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

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

Русский

2014-01-08

124 KB

3 чел.

Министерство РФ по связи и информатизации

ГОУ ВПО «Сибирский государственный университет

телекоммуникаций и информатики»

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

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

КУРСОВАЯ РАБОТА

по информатике

ВАРИАНТ №14:

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

Решение обыкновенных дифференциальных уравнений».

Исполнитель:

студент гр. ОЕ-71

Паньшин А.А.

Руководитель:

Доцент Минина Е.Е

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

2008

Введение

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

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

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

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

Цель моей работы- ознакомление, изучение основ системы программирования Microsoft  Visual  Basic и приобретение начальных навыков решение ДУ в Microsoft  Visual  Basic

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

Решить методами Эйлера и Эйлера модифицированного задачу Коши для дифференциального уравнения 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, используемого в общем решении.

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

Метод Эйлера

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

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

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

  •  Строим оси координат;
  •  Отмечаем точку 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:

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

Δ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).

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

(*)

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

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

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

  •  Строим оси координат;
  •  Отмечаем А(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))

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

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

Блок-схема метода Эйлера.

Блок-схема методом Эйлера модифицированным.

 

Блок-схема графика.

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

4. Формы программы.

Исходный вид формы программы.

Итоговый вид формы программы.

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

Dim x(50) As Single, y(50) As Single, k(50) As Single, z(50) As Single, p(50) As Single

Private y0 As Single

Private x0 As Single

Private xk As Single

Private C As Single

Function f(t As Single, q As Single) As Single

f = 2 * t * q / t + 1

End Function

Private Sub Command2_Click()

x0 = Val(Text1.Text)

xk = Val(Text2.Text)

y(0) = Val(Text4.Text)

h = Val(Text3.Text)

p(0) = y(0)

z(0) = y(0)

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

C = (y(0) * (x0 + 1) ^ 2) / Exp(2 * x0)

MSFlexGrid1.Rows = n + 2

MSFlexGrid1.Cols = 4

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

MSFlexGrid1.TextMatrix(0, 1) = "P"

MSFlexGrid1.TextMatrix(0, 2) = "Yэ"

MSFlexGrid1.TextMatrix(0, 3) = "Yэм"

Max = y(0)

Min = y(0)

For i = 1 To n

x(i) = x0 + i * h

p(i) = Round(C * (x(i) * x(i) * x(i)) )

y(i + 1) = Round(y(i) + f(x(i), y(i)) * h )

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

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

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

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

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

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

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

Next i

Picture1.Cls

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

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

Label4.Caption = Str(Min)

Label5.Caption = Str(Max)

Label6.Caption = Str(x0)

Label7.Caption = Str(xk)

For i = 0 To n - 1

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

z2 = Round(5400 - (y(i) - Min) * ky)

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

z4 = Round(5400 - (y(i + 1) - Min) * ky)

z5 = Round(5400 - (p(i) - Min) * ky)

z6 = Round(5400 - (p(i + 1) - Min) * ky)

z7 = Round(5400 - (z(i) - Min) * ky)

z8 = Round(5400 - (z(i + 1) - Min) * ky)

Picture1.Line (z1, z7)-(z3, z8), vbRed

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

Picture1.Line (z1, z5)-(z3, z6), vbBlue

Next i

End Sub

Private Sub Command1_Click()

End

End Sub

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

Заключение

В данной курсовой работе я изучил численные методы решения задачи

По окончании работы я научился работать в  среде программирования Visual Basic 6.0. и MathCad.

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


Eiler

i=0,…,N-1

x(i)=x0+h*i

yi=yi-1+h*f(xi-1,yi-1)

end

Eiler mod

=(xk-x0)/N

i=0,…,N-1

x(i)=x0+h*i

Yi=y(i-2)+h*F(x(i-2)+h/2,y(i-2)+h/2*F(x(i-2), y(i-2))

end

end

F=2*g*m/g+1

F(g,m)

Graphic

x0, xk, y0, h

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

MSFlexGrid1.Rows=n+2

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

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

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

MSFlexGrid1.TextMatrix(0,3)=”P”

x(0)=x0

y(0)=y0

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

y1(i+1)=y1(i)+h*F(x(i),y1(i))

For i=0 to N

x(i)=x0+h*i

Z(0)=y0

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

Y(i)=exp(2*x(i)) *C/(x(i)+1)^2

min=Y(0)

For i=0 to N

Y(i)<min

min=y(i)

max=Y(0)

For i=0 to N

Y(i)>max

max=Y(i)

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

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

нет

да

нетт

да

p(0)=y0

For i=0 to N-1

p1=720+(x(i)-x0)*kx

p2=5400-(y1(i)-min)*ky

p3=720+(x(i+1)-x0)*kx

p4=5400-(Y(i+1)-min)*ky

p5=5400+(p(i)-min)*ky

p6=5400-(p(i+1)-min)*ky

p7=5400-(z(i)-min)*ky

P8=5400-(z(i+1)-min)*ky

Picture1.Line(p1,p2)-(p5,p6),vbRed

Picture1.Line(p1,p3)-(p5,p7),vbGreen

Picture1.Line(p1,p4)-(p5,p8),vbBlue

end

Programma

x0, xk, y0, h

h=(xk-x0)/N

c=y(0)*(x0+1)^2/exp(2*x0)

i=0,…,N

x(i)=x0+h*i

y1(i+1)=y1(i)+h*F(x(i),y1(i))

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

Y(i)=( exp(2*x(i)) *C/(x(i)+1)^2

x(i),y1(i),y2(i),Y(i)

end


 

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

41141. Объекты логистического управления 85 KB
  Материальные потоки их характеристика и классификация. Финансовые информационные потоки и потоки услуг. Материальные потоки их характеристика и классификация. Материальные потоки образуются в результате транспортировки складирования и выполнения других материальных операций с сырьем полуфабрикатами и готовыми изделиями начиная от первичного источника сырья вплоть до конечного потребителя.
41142. Программные средства шифрования 298.5 KB
  Все звучит довольно красиво, и, как правило, оправдывается на деле при использовании шифрования. Шифрование, несомненно, является важнейшим средством обеспечения безопасности. Механизмы шифрования помогают защитить конфиденциальность и целостность информации. Механизмы шифрования помогают идентифицировать источник информации.
41143. Первый закон термодинамики 154.5 KB
  Первый закон термодинамики. До формулировки Первого начала термодинамики в 1840х годах учеными Джоулем 1840 Майером 1842 и Гельмгольцем 1847 в науке наряду с материалистическим пониманием закона сохранения и превращения энергии одной из форм которого и является Первое начало термодинамики существовала теория теплорода. Формулировка Первого начала термодинамики основана на экспериментальных исследованиях. Первый закон термодинамики вообще говоря является постулатом.
41144. ПРИБОРЫ ДЛЯ ИЗМЕРЕНИЯ ДАВЛЕНИЯ 845.5 KB
  Неотъемлемой частью любой вакуумной системы является аппаратура для измерения давления разрежённого газа. Область давления используемая в современной вакуумной технике 105 1012 Па. В практике измерения давления разрежённых газов применяются различные типы преобразователей отличающиеся по принципу действия и классу точности. При малых давлениях непосредственное измерение силы давления невозможно из-за её малости.
41145. Пошук інформації в системі 103.5 KB
  Перегляд списку та маніполювання зі списками знайдених документів Ведуть записи 3 хв. Підведення підсумків уроку Що таке пошукові реквізити Які пошукові реквізити в системі Що називається динамічним навігатором Що таке перелік документів Які операції можна проводити з переліками Відповіді студентів 2 хв.Перегляд списку та маніпулювання зі списками знайдених документів 1. Перелік кнопок Додаткової Панелі Інструментів: Переводить Робочий Стіл системи в двовіконний режим роботи Задає слова для пошуку в назві Розташовує документи...
41146. Применение теории пленочной конденсации в инженерных расчетах 225 KB
  Он представляет собой отношение теплоты конденсации к теплоте переохлаждения конденсатной пленки в диапазоне изменения температур от температуры насыщения до температуры стенки. В этом случае возникает значительный конвективный перенос тепла вдоль пленки и к тому же необходимо учитывать силы инерции. Кроме того при достаточно большой протяженности поверхности конденсации на ней возникает режим течения пленки отличный от чисто ламинарного режима.е возникают так называемые волновые режимы течения пленки что приводит к существенному...
41147. ИДЕЙНО-ТЕОРЕТИЧЕСКИЕ КОНЦЕПЦИИ СВОБОДЫ ПЕЧАТИ 107.5 KB
  С количественным ростом и разделением функций периодических изданий складывались национальные и межнациональные системы журналистики. Главным содержанием идейно-теоретических концепций журналистики была и остается свобода печати слова: степень контроля государства власти за содержанием и распространением массовой информации; степень ответственности журналистов писателей публицистов перед государством властью и обществом за распространяемую информацию. АРЕОПАГИТИКА ДЖОНА МИЛЬТОНА Первую...
41148. Лексические и фразеологические нормы русского литературного языка 142 KB
  Лексическое значение слова. Многозначные слова омонимы синонимы антонимы паронимы.Многозначные слова нужно отличать от омонимов. Если связь между значениями слов утрачена, значит это омонимы. Омонимы – слова одинаковые по звучанию, но разные по значению (жать руку- жать серпом)
41149. Способы задания плоскости на эпюре 592.5 KB
  Способы задания плоскости на эпюре Из курса элементарной геометрии известно что через три точки не лежащие на одной прямой можно провести плоскость и при том только одну. Таким образом положение плоскости в пространстве логично определить задать тремя точками точки А В С табл. Кроме этого положение плоскости в пространстве определяют: прямая АВ и точка С не лежащая на прямой табл.