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.

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


 

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

59109. Сильні людські характери в новелі Д.Олдріджа Останній дюйм 55 KB
  Вона захоплює учнів незвичайними подіями романтикою подвигу не боїмося вжити це слово Деві який врятував своєму батькові життя. Зображуючи Бена і Деві у найвідповідальніший момент їхнього життя Джеймс Олдрідж підкреслює те нове що формується у взаєминах батька і сина.
59110. Складання симетричного замкнутого узору 38 KB
  Завдання до уроку 1. Зразки закінчених дитячих робіт попередніх років на тему уроку. Структура уроку І. Повідомлення теми уроку й мотивація навчання 1 хв.
59111. Скликав в школу нас дзвоник останній 53 KB
  Шановні друзі Ми знов зустрілись У пишнім нашім крузі На радісне свято веселе чудове Ми всі закінчили початкову школу. Але всім намбезумовно світить яскравим багаттям наше дитинство. Хай пісня тут лине Хай сміх скрізь лунає.
59112. Сценарій літературного вечора, присвяченого Ю. Яновському. Слово, що не прохолоне 63 KB
  Юрій Яновський - одна з найбільш трагічних постатей в українській літературі. Людина надзвичайно яскравого й оригінального обдарування, він був ніжним, тендітним, творчим.
59113. Справедливість 27.5 KB
  Учитель пропонує членам групи побудувати зі слів довгий потяг у якому кожний вагончик складається з окремого слова. Гра Ланцюжок слів Учитель ставить перший вагончик і при цьому каже: корупція яка ставить вагончик Корупція.
59114. Сприймання навколишнього світу 44.5 KB
  Виховувати зацікавленість до наукових відкриттів і повагу до людей які збагачують ці відкриття Обладнання: овочі перець помідор морква часник тощо картки зі словами селекція гібрид камбуз картки з алгоритмами опису овочів карта півкуль Землі силуетні картки овочів перець помідор...
59115. Спрощення в групах приголосних 29 KB
  Поставте наголос у словах. Правильно вимовте слова назвіть орфограму. Усно доберіть перевірочні слова там де можливо.
59116. Сторінки книжок завітних всіх нас доброму навчать 49 KB
  І кожна людина знає що найвідданішого і наймудрішого друга ніж книга не знайти. До глядачів виходить Королевакнига. Королевакнига Дуже я потрібна всім І дорослим і малім. Ну що друзі відгадали хто я Дітиглядачі відповідають: книга.
59117. Урок-дослідження. В. Сухомлинський, О. Олесь 36 KB
  Читання оповідання Дрібний дощик Як називають дощик Яким вам видався дощик Що вирішив зробити оповідач Для кого старався Чим схожі вірш та оповідання У чому різниця У вірші дощу радіють в оповіданні він набрид. А потім складав повчальні оповідання та казки.