30058

ВИЗУАЛИЗАЦИЯ ЧИСЛЕННЫХ МЕТОДОВ. РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

Курсовая

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

1 Метод Эйлера [9.3] Метод Эйлера модифицированный [10] Код программы. Постановка задачи В данной курсовой работе требуется вычислить дифференциальное уравнение способами Эйлера и Эйлера модифицированный: Результаты вычислений должны содержать: точное значение уравнения приближенные значения графики 1. Одношаговыми являются метод Эйлера и методы Рунге Кутта.

Русский

2013-08-22

182.5 KB

6 чел.

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

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

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

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

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

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

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

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

Выполнил: студент гр. АЕ-61

Сонькин К.М. 

                                                                                 Руководитель: Минина Е.Е.

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

Содержание

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

[2] и информатики

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

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

[5] КУРСОВАЯ РАБОТА

[5.1] Выполнил: студент гр. АЕ-61

[5.2] Сонькин К.М.

[6] Содержание

[7] Введение

[8] Постановка задачи

[9] Теоретическое описание методов

[9.1] Численные методы решения задачи Коши

[9.2] 2.1 Метод Эйлера

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

[10] Код программы.

[11] Проверка в пакете MathCad.

[12] Заключение.

[13] Литература

Введение

Информатика – это области человеческой деятельности, связанная с процессами преобразования информации с помощью компьютеров и их взаимодействием со средой применения.

Термин информатика возник в 60-х гг. во Франции для названия области, занимающейся автоматизированной обработкой информации с помощью электронных вычислительных машин.

В нашей стране подобная трактовка термина “информатика” утвердилась с момента принятия решения в 1983 г. На сессии годичного собрания Академии наук СССР об организации нового отделения информатики , вычислительной техники и автоматизации. Информатика трактовалась как “комплексная научная инженерская дисциплина, изучающая все аспекты разработки, проектирования, создания, оценки, функционирования основных на ЭВМ систем переработки информации, их применения и воздействия на различные области социальной практики”.

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

Целью моей работы является изучение основ системы программирования Microsoft  Visual  Basic и приобретение начальных навыков разработки программного обеспечения для операционных систем  Windows.

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

В данной курсовой работе требуется вычислить дифференциальное уравнение способами Эйлера и Эйлера модифицированный:

Результаты вычислений должны содержать:

- точное значение уравнения

- приближенные значения

- графики

     1.1   Актуальность.

Программирование в наши дни набирает популярность. Программирование очень нужно для просчёта и построения графиков. В нашей специальности СССК программирование так же нужно т. к. мы часто сталкиваемся с расчётами. Так же в расчётах на помогает программа MathCad.

  1.  Теоретическое описание методов

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

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

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

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

Задачу Коши можно сформулировать следующим образом.

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

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

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

Геометрический смысл задачи:

 - тангенс угла наклона касательной к графику решения в точке (x, y) к оси ОХ, - угловой коэффициент (рис.1).

Существование решения:

Если правая часть f(x,y) непрерывна в некоторой области R, определяемой неравенствами

|xx0| < a ;  |yy0| < b ,

то существует, по меньшей мере, одно решение  y = y(x), определённое в окрестности  |xx0| < h, где h – положительное число.

Это решение единственно, если в R выполнено условие Липшица

где N – некоторая постоянная (константа Липшица), зависящая, в общем случае, от a и b. Если f(x, y)имеет ограниченную производную  в R, то можно положить

N = max||    при    .

Численные методы решения задачи Коши

При использовании численных методов выполняется замена отрезка [x0, X] – области непрерывного изменения аргумента х множеством , состоящего из конечного числа точек  x0 < x1 < … < xn = X – сеткой.

При этом xi называют узлами сетки.

Во многих методах используются равномерные сетки с шагом 

Задача Коши, определённая ранее на непрерывном отрезке [x0, X], заменяется её дискретным аналогом – системой уравнений, решая которую можно последовательно найти значения y1, y2, …, yn – приближённые значения функции в узлах сетки.

                                 (4.1)

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

  1.  Одношаговые методы, в которых для нахождения следующей точки на кривой y = f(x) требуется информация лишь об одном предыдущем шаге. Одношаговыми являются метод Эйлера и методы Рунге – Кутта.
  2.  Методы прогноза и коррекции (многошаговые), в которых для отыскания следующей точки кривой y = f(x) требуется информация более чем об одной из предыдущих точек. Чтобы получить достаточно точное численное значение, часто прибегают к итерации. К числу таких методов относятся методы Милна, Адамса – Башфорта и Хемминга.

а) Явные методы, в которых функция Ф в выражении (4.1) не зависит от yn+1.

б) Неявные методы, в которых функция Ф зависит от yn+1.

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

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

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

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

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

y(x0) = y0.

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

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

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

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

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

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

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

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

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

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

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

