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

Приближенное решение дифференциальных уравнений первого порядка методом Эйлера. Рассмотрение основных причин погрешностей решения задач. Реализация алгоритма с помощью языка программирования C# и компьютерной программы Microsoft Visual Studio 2005.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 03.09.2012
Размер файла 294,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Курсовая работа

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

Содержание

  • введение
  • 1. чИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
    • 1.1 Метод Эйлера
    • 1.2 Погрешности численных методов
  • 2. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ первого порядка МЕТОДОМ ЭЙЛЕРА
    • 2.1 Реализация алгоритма
    • 2.2 Оценка сходимости
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • Приложение
  • введение
  • дифференциальный уравнение эйлер погрешность программирование
  • Актуальность исследования: уравнение F(x,u,u',…,u(n))=0 называется обыкновенным дифференциальным n-го порядка, если F определена и непрерывна в некоторой области G=Rn+2(n?1) и, во всяком случае, зависит от u(n). Его решением является любая функция u(x), которая этому уравнению удовлетворяет при всех x в определённом конечном или бесконечном интервале. Дифференциальное уравнение, разрешенное относительно старшей производной имеет вид un=f(x,u,…,u(n-1)). Решением этого уравнения на интервале I=[a,b] называется функция u(x).
  • Решить дифференциальное уравнение y'=f(x,y) численным методом - это значит для заданной последовательности аргументов х0, х1…, хn и числа у0, не определяя функцию у=F(x), найти такие значения у1, у2,…, уn, что уi=F(xi)(i=1,2,…, n) и F(x0)=y0.
  • Таким образом, численные методы позволяют вместо нахождения функции y=F(x) получить таблицу значений этой функции для заданной последовательности аргументов. Величина h=xk-xk-1 называется шагом интегрирования.
  • Метод Эйлера относиться к численным методам, дающим решение в виде таблицы приближенных значений искомой функции у(х). Он является сравнительно грубым и применяется в основном для ориентировочных расчетов. Однако идеи, положенные в основу метода Эйлера, являются исходными для ряда других методов.
  • Метод Эйлера для обыкновенных дифференциальных уравнений используется для решений многих задач естествознания в качестве математической модели.
  • Научная проблема: решение дифференциального уравнения первого порядка методом Эйлера занимает много времени, создание программы позволит сократить время решения.
  • Тема исследования: оценка сходимости метода Эйлера для решения дифференциальных уравнений первого порядка.
  • Цель исследования: оценить сходимость результатов решения при программной реализации метода Эйлера.
  • Задачи исследования:
  • - анализ решения методом Эйлера;
  • - оценка погрешности численных методов;
  • - реализовать алгоритм;
  • - оценить сходимость метода.
  • Объект исследования: метод Эйлера
  • Предмет исследования: варианты сходимости метода Эйлера и основные формулы для решения дифференциального уравнения.
  • Исследовательская процедура: монографическая исследовательская процедура.
  • Методы исследования: анализ, синтез, моделирование.
  • Тип исследования: прикладное исследование, разработка.
  • Практическая значимость: возможность получения результата решения дифференциального уравнения методом Эйлера в наименьшие сроки.
  • 1. чИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

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

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

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

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

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

Уравнение вида

F(x,y,y') = 0,(1)

где х -- независимая переменная; у -- искомая функция; у' -- ее производная, называется дифференциальным уравнением первого порядка.

Если уравнение (1) можно разрешить относительно у', то оно принимает вид

y' = f(x,y)(2)

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

В некоторых случаях уравнение (2) удобно записать в виде f (х, у) dх - dy = 0, являющемся частным случаем более общего уравнения

P(x,y)dx+Q(x,y)dy=O,(3)

где Р(х,у) и Q(х,у) -- известные функции. Уравнение в симметричной форме (3) удобно тем, что переменные х и у в нем равноправны, т. е. каждую из них можно рассматривать как функцию другой.

Дадим два основных определения общего и частного решения уравнения.

Общим решением уравнения (2) в некоторой области G плоскости Оху называется функция у=ц(х,С), зависящая от х и произвольной постоянной С, если она является решением уравнения (2) при любом значении постоянной С, и если при любых начальных условиях yx=x0=y0 таких, что (x0;y0)=G, существует единственное значение постоянной С = С0 такое, что функция у=ц(х,С0) удовлетворяет данным начальным условиям у=ц(х0,С).

Частным решением уравнения (2) в области G называется функция у=ц(х,С0), которая получается из общего решения у=ц(х,С) при определенном значении постоянной С=С0.

Геометрически общее решение у=ц(х,С) представляет собой семейство интегральных кривых на плоскости Оху, зависящее от одной произвольной постоянной С, а частное решение у=ц(х,С0) -- одну интегральную кривую этого семейства, проходящую через заданную точку (х0; у0).

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

y'=f(x,y)

и начальные условия y|x=x0=y0.

Найдем приближенно решение уравнения на отрезке [х0,b], удовлетворяющее заданным начальным условиям.

Разобьем отрезок [х0,b] точками х01,<х2<...<хn=b на n равных частей. Пусть х1--х02 -- x1= ... =xn -- xn-1= ?x. Обозначим через yi приближенные значения искомого решения в точках хi (i=1, 2, ..., n). Проведем через точки разбиения хi- прямые, параллельные оси Оу, и последовательно проделаем следующие однотипные операции.

Подставим значения х0 и у0 в правую часть уравнения y'=f(x,y) и вычислим угловой коэффициент y'=f(x0,y0) касательной к интегральной кривой в точке (х00). Для нахождения приближенного значения у1 искомого решения заменяем на отрезке [х0,x1,] интегральную кривую отрезком ее касательной в точке (х00). При этом получаем

y1 - y0=f(x0;y0)(x1 - x0),

откуда, так как х0, х1, у0 известны, находим

y1 = y0+f(x0;y0)(x1 - x0).

Подставляя значения х1 и y1, в правую часть уравнения y'=f(x,y), вычисляем угловой коэффициент y'=f(x1,y1) касательной к интегральной кривой в точке (х1;y1). Далее, заменяя на отрезке [x12] интегральную кривую отрезком касательной, находим приближенное значение решения у2 в точке х2:

y2 = y1+f(x1;y1)(x2 - x1)

В этом равенстве известными являются х1, у1, х2, а у2 выражается через них.

Аналогично находим

y3 = y2+f(x2;y2) ?x, …, yn = yn-1+f(xn-1;yn-1) ?x

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

yi = yi-1+f(xi-1;yi-1) ?x (i=1,2, …, n).

Формула и является основной расчетной формулой метода Эйлера. Ее точность тем выше, чем меньше разность ?x.

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

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

1.2 Погрешности численных методов

Погрешность решения задачи обуславливается следующими причинами:

1) математическое описание задачи является неточным, в частности неточно заданы исходные данные описания;

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

3) при вводе данных в машину, при выполнении арифметических операций и при выводе данных производятся округления.

