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.

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


 

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

21763. Рудничная аэромеханика 162 KB
  Режимы движения воздуха в шахтных вентиляционных системах. Применение уравнения Бернулли к движению воздуха по горным выработкам. Основное уравнение аэростатики Аэростатика наука о равновесии газов воздуха. Одной из основных задач аэростатики является определение изменения давления неподвижного воздуха с ростом высоты или глубины а также условий равновесия находящегося в воздушной среде тела.
21764. Рудничная аэромеханика. Аэродинамическое сопротивление горных выработок и методы его расчета 1.87 MB
  Разделив в этой формуле левую и правую части выражения на площадь живого сечения потока S SM получим выражение кг м2 в котором величина Pлб SSм представляет собой лобовое сопротивление hлб; тогда окончательное выражение для подсчета величины потерь давления воздуха вызванных лобовым сопротивлением hлб = Cx кг м2 Суммарное сопротивление. Эквивалентное отверстие выработки или шахты площадь отверстия в тонкой стенке через которое при разности давлений по обе стороны стенки равной депрессии выработки или шахты проходит...
21765. Специальные вентиляционные режимы 223.5 KB
  Высокая температура в очаге пожара приводит к нагреву воздуха что вызывает нарушение вентиляции шахты в целом и отдельных ее участков изменяется дебит вентиляционных потоков и их направление. При пожарах могут применяться следующие вентиляционные режимы: неизменный по дебиту и направлению; ослабленный или усиленный по дебиту и неизменный по направлению; реверсивный в целом по шахте или на отдельных участках с изменением количества воздуха; нулевой при котором прекращается доступ воздуха к очагу пожара путем выключения вентиляторов или с...
21766. Проектирование вентиляции шахт 1.43 MB
  При проектировании вентиляции шахты решаются задачи выбора схем вентиляции участков и шахты прогноза выделений вредных газов в выработки определения расхода воздуха для вентиляции шахты проверки сечения выработок по допустимой скорости движения воздуха выбора калорифера для подогрева поступающего в шахту воздуха в зимнее время проверки устойчивости движения воздуха в выработках расчета депрессии шахты регулирования распределения воздуха по выработкам шахты выбора способа вентиляции шахты и вентилятора главного проветривания...
21767. Расчет расхода воздуха для шахты в целом 2.99 MB
  3 Расчет расхода воздуха для шахты в целом Расход воздуха для шахты в целом определяется по формуле Qш=11ΣQучΣQп.ΣQкΣQут м3 мин 1 где 11 коэффициент учитывающий неравномерность распределения воздуха по сети горных выработок; ΣQуч расход воздуха для проветривания выемочных участков м3 мин; ΣQп.в расход воздуха подаваемый к всасам ВМП для обособленного проветривания тупиковых выработок м3 мин. На газовых шахтах расход воздуха для проветривания тупиковых выработок проводимых за пределами выемочных участков кроме...
21768. Расчет количества воздуха 1.55 MB
  В соответствии с 200 ПБ проветривание шахт должно быть организовано таким образом чтобы состав скорость и температура воздуха в действующих горных выработках соответствовали требованиям настоящих Правил. Расход количество воздуха для проветривания шахт должен определяться в соответствии с руководствами инструкциями утвержденными в установленном порядке. Расход воздуха подаваемого в горные выработки должен соответствовать расчетному.
21769. Исследование спектральных характеристик систем с ШИМ c выходом по переменному току 360 KB
  Задачей работы является приобретение навыков теоретического расчета фильтров импульсно-модуляционных систем при прохождении через них сигналов с ШИМ-II
21770. Компьютерная безопасность и взлом компьютерных систем 92.5 KB
  Компьютерные преступления приобрели в странах с развитой телекоммуникационной инфраструктурой настолько широкое распространение, что для борьбы с ними в уголовное законодательство были введены специальные составы преступлений. Однако во всех странах мира отмечается лавинообразный рост компьютерной преступности
21771. Основы С. Быстрый старт 943.54 KB
  Освоение основ языка ANSI С, создания и практического освоения функций ввода и вывода, математических функций, написание программы по индивидуальному варианту