30065

Метод Эйлера модифицированный. РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Книга

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

Метод Эйлера.Метод Эйлера модифицированный. Для этого необходимо было решить уравнение yx=4y двумя разными методами: методом Эйлера и методом Эйлера модифицированного а также ряд поставленных перед собой задач: Изучить методы решения дифференциальных уравнений; Построить график и блоксхему а также Проверить правильность решения в среде MathCad. Метод Эйлера.

Русский

2013-08-22

193.5 KB

71 чел.

Сибирский государственный университет телекоммуникации

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

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

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

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

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

ВИЗУАЛИЗАЦИЯ ЧИСЛЕННЫХ МЕТОДОВ.

РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

                                                                           Выполнил:

студент гр.: МЕ-61,

                                                                                                       Игнатенко И. А.

                                                                               Проверил:

                                                                                                   Минина Е.Е.

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

2006 г.

Содержание.

  1.  Введение………………………………………………………………...……..3
  2.  Постановка задачи…………………………………………………………….4
  3.  Методы решения

    2.1.Метод Эйлера……………………………………………………………...5

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

  1.  Блок схема …………………………………………………………..……….10
  2.  Блок схема для функции…………………………………………………….13       
  3.  Код программы …………………………………………………………...…14
  4.  Виды форм ..……………………………………………….…………..……..16
  5.  Проверка в MathCad …………………………………………………………18

Заключение…………………………………………….………………..………..19

Введение.

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

     В своей работе я поставил перед собой проблему: изучить основы программирования. Для этого необходимо было решить уравнение y’*x=4*y двумя разными методами: методом Эйлера и методом Эйлера модифицированного, а также  ряд, поставленных перед собой, задач:

  •  Изучить методы решения дифференциальных уравнений;
  •  Построить график и блок-схему, а также
  •  Проверить правильность решения в среде MathCad.

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

Пусть дано дифференциальное уравнение вида y’=4*y/x, общее решение которого y=c*x4, и заданы начальные условия x0=1, xk=1.4, h=0.05, y0=2. Требуется найти решение, удовлетворяющее как указанному уравнению, так и начальному условию.

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

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

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

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

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

y(x0) = y0.

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

 xi = x0 + i.h   и   yi = y(xi) ,   где    i = 0, 1, 2, …,

xi – узлы сетки,

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

График решения приведен на рисунке 1.

Проведем прямую АВ через точку (xi,yi) под углом α. При этом

tgα = f(xi,yi) (1).

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

Тогда yi+1 = yiy (2).

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

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

Отсюда

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

    (4).

Рисунок 1. Метод Эйлера.

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

Метод Эйлера – один из простейших методов численного решения обыкновенных дифференциальных уравнений. Но существенным его недостатком является большая погрешность вычислений. На рисунке 1 погрешность вычислений для i-го шага обозначена ε. С каждым шагом погрешность вычислений увеличивается.

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

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

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

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

y(x0) = y0.

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

 xi = x0 + i.h   и   yi = y(xi) ,   где    i = 0, 1, 2, …,

xi – узлы сетки,

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

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

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

Рисунок 2. Метод Эйлера модифицированный.

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

1. Обозначим точки: A(xi, yi), C(xi+h/2, yi+h/2*f(xi,yi)) и B(xi+1, yi+1).

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

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

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

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

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

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

.

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


Блок
схема.




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

 


Код программы.

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 = (4 * q) / t

End Function

Private Sub Command1_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 ^ 4

MSFlexGrid1.Rows = n + 2

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 = 0 To n

x(i) = x0 + i * h

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

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

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

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 - 1000) / (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)

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

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

Next i

End Sub

Private Sub Command2_Click()

End

End Sub

Виды форм.

Проверка в MathCad.

 


Заключение.

  По мере решения поставленных перед собой целей и задач, я научился работать в новой для меня среде Visual Basic.

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

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


 

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

34252. Популяция 63.47 KB
  Закон Харди Вайнберга: Частоты генов и генотипов в популяции остаётся неизменным из поколения в поколение. Численность популяции важная экологическая характеристика популяции. Это общее количество особей в популяции. Колебания численности Изменение численности популяции складывается за счет явлений: рождаемости смертности вселения и выселения.
34253. Микро эволюция 45.12 KB
  Критерии вида: морфологический позволяет различать разные виды по внешним и внутренним признакам; физикобиохимический фиксирует неодинаковость химических свойств разных видов; географический каждый вид обладает своим ареалом; экологический позволяет различить виды по комплексу абиотических и биологических условий в которых они сформировались приспособились к жизни; репродуктивный обуславливает репродуктивную изоляцию вида от других даже близкородственных. Целостность вида обусловлена...
34254. Естественный отбор 15.03 KB
  Стабилизирующий форма отбора при котором действие направлено против особей имеющих крайние отклонения от средней нормы в пользу особей со средней выраженностью признака. отбора ввел Шмальгаузен. Движущий форма отбора которая действует при направленном изменении окр. Дизруптивный форма отбора при которой сохраняются особи с крайними вариантами изменчивости а особи с промежуточным проявлением признака подвергаются отрицательному отбору.
34255. Антропогенез 18.08 KB
  Место человека в системе животного мира. Биологические особенности человека: сложный мозг; вертикально ориентированный скелет; развитая НС и ВНД; подвижные пальцы; объемное цветовое зрение. Особенности человека связанные с прямо хождением: мощная мускулатура нижних конечностей; Sобразный изгиб позвоночника; широкий таз; сводчатая стопа; более мощное развитие костей нижних конечностей; грудная клетка уплощена в спиннобрюшном направлении; большой палец ноги не противопоставлен остальным.
34256. Медицинская экология. Экологически зависимые заболевания 15.69 KB
  Экологически зависимые заболевания болезни которые при загрязнении окруж. Это заболевания органов дыхания в т.железы и многие другие заболевания развитие которых обусловлено комплексом генетических иммуногенетических инфекционных и других факторов.