Погрешности, соответствующие этим причинам, называют:

1) неустранимой погрешностью,

2) погрешностью метода,

3) вычислительной погрешностью.

Часто неустранимую погрешность подразделяют на две части:

а) неустранимой погрешностью называют лишь погрешность, являющуюся следствием неточности задания числовых данных, входящих в математическое описание задачи;

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

Иллюстрация этих определений приведена на следующем примере. Имеется маятник, начинающий движение в момент t -- t0. Требуется предсказать угол отклонения ц от вертикали в момент t1.

Дифференциальное уравнение, описывающее колебание этого маятника, берется в виде

l(d2ц/dt2)+gsinц+ м(dц/dt)=0(1)

где l -- длина маятника, g-- ускорение силы тяжести, м -- коэффициент трения.

Как только принимается такое описание задачи, решение уже приобретает неустранимую погрешность, в частности, потому, что реальное трение зависит от скорости не совсем линейно; другой источник неустранимой погрешности состоит в погрешностях определения м, t0, ц(t0), ц'(t0). Название этой погрешности -- "неустранимая" -- соответствует ее существу: она неконтролируема в процессе численного решения задачи и может уменьшиться только за счет более точного описания физической задачи и более точного определения параметров. Дифференциальное уравнение (1) не решается в явном виде, для его решения требуется применить какой либо численный метод. Вследствие этой причины и возникает погрешность метода.

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

