49789

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

Курсовая

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

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

Русский

2016-08-04

268 KB

8 чел.

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

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

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

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

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

по дисциплине информатика

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

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

Вариант 14

Факультет Телекоммуникации                                   Выполнил: студент группы ТЕ-81

Кафедра  Физики, прикладной                                    Кошкарёва Е.В.                математики и информатики

                                                                                      Проверил: доцент кафедры ИСиТ,

Дата защиты__________                                             кандидат педагогических наук                                                       

Оценка___________                                                     Минина Е.Е.

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

2009

Содержание

Введение

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

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

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

Для визуализации численных методов используются языки программирования. Программирование в наши дни очень сильно развивается. Оно нужно для создания программ, расчета функций. Численные методы решения дифференциальных уравнений играют важную роль в практике инженерных расчетов.

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

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

Чтобы решить обыкновенное дифференциальное уравнение, необходимо знать значения зависимой переменной и ее производных при некоторых значениях независимой переменной. Если эти дополнительные условия задаются при одном значении независимой переменной, то такая задача называется задачей с начальными условиями, или задачей Коши:

Пусть дано дифференциальное уравнение и начальное условие . Требуется найти функцию , удовлетворяющую указанному уравнению и начальному условию.

Численное решение задачи Коши сводится к табулированию искомой функции.

График решения дифференциального уравнения называется интегральной кривой.

Геометрический смысл задачи: - тангенс угла наклона касательной к графику решения в точке к оси ОХ, - угловой коэффициент.

Рисунок 1 - Геометрический смысл задачи Коши

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

Ответ должен быть получен в виде таблицы результатов:

...

...

...

...

 

где , – решения, полученные различными численными методами,

          – точное решение дифференциального уравнения.

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

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

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

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

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

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

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

1) строим оси координат;

2) отмечаем точку A(0; 4) – первую точку интегральной кривой;

3)  ищем угол наклона касательной к графику в точке A:

4) строим касательную AB в точке А под углом ;

5) находим  по формуле , где  – шаг интегрирования:

;

6) проводим прямую   до пересечения с прямой AB, отмечаем точку ;

7) ищем :

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

Следовательно, точка B имеет координаты (0.05; 4).

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

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

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

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

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

1) строим оси координат;

2) отмечаем точку А(0; 4) – первую точку интегральной кривой;

3) ищем угол наклона касательной к графику в точке A:

4) строим касательную AB в точке А под углом ;

5) находим  по формуле , где  – шаг интегрирования:

;

6) делим шаг интегрирования на два отрезка и отмечаем , проводим прямую из этой точки до прямой AB, отмечаем точку ;

7) ищем координаты точки В:

Следовательно, точка B имеет координаты (0.025; 4).

8) ищем угол наклона касательной к графику в точке B:

9) строим касательную BC в точке B под углом ;

10) проводим прямую  до пересечения с прямой BC, отмечаем точку C с координатами (x1; y1);

11) ищем :

Следовательно, точка C имеет координаты (0.05; 4.0049).

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

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

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

3.1 Решение методом Эйлера

 

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

3.3 Общая блок - схема

3.4 Блок - схема дифференциального уравнения

4 Виды формы проекта

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

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

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(х As Single, y As Single) As Single

f = 2 * x * y / x + 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)), 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 - 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

End

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

Заключение

Литература


Eiler
()

tg (α) = f(x,y)

i=0,…,N-1

end

end

i=0,…, N-1

EilerM()

End

α

xi+1

α

Label7

Label6

Label5

Command1

Command2

PictureBox

MSFlexGrid

Text4

Text3

Text2

Text1

Label4

Label3

Label2

Label1

хi

0

x

yi

h

yi+1

y=y(x)

B

А

y

α1

α

ε

ε1

xi+1

xi

h

h/2

В

С

А

0

y=y(x)

x

y

f(x, y)


 

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

34370. Оптимизация и экономическая оценка технологических процессов 23 KB
  Другими словами можно определить что расходные коэффициенты – это затраты на единицу продукции с учетом качества потребляемого сырья и стоимости. Эти затраты связаны с увеличением степени чистоты используемого сырья. характеризует сколько может получится целевого продукта с единицы сырья. К= m сырья m целевого продукта C1 C2 = Пц Пп В технологических процессах используется несколько видов сырья.
34371. Понятие технологического процесса, основные его параметры и характеристики 30 KB
  Производственный процесс это совокупность всех действий людей и орудий труда необходимых для изготовления или ремонта продукции. Технологический процесс это основная часть производственного процесса направленная на получения из сырья готовой продукции. Экономические: производительность выпускаемой продукции П = Q t кГ ч т ч; где Q количество произведенной продукции кГ т шт. 100 где Qф фактическое количество произведенной продукции кГ т шт.
34372. Динамика произв. затрат при развитии технол. процесса 55 KB
  Прошлого овеществленного труда Тп включающего в себя все затраты труда связанные с получением исходного для данной технологии продукта а также затраты на орудия труда используемые в анализируемом технологическом процессе; 2. Живого труда Тж включающего все затраты человеческого труда предусмотренные в анализируемом технологическом процессе на выпуск готовой продукции. Общие удельные затраты на единицу продукции представляющие собой сумму прошлого и живого труда Тс = Тп Тж min являются наиболее обобщенными технологическими...
34373. Структура технологического процесса 50 KB
  Структура технологического процесса. Любой технологический процесс можно рассматривать как систему более мелких технологических процессов или как часть более сложного техн. В структуре сложного техн. процесса можно выделить всегда элементарный техн.
34374. Основные варианты развития технологических процессов и их характеристика 23 KB
  элементов приводит к росту производительности живого труда за счет высвобождения человека и сокр. труда за счет увеличения доли прошлого труда что соотв. такое развитие процессов при котором увеличение производительности совокупного труда происходит при увеличении затрат прошлого труда за счет механизации и автоматизации вспом. за счет уменьшения как живого так и прошлого труда на единицу продукции.
34375. Закон рационалистического развития технологических процессов 24.5 KB
  развития технологического процесса происходит прямая замена живого труда прошлым. При этом каждое последующее увеличение производительности труда требует все больших затрат прошлого труда на единицу прироста производительности совокупного труда. Достигнутый уровень затрат прошлого труда это техн. Годовые затраты прошлого труда сумма годовых амортизационных отчислений от стоимости оборудования и всех остальных годовых затрат за исключением затрат на предмет труда обозначим через Фт руб год.
34377. Определения уровня технологического процесса 19.5 KB
  Уровень технологии – это показатель эффективности переноса прошлого труда на технологический процесс. Уровень технологии определяется произведением производительности прошлого и живого труда. Понятие уровень технологии – важная характеристика любого технологического процесса. Для расчета уровня технологии необходимо иметь зависимости Тж от Тп.
34378. Платёжный баланс, его роль, содержание и прогнозирование 60.5 KB
  Процентные ставки на международных рынках являются важным фактором определяющим чистые процентные поступления на текущий счет а вместе с процентными ставками на внутреннем рынке они заметно влияют на объем и направление потоков капитала. При прогнозировании важно учитывать сочетание прогнозного результата по текущему счету с допустимыми значениями притока капитала для покрытия дефицита. При прогнозировании финансового счета необходимо различать три основные категории: прямые инвестиции перемещения средне и долгосрочного капитала и...