Отсюда

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

    (4).

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

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

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

В нашем случае x0 = 1, y0 = -0,9 и теоретическое общее решение выглядит следующим образом  . Найдём постоянную С:

Вычислим первую точку: x1 = x0+h = 1+ 0.5 = 1.5

y1=y0 + h* x0*y0+2*x0*y0 = -3.15  tgα=-1.43

x2=2 y2=-14.9625

tgα=-6.98125

x3=2.5 y3=-48.87

tgα=-19.15

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

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

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

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

y(x0) = y0.

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

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

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

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

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

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

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

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

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:

.

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

Вычислим первую точку: x1 = x0+h = 1+ 0.5 = 1.5

y1=y0 + h* f(x0+h/2; y0+h/2*f(x0,y0)) = -2.240625

tgα=0.826

x2=2 y2=-3.7309

tgα2=-1.365

x3=2.5 y3=

tgα=

  1.  Блок схема

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

Dim x(), ye(), yem(), t() As Single

Private x0, xk, h, y0 As Single

Private n, i As Integer

Private Function g(ByVal x1 As Single, ByVal y1 As Single) As Single

g = (y1 + 1) / x1

End Function

Private Sub EilerMod()

For i = 0 To n - 1

yem(i + 1) = yem(i) + h * g(x(i) + h / 2, yem(i) + h / 2 * g(x(i), yem(i)))

MSFlexGrid1.TextMatrix(i + 1, 2) = Str(Round(yem(i), 4))

Next i

End Sub

Private Sub Eiler()

For i = 0 To n - 1

ye(i + 1) = ye(i) + h * g(x(i), ye(i))

MSFlexGrid1.TextMatrix(i + 1, 1) = Str(Round(ye(i), 4))

Next i

End Sub

Private Sub Teoriya()

For i = 0 To n

t(i) = 0.1 * x(i) - 1

MSFlexGrid1.TextMatrix(i + 1, 3) = Str(t(i))

Next i

End Sub

Private Sub Command1_Click()

x0 = Val(Text1.Text)

xk = Val(Text2.Text)

h = Val(Text3.Text)

y0 = Val(Text4.Text)

n = Round((xk - x0) / h)

ReDim x(n)

ReDim t(n)

ReDim ye(n)

ReDim yem(n)

ye(0) = y0

yem(0) = y0

MSFlexGrid1.Rows = n + 2

MSFlexGrid1.TextMatrix(0, 0) = "x"

MSFlexGrid1.TextMatrix(0, 1) = "Эйлер"

MSFlexGrid1.TextMatrix(0, 2) = "Эйлер модифицированный"

MSFlexGrid1.TextMatrix(0, 3) = "Теория"

For i = 0 To n

x(i) = x0 + i * h

MSFlexGrid1.TextMatrix(i + 1, 0) = Str(x(i))

Next i

Eiler

EilerMod

Teoriya

End Sub

Private Sub Command2_Click()

Label7.Caption = Str(x0)

Label8.Caption = Str(xk)

Min = ye(0)

Max = ye(0)

For i = 0 To n

If ye(i) > Max Then Max = ye(i)

If ye(i) < Min Then Min = ye(i)

If yem(i) > Max Then Max = yem(i)

If yem(i) < Min Then Min = yem(i)

If t(i) > Max Then Max = t(i)

If t(i) < Min Then Min = t(i)

Next i

Label5.Caption = Str(Max)

Label6.Caption = Str(Min)

dx = Picture1.Width - 1300

dy = Picture1.Height - 1000

kx = dx / (xk - x0)

ky = dy / (Max - Min)

For i = 1 To n

z1 = Round(720 + (x(i - 1) - x0) * kx)

z2 = Round(3960 - (ye(i - 1) - Min) * ky)

z3 = Round(720 + (x(i) - x0) * kx)

z4 = Round(3960 - (ye(i) - Min) * ky)

z5 = Round(3960 - (yem(i - 1) - Min) * ky)

z6 = Round(3960 - (yem(i) - Min) * ky)

z7 = Round(3960 - (t(i - 1) - Min) * ky)

z8 = Round(3960 - (t(i) - Min) * ky)

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

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

Picture1.Line (z1, z7)-(z3, z8)

Next i

End Sub

  1.  Проверка в пакете MathCad.

  1.  Форма программы

  1.  Заключение.

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

В своей курсовой работе я решал уравнение двумя методами: Эйлера(Рунге-Кутта первого порядка точности) и Эйлера модифицированный(Эйлера-Коши или метод Рунге-Кутта  второго порядка точности) и выяснил, что метод Эйлера модифицированный более точен, т.к. дает меньшую погрешность при вычислениях.

  1.  Литература

  1.  А.Ф.Грачев, В.В.Историна «Курсовой проект, курсовая и реферативная работа», методические указания.

  1.  Г.М.Финтенгольц  «Курс дифференциального и интегрального исчисления».

  1.  Н.В.Макарова учебник «Информатика».


 

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