Пусть I -- точное значение отыскиваемого параметра (в данном случае -- реальный угол отклонения маятника ц в момент времени t1), I -- значение этого параметра, соответствующее принятому математическому описанию (в данном случае -- значение ц(t1) решения уравнения (1)), Ih -- решение задачи, получаемое при реализации численного метода в предположении отсутствия округлений, I*h -- приближение к решению задачи, получаемое при реальных вычислениях. Тогда

с1=I - I - неустранимая погрешность,

с2=Ih - I - погрешность метода,(2)

с3=I*h - Ih - вычислительная погрешность.

Полная погрешность с0 = I*h - I, равная разности между реально получаемым и точным решениями задачи, удовлетворяет равенству

с0= с123.(3)

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

с0=|I*h - I|, с1=|I - I|, с2=|Ih - I|, с3=|I*h - Ih|;

при таких обозначениях вместо (3) получаем

с0123.(4)

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

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

2. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ первого порядка МЕТОДОМ ЭЙЛЕРА

2.1 Реализация алгоритма

Решение дифференциальных уравнений методом Эйлера будет реализовано с помощью языка программирования C#.

Перечень возможностей Visual Studio, благодаря которым эта система является наиболее привлекательным средством разработки:

1) Visual Studio автоматически выполняет все шаги, необходимые для компиляции исходного кода, и одновременно позволяет управлять всеми используемыми опциями, если мы пожелаем их переопределить.

2) Текстовый редактор Visual Studio настроен для работы с теми языками, которые поддерживаются Visual Studio (включая С#), поэтому он может интеллектуально обнаруживать ошибки и подсказывать в процессе ввода, какой именно код необходим.

3) В состав Visual Studio входят программы, позволяющие создавать приложения в Windows Forms и Web Forms путем простого перетаскивания мышью элементов пользовательского интерфейса.

4) Многие типы проектов, создание которых возможно на С#, могут разрабатываться на основе "каркасного" кода, заранее включаемого в программу. Вместо того чтобы каждый раз начинать с нуля, Visual Studio позволяет использовать уже имеющиеся файлы с исходным кодом, что уменьшает временные затраты на создание проекта.

5) В состав Visual Studio входит несколько вспомогательных программ, которые позволяют автоматизировать выполнение наиболее распространенных задач; причем многие из этих программ могут добавлять необходимый код в уже существующие файлы, так что программисту не придется беспокоиться (а в некоторых случаях и вообще вспоминать) о соблюдении синтаксических правил.

6) Visual Studio имеет большое количество мощных инструментов, благодаря которым можно просматривать отдельные элементы проекта или осуществлять в них поиск, независимо от того, являются ли эти элементы файлами с кодами на языке С# или представляют собой какие-либо иные ресурсы, например, двоичные графические или звуковые файлы.

7) Распространять приложения в Visual Studio столь же просто, как и писать их: Visual Studio облегчает передачу кода клиентам и позволяет им инсталлировать его без каких-либо проблем.

8) Visual Studio допускает использование совершенных методов отладки при разработке проектов: например, пошаговое выполнение кода, когда выполняется один оператор за раз, что дает возможность следить за текущим состоянием приложения.

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

Блок схема состоит из семи блоков, которые включают основные действия, выполняемые при реализации алгоритма решения.

