30065

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

Книга

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

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

Русский

2013-08-22

193.5 KB

68 чел.

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

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

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

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

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

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

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

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

                                                                           Выполнил:

студент гр.: МЕ-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.

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


 

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

59793. Дворіччя. Давній Вавілон 58 KB
  Якщо людина викриватиме людину і провини не доведе то позивача має бути забито. Якщо людина викриватиме людину у чаклунстві й доведе то та яка звинувачувалася піде до Божої Річки Тигру та Євфрату та плигне у воду.
59794. Важнейшие сражения ВОВ 82 KB
  Место: класс информирования личного состава Учебные пособия: 1. История Второй мировой войны 1939-1945. Уроки Второй мировой войны и основные направления ее фальсификации. Учебные цели: Формирование у военнослужащих ясного представления об уроках Второй мировой войны...
59795. Як наші вчинки пливають на життя 190.5 KB
  Очікування результатів уроку: Після цього уроку учні зможуть: Пояснювати зміст понятьвчинок подвиг; Характеризувати емоції та почуття які впливають на нашу поведінку; Обґрунтувати важливість умінь керувати собою.
59796. Сценарій свята «День вчителя» 106 KB
  Тому кожна людина з почуттям вдячності згадує свою рідну школу своїх вчителів. На цьому святі ми хочемо віддати Вам дорогі вчителі хоч маленьку краплиночку тепла і уваги яке ви розсіяли зливами і веселками всім нам.
59798. Вебінар – сучасний елемент дистанційної освіти 152 KB
  Основа вебінару – програмне забезпечення віртуальний клас яке дозволяє організувати спілкування між географічно віддаленими користувачами в режимі реального часу. Незважаючи на те що схема проведення вебінару виглядає досить простою слід зауважити що і рівні проведення вебінару теж бувають різні. Відмінність вебінару від відеоконференції полягає в можливості іноді досить великої кількості глядачів перетворюватися на реальних співрозмовників при наявності встановленого мікрофона і ще краще – вебкамери відеокамери.
59799. Сценарій випускного вечора 59 KB
  Організатор: Свіча гарячий віск проронить Раптовим подихом чудес Здається можна у долоні Піймати зірку із небес І між майбутнім і минулим Дитинством і безмежжям мрій Неначе міст ми протягнули Сьогодні...
59800. Сценарій родинного свята «Вечорниці» 48.5 KB
  Виходять господар та господиня. Господиня: Добрий вечір добрі люди Господар: Доброго вам здоров’ячка Господиня: ня: Будьмо знайомі: я Оксана господиня цієї хати. Господиня: У нас частенько збирається молодь.
59801. Бал в Королівстві Квітів 69.5 KB
  Для кожного вчителя випускники підготували листівку квіткову асоціацію і вручають їм після привітань разом з квітами 11класник. 11класник. Ми покидаєм щоб вернутись До вас у згадці про всіх нас 11класник.