25748. Анализ учетной (бухгалтерской) и экономической рентабельности 28.5 KB
  Исследование показателя прибыли во взаимосвязи с показателями выручки от продаж затрат активов собственного акционерного уставного капитала представляет возможность оценить эффективность деятельности организации привлечения дополнительного капитала и заемных средств. Показатели рентабельности прибыльности оценивают величину прибыли полученной с каждого рубля средств вложенных в активы и деятельность организации. затратоотдача или рентабельность основной деятельности определяется отношением прибыли от продаж к сумме затрат на...
25749. Анализ финансовой устойчивости 30 KB
  Абсолютными являются показатели характеризующих степень обеспеченности запасов источниками их формирования. Для характеристики источников формирования запасов определяют три основных показателя: 1. наличие долгосрочных источников формирования запасов определяется путем увеличения суммы собственных оборотных средств на сумму долгосрочных обязательств; 3. общая величина основных источников формирования запасов определяется путем увеличения предыдущего показателя на сумму краткосрочных кредитов и займов.
25750. Аудит денежных средств и расчетов с подотчетными лицами 32 KB
  № 4 Главная книга Журнал ордер № 7 синтетический аналитический учет Основанные задачи аудиторской проверки является Проверка соответствия лиц получающих наличные деньги из кассы на хозяйственные операции расходы со списком лиц имеющих на это право и утвержденному руководителем предприятия. Проверка получения подотчетных сумм денежных средств лицами не отчитавшимися за ранее полученному авансу в течение 3 дня Проверка соответствия фактических подотчетных сумм с целями на которые они были выданы Проверка подотчетных лиц на наличие в...
25751. Аудит кассовых операций 51 KB
  Цель аудита кассовых операций: установление соответствия применяемой в организации методики бух учета действующей в проверяемом периоде и нормативным документам. проверка своевременного и полного отражения в БУ операций с ДС при соблюдении требований законодательства 2. правильное документальное оформление операций с ДС контроль за сохранностью ДС документов в кассе 3.
25752. Аудит затрат на производство продукции (работ‚ услуг) 50.5 KB
  Методика и цели преследуемые при проведении аудита предполагают проверку надежности учетной информации; точности достоверности и полноты отражения отдельных элементов и статей затрат; выявления случаев нарушения достоверности общей калькуляции себестоимости товарной продукции и результатов хозяйственной деятельности; соблюдения требований вытекающих из специфики проверяемого хозяйствующего субъекта; ограничений учетного периода; оценку общей информации представленной в финансовой отчетности а также применение и раскрытие принципов...
25753. Аудит учета основных средств 29 KB
  проверка договоров и первичной документации их наличие и движении 2. проверка правильности оценки и переоценки ос 3. проверка полноты оприходования и правильности отражения в учет регистрах хоз операций по перемещению и выбытию 4. проверка соблюдений условий для отнесения имущества к оснк РФ пбу 601 классификатор 2.
25754. Аудит продажи и финансовых результатов деятельности организации 36 KB
  Положение по ведению бухгалтерского учета и бухгалтерской отчетности в РФ Приказ МФ РФ № 34н от 29 июля 1998 г. План счетов бухгалтерского учета и Инструкция по его применению Приказ МФ РФ № 94н от 31 октября 2000 г. Аудит учета финансовых результатов и их использования. Объектом проверки финансовых результатов является бухгалтерская прибыль убыток представляющая собой конечный финансовый результат выявленный за отчетный период на основании бухгалтерского учета всех хозяйственных операций организации и оценки статей бухгалтерского...
25755. Аудит кредитов 52.5 KB
  Задачи аудита кредитов займов и средств целевого финансирования: изучение кредитных договоров договоров залога договоров займа источников поступления средств целевого финансирования; оценка состояния синтетического и аналитического учета кредитов займов и средств целевого финансирования; изучение правомерного расходования средств кредитов займов целевого финансирования; установление правильности отражения на счетах бухгалтерского учета и в бухгалтерской отчетности кредитов займов и средств целевого финансирования; проверка...
25756. Аудит расчетов с бюджетом 32.5 KB
  Налоговая инспекция имеет право перепроверить правильность представленного аудиторами заключения в случаях если ею будет установлена недоброкачественность аудита приведшая к ущемлению интересов бюджета. Аудитору необходимо проверить: правильно ли исчислены налогооблагаемые базы; правильность исчисления прибыли переходного периода; правильно ли применены ставки налогов и платежей; своевременно ли и полностью уплачены платежи в бюджет; правильно ли и обоснованно применены льготы; правильно ли ведется аналитический и синтетический...