Первый и последний блоки это начало и конец программы, стандартное условие для создания любой блок схемы. Затем осуществляется ввод переменных используемых в программе. После чего выполняется промежуточное действие, которое находит интервал повторений. Потом создается цикл программы i = 1, n. В этом цикле выполняются основные действия для реализации алгоритма решения дифференциального уравнения методом Эйлера, то есть нахождение Xi и Yi. Когда эти переменные найдены, осуществляется их вывод и выход из программы.

Реализация алгоритма выполняется с помощью программы Microsoft Visual Studio 2005. Создается консольное приложение, в котором стандартно выводится следующее:

using System;

using System.Collections.Generic;

using System.Text;

namespace metod_Eulera

{

class Program

{

static void Main(string[] args)

{

}

}

}

Первым что выполняется в программе это объявление переменных используемых в ней, их будет два вида double и int.

double h, Xi, Yi, Xkon, kx, ky, n;

int i;

где h - промежуток интервала повторения, Xi и Yi - конечные результаты которые надо получить, Xkon - конечное зачение интервала [a,b], kx - коэффициент при x, ky - коэффициент при y, n - число повторений при выполнении функции.

После объявления переменых осуществляется ввод переменых, они будут вводится с клавиатуры, это происходит следующим образом:

Console.WriteLine("Введите начальное значение интервала [a,b] a =");

Xi = Convert.ToDouble (Console.ReadLine());

Console.WriteLine("Введите конечное значение интервала [a,b] b =");

Xkon = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите число шагов =");

n = Convert.ToDouble(Console.ReadLine());

h = (Xkon - Xi) / n;

Console.WriteLine("Введите начальное условие y=");

Yi = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите коэффициент при x=");

kx = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите коэффициент при y=");

ky = Convert.ToDouble(Console.ReadLine());

С помощью программного кода Console.WriteLine будет появлятся надпись в которой указывается какую переменную надо ввести с клавиатуры. Затем указывается сама переменная, которая использется, после чего она конвертируется, то есть Xi = Convert.ToDouble (Console.ReadLine()).

Когда переменные объявлены и введены выполняется следующее действие

h = (Xkon - Xi) / n;

Эта формула находит фиксированное приращение аргумента при x.

Затем организуется цикл for. Он относится к тому типу циклов, которые выполняются заранее заданное количество, раз и сами отвечают за организацию счетчика цикла. Для организации цикла for требуется следующая информация:

1) Начальное значение для инициализации переменной цикла;

2) Условие для продолжения выполнения цикла, зависящее от переменной цикла;

3) Операция, которая будет выполняться над переменной цикла по завершении очередного прохода цикла.

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

for (i = 1; i <= n; i++)

Цикл с шагом 1 и конечным значением, не превышающим количество шагов, который высчитывает значение y на определённом интервале, где i=1- начальное значение переменной цикла; i<=n - условие для выплолнения цикла; i++ - после прохождения цикла будет присваиваться переменной 1.

В этом цикле выполняются основные операции, которые и являются решением дифферениального уравнения первого порядка методом Эйлера.

Yi = kx*Yi + ky*(Yi+Xi)* h;

Xi = Xi + h;

где Yi - формула решения дифференциального уравнения методом Эйлера.

После нахождения Xi, Yi результат выводится с помощью программного кода:

Console.WriteLine("Интервал x={0}", Xi);

Console.WriteLine("Результат y={0}", Yi);

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

2.2 Оценка сходимости

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

Найти приближенное при х = 1 значение решения уравнения

y'=2x+y

удовлетворяющего начальному условию: при x0= 0, у0=0.

Решение: Разделим отрезок [0, 1] на 10 частей точками x0=0; 0,1; 0,2; ...; 1,0. Следовательно, h = 0,1. Значения y1, у2, ..., уn, будем искать по формуле:

?yk=(yk+xk)*h

Или

yk+1=yk+(yk+xk)*h

Таким образом, получаем:

у1 = 1 + (1 + 0). 0,1 = 1+0,1 = 1,1,

у2 = 1,1 + (1,1 +0,1).0,1== 1,21,

В процессе решения составляем таблицу:

xk

yk

x0=0

y0=1,000

x1=0,1

y1=1,100

x2=0,2

y2=1,220

x3=0,3

y3=1,362

x4=0,4

y4=1,524

x5=0,5

y5=1,716

x6=0,6

y6=1,938

x7=0,7

y7=2,191

x8=0,8

y8=2,471

x9=0,9

y9=2,800

x10=1,0

y10=3,170

Мы нашли приближенное значение уx=1 = 3,1703. Точное решение данного уравнения, удовлетворяющее указанным начальным условиям, будет

у = 2ех - х - 1.

уx=1 = 2 * (е - 1)= 3,4365.

Абсолютная погрешность: 0,2662; относительная погрешность: 0,077=8%. По результатам программы можно составить таблицу сравнения результатов полученных при использовании программы и результатов, полученных ручным способом.

Ручной способ вычисления

Программный способ вычисления

xk

yk

xk

yk

x0=0

y0=1,000

x0=0

y0=1,0

x1=0,1

y1=1,100

x1=0,1

y1=1,1

x2=0,2

y2=1,220

x2=0,2

y2=1,22

x3=0,3

y3=1,362

x3=0,3

y3=1,362

x4=0,4

y4=1,524

x4=0,4

y4=1,5282

x5=0,5

y5=1,716

x5=0,5

y5=1,72102

x6=0,6

y6=1,938

x6=0,6

y6=1,943122

x7=0,7

y7=2,191

x7=0,7

y7=2,1974342

x8=0,8

y8=2,471

x8=0,8

y8=2,48717762

x9=0,9

y9=2,800

x9=0,9

y9=2,815895352

x10=1,0

y10=3,170

x10=1,0

y10=3,1874849202

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

ЗАКЛЮЧЕНИЕ

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

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

yi = yi-1+f(xi-1;yi-1) ?x (i=1,2, …, n).

Формула и является основной расчетной формулой метода Эйлера. Ее точность тем выше, чем меньше разность ?x.

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

Погрешность решения задачи обуславливается следующими причинами:

1) математическое описание задачи является неточным, в частности неточно заданы исходные данные описания;

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

3) при вводе данных в машину, при выполнении арифметических операций и при выводе данных производятся округления.

Решение дифференциальных уравнений методом Эйлера будет реализовано с помощью языка программирования C#.

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

Точность вычисления данного метода зависит от количества выбранных шагов: чем больше шагов, тем меньше фиксированное приращение, и, следовательно, она более точно вычисляет значение всего интервала.

Таким образом, поставленные цели и задачи для написания курсовой работы полностью раскрыты. Метод Эйлера успешно реализован на языке программирования С#, с помощью программы разработки консольных приложений Microsoft Visual Studio 2005.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Бахвалов II. С. Численные методы.-- М.: Наука, 1975.

2. Березия И. С, Ж и д к о в Н. П. Методы вычислений -- М.: Наука, 1966, ч.1.

3. Буч, Г. Объектно-ориентированный анализ и проектирование, 2-е изд./ Пер. с англ. - М.: "Издательство Бином", 1998. - 560 с.

4. Воеводин В. В. Численные методы алгебры; теория и алгорифмы.-- М.: Наука, 1966.

5. Годуиов С. К., Рябенький В. С. Разностные схемы.-- М.: Наука, 1977.

6. Калитки и Н. И. Численные методы. -- М.: Наука, 1978.

7. Ляшко И. П., Макаров В. Л., Скоробогатько А. Л. Методы вычислений.-- Киев; Высшая школа, 1977,

8. Марчук, Г. И. Методы вычислительной математики. -- М.: Наука, 1980.

9. Фихтенгольц, Г.М. Курс дифференциального и интегрального исчесления. - М.: Физматгиз, 1963.

10. Шипачев, В.С. Высшая математика: учеб. для немат. спец. вузов/ Под ред. акад. А.Н. Тихонова, 2-е изд. стер. - М.: Высш. шк., 1990. - 479 с.

Приложение

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

using System;

using System.Collections.Generic;

using System.Text;

namespace metod_Eulera

{

class Program

{

static void Main(string[] args)

{

double h, Xi, Yi, Xkon, kx, ky, n;

int i;

Console.WriteLine("Введите начальное значение интервала [a,b] a =");

Xi = Convert.ToDouble (Console.ReadLine());

Console.WriteLine("Введите конечное значение интервала [a,b] b =");

Xkon = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите число шагов =");

n = Convert.ToDouble(Console.ReadLine());

h = (Xkon - Xi) / n;

Console.WriteLine("Введите начальное условие y=");

Yi = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите коэффициент при x=");

kx = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите коэффициент при y=");

ky = Convert.ToDouble(Console.ReadLine());

for (i = 1; i <= n; i++)

{

Yi = kx*Yi + ky*(Yi+Xi)* h;

Xi = Xi + h;

Console.WriteLine("Интервал x={0}", Xi);

Console.WriteLine("Результат y={0}", Yi);

}

Console.ReadLine();

}

}

}

Размещено на allbest.ru


Подобные документы

  • Обзор методов решения в Excel. Рекурентные формулы метода Эйлера. Метод Рунге-Кутта четвертого порядка для решения уравнения первого порядка. Метод Эйлера с шагом h/2. Решение дифференциальных уравнений с помощью Mathcad. Модифицированный метод Эйлера.

    курсовая работа [580,1 K], добавлен 18.01.2011

  • Принцип и значение метода Эйлера для расчета дифференциальных уравнений. Анализ его геометрического смысла. Улучшение метода за счет аппроксимации производной. Разработка блок-схем и программы на языке Turbo Pascal для проверки методов интегрирования.

    курсовая работа [385,7 K], добавлен 15.06.2013

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

    курсовая работа [226,6 K], добавлен 05.04.2013

  • Обыкновенное дифференциальное уравнение первого порядка. Задача Коши, суть метода Рунге-Кутта. Выбор среды разработки. Программная реализация метода Рунге-Кутта 4-го порядка. Определение порядка точности метода. Применение языка программирования C++.

    курсовая работа [163,4 K], добавлен 16.05.2016

  • Численный метод для решения однородного дифференциального уравнения первого порядка методом Эйлера. Решение систем дифференциальных уравнений методом Рунге–Кутта. Решение краевой задачи. Уравнения параболического типа, а также Лапласа и Пуассона.

    курсовая работа [163,5 K], добавлен 27.05.2013

  • Суть метода Рунге-Кутта и его свойства. Решение дифференциальных уравнений первого порядка. Вычислительный блок Given/Odesolve. Встроенные функции rkfixed, Rkadapt, Bulstoer. Решения линейных алгебраических уравнений в среде MathCad и Microsoft Excel.

    курсовая работа [1,1 M], добавлен 02.06.2014

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

    курсовая работа [1,9 M], добавлен 05.01.2013

  • Математическая постановка задачи. Алгоритм решения системы обыкновенных дифференциальных уравнений методом Эйлера. Параметры программы, ее логическая структура и функциональное назначение. Анализ входных и выходных данных. Описание тестовых задач.

    курсовая работа [38,0 K], добавлен 26.04.2011

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

    курсовая работа [1,2 M], добавлен 17.08.2013

  • Анализ предметной области объектно-ориентированного программирования. Языки Delphi, Object Pascal - объектно-ориентированная среда программирования. Основные алгоритмические решения. Решение дифференциального уравнения методом Рунге-Кутта в среде Excel.

    курсовая работа [1,5 M], добавлен 02.04.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.