Примеры решения дифференциальных уравнений по эйлеру

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

Более общее уравнение Эйлера имеет вид:
.
Это уравнение подстановкой t = ax+b приводится к более простому виду, которое мы и будем рассматривать.

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

Рассмотрим уравнение Эйлера:
(1) .
Оно сводится к линейному уравнению с постоянными коэффициентами подстановкой:
x = e t .
Действительно, тогда
;
;
;

;
;
.

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

Решение однородного уравнения Эйлера

Рассмотрим однородное уравнение Эйлера:
(2) .
Ищем решение уравнения (2) в виде
.
;
;
.
.
Подставляем в (2) и сокращаем на x k . Получаем характеристическое уравнение:
.
Решаем его и получаем n корней, которые могут быть комплексными.

Рассмотрим действительные корни. Пусть ki – кратный корень кратности m . Этим m корням соответствуют m линейно независимых решений:
.

Рассмотрим комплексные корни. Они появляются парами вместе с комплексно сопряженными. Пусть ki – кратный корень кратности m . Выразим комплексный корень ki через действительную и мнимую части:
.
Этим m корням и m комплексно сопряженным корням соответствуют 2 m линейно независимых решений:
;
;
.
.

После того как получены n линейно независимых решений, получаем общее решение уравнения (2):
(3) .

Примеры

Решение неоднородного уравнения Эйлера

Рассмотрим неоднородное уравнение Эйлера:
.
Метод вариации постоянных (метод Лагранжа) также применим и к уравнениям Эйлера.

Сначала мы решаем однородное уравнение (2) и получаем его общее решение (3). Затем считаем постоянные функциями от переменной x . Дифференцируем (3) n – 1 раз. Получаем выражения для n – 1 производных y по x . При каждом дифференцировании члены, содержащие производные приравниваем к нулю. Так получаем n – 1 уравнений, связывающих производные . Далее находим n -ю производную y . Подставляем полученные производные в (1) и получаем n -е уравнение, связывающее производные . Из этих уравнений определяем . После чего интегрируя, получаем общее решение уравнения (1).

Пример

Неоднородное уравнение Эйлера со специальной неоднородной частью

Рассмотрим уравнение Эйлера со специальной неоднородной частью:
(4)
,
где – многочлены от степеней и , соответственно.

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

Автор: Олег Одинцов . Опубликовано: 14-08-2013 Изменено: 24-10-2020

Курсовая работа: Решение дифференциальных уравнений по методу Эйлера

Министерство образования Республики Беларусь

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра вычислительной математики и программирования

к курсовому проекту

« Решение дифференциальных уравнений по методу Эйлера »

2. Математическое объяснение метода

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

2.2 Исправленный метод Эйлера

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

3. Блок-схема алгоритма программы

4. Описание программы

Список использованной литературы

Приложение 1 (Текст программы)

Приложение 2 (Результаты работы программы)

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

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

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

2. Математическое объяснение метода

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

Решить дифференциальное уравнение у / =f(x,y) численным методом — это значит для заданной последовательности аргументов х0 , х1 …, хn и числа у0 , не определяя функцию у=F(x), найти такие значения у1 , у2 ,…, уn , что уi =F(xi )(i=1,2,…, n) и F(x0 )=y0 .

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

У=F(x) получить таблицу значений этой функции для заданной последовательности аргументов. Величина h=xk -xk-1 называется шагом интегрирования.

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

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

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

Требуется найти решение уравнения (1) на отрезке [а,b].

Разобьем отрезок [a, b] на n равных частей и получим последовательность х0 , х1 , х2 ,…, хn , где xi =x0 +ih (i=0,1,…, n), а h=(b-a)/n-шаг интегрирования.

В методе Эйлера приближенные значения у(хi )»yi вычисляются последовательно по формулам уi +hf(xi , yi ) (i=0,1,2…).

При этом искомая интегральная кривая у=у(х), проходящая через точку М00 , у0 ), заменяется ломаной М0 М1 М2 … с вершинами Мi (xi , yi ) (i=0,1,2,…); каждое звено Мi Mi+1 этой ломаной, называемой ломаной Эйлера, имеет направление, совпадающее с направлением той интегральной кривой уравнения (1), которая проходит через точку Мi , смотри рисунок 1.

Если правая часть уравнения (1) в некотором прямоугольнике R<|x-x0 |£a, |y-y0 |£b>удовлетворяет условиям:

|df/dx|=|df/dx+f(df/dy)| £ M (M=const),

то имеет место следующая оценка погрешности:

где у(хn )-значение точного решения уравнения(1) при х=хn , а уn — приближенное значение, полученное на n-ом шаге.

Формула (3) имеет в основном теоретическое применение. На практике иногда оказывается более удобным двойной просчет : сначала расчет ведется с шагом h, затем шаг дробят и повторный расчет ведется с шагомh/2. Погрешность более точного значения уn * оценивается формулой

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

2.2 Исправленный метод Эйлера

В исправленном методе Эйлера мы находим средний тангенс наклона касательнй для двух точек: xm , ym и xm +h, ym +hy’m . Последняя точка есть та самая, которая в простом методе обозначалась xm+1 , ym+1 . Геометрический процесс нахождения точки xm+1 , ym+1 можно проследить по рисунку 2. С помощью метода Эйлера находится точка xm +h, ym +hy’m, лежащая на прямой L1. В этой точке снова вычисляется тангенс угла наклона касательной, на рисунке этому значению соответствует прямая L2 . Усреднение двух тангенсов дает прямую L’3 . Наконец, через точку xm , ym мы проводим прямую L3 параллельную L’3 . Точка, в которой прямая L3 пересечется с ординатой, восстановленной из x= xm+1 =xm +h, и будет искомой точкой y= ym+1 = ym +hy’m . Тангенс угла наклона L3 равен:

Уравнение линии L3 при этом записывается в виде:

Соотношения 5, 6, 7 и 8 описывают исправленный метод Эйлера. (рис. 2)

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

Этот метод более точен. Рассмотрим дифференциальное уравнение (1) с начальным условием y(x0 )=y0 . Разобьем наш участок интегрирования на n равных частей. На малом участке [x0 ,x0 +h] интегральную кривую заменимпрямой линией. Получаем точкуМккк ). (рис. 3)

Название: Решение дифференциальных уравнений по методу Эйлера
Раздел: Рефераты по математике
Тип: курсовая работа Добавлен 20:43:28 26 декабря 2010 Похожие работы
Просмотров: 1331 Комментариев: 21 Оценило: 3 человек Средний балл: 5 Оценка: неизвестно Скачать

Nk / y=y(x)

Мк Мк /

Yk+1

Yk

хк хк1/2 xk+h =xk1 X

Получаем точку Nk / . В этой точке строим следующую касательную:

Из точки Мк проводим прямую с угловым коэффициентом αк и определяем точку пересечения этой прямой с прямой xк1 . Получаем точку Мк / . В качестве ук+1 принимаем ординату точки Мк / . Тогда:

Эти формулы называются рекуррентными формулами метода Эйлера.

Сначала вычисляют вспомогательные значения искомой функции yк+1/2 в точках xк+1/2 , затем находят значение правой части уравнения (1) в средней точке

3. Блок-схема алгоритма

где A — начальное значение x, B — конечное значение x, F(x) — значение функции в точке xn , N — количество промежутков, st – выбор операции, C1,C2,C3 – константы для формул, nom — сохраняет номер используемой функции.

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

Подсчитывая каждый раз новое значение уравнения F(x), получаем последовательность значений xn yn , n=1,2,…

По этим значениям строим график.

4. Описание программы

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

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

После запуска программы нужно выбрать Formyla -> Enter, эта опция позволит из предложенного списка формул выбрать одну, по которой компьютер будет производить расчет и строить график. Все предложенные формулы имеют номерацию; чтобы выбрать интересующий вас пример нажмите на цифру равную номеру примера, и сразу же появится новое окно, в котором сверху будет записан ваш пример. Также в окне будет этот же пример но с нулями на месте констант. Под примером будет высвечена большая буква С, это используется для ввода констант. Для этого вам нужно нажать номер константы, он появится, и после знака равно запишите чему она равна (вводятся целые и вещественные значения). По окончании набора нажать Enter. Операцию повторять пока не будут введены все числа. По окончании нажать Esc. После появится строчка «уточните границы изменения Х, от A= до B= » здесь нужно занести данные на каком промежутке абсциссы будет рассматриваться функция. Следующая строчка попросит ввести начальные данные y(A)=. Следующей строчкой будет вопрос: «сохранить данные в файле? Да/Нет» ответить на этот вопрос с помощью клавиш Д и Н (рус), после чего программа вернется в первоначальное меню. Если данные были сохранены (в папке с программой появляется файл form.txt), то в следующий раз чтобы не набирать снова выберите в меню опцию Formyla -> Open in fails и на экране появятся введенные данные с пометкой снизу, сообщая что данные были прочитаны из файла.

Следующая опция Reshenie. После нажатия в окне просят ввести N(целое число) – число промежутков, на которые разделится рассматриваемый участок (ось ОХ). После появится таблица рассчитанных данных (номер точки, значение абсциссы, значение ординаты). При нажатии любой клавиши произойдет переход в меню.

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

Опция Exit применяется для выхода из программы.

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

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

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

Список использованной литературы

1. Д. Мак-Кракен, У. Дорн. Численные методы и программирование на фортране. –М.: Мир,1977.-389,396-408 с.

2. А.А. Самарский. Введение в численные методы. – М.:Наука,1987.-176 с.

3. Алгоритмы вычислительной математики: Лабораторный практикум по курсу «Программирование» для студентов 1 — 2-го курсов всех специальностей БГУИР/А.К. Синицын, А.А. Навроцкий.- Мн.: БГУИР, 2002.- 65-69 с.

4. ГОСТ 2.105-95. Общие требования к текстовым документам.

5. ГОСТ 7.32-91. Система стандартов по информации, библиотечному и издательскому делу. Отчет о НИР. Структура и правила оформления.

Приложение 1. Текст программы.

void formyl(int p)

if(p==1) printf(«\n 1. C1*y’ = C2*y + C3*x + C4*x*y»);

else if(p==2) printf(«\n 2. y’/(C1-100) = C2*y + C3*x + (C4+x)*y»);

else if(p==3) printf(«\n 3. pow(e,C1)*y’ = C2*y + C3*cos(x) + (C4+x+y)»);

else if(p==4) printf(«\n 4. C1*sin(x)*y’ = e*C2*y + C3*arcsin(x) + C4*y/x»);

else if(p==5) printf(«\n 5. C1*y’ = sin(C2)*y + tg(C3*x) + C4*ln(x)*y»);

else if(p==6) printf(«\n 6. C1*y’ = y*C2 + C3*sin(x) + C4*cos(x)*y»);

else if(p==7) printf(«\n 7. (C1+C2+C3+C4)*y’ = C2*y + (C3-x) + lg(C4*x)*y»);

else if(p==8) printf(«\n 8. y’/C1 = y/C2 + C3*sin(x) + C4*x*y»);

else if(p==9) printf(«\n 9. sin(C1)*y’ = C2*y + |C3|*x + x*y/C4»);

void formyl2(int p,double C1,double C2,double C3,double C4)

else if(p==2) printf(«y’/(%.2f-100)=%.2f*y+%.2f*x+(%.2f+x)*y»,C1,C2,C3,C4);else if(p==3) printf(«pow(e,%.2f)*y’=%.2f*y+%.2f*cos(x)+(%.2f+x+y)»,C1,C2,C3,C4);

else if(p==4) printf(«%.2f*sin(x)*y’=e*%.2f*y+%.2f*arcsin(x)+%.2f*y/x»,C1,C2,C3,C4);

else if(p==5) printf(«%.2f*y’=sin(%.2f)*y+tg(%.2f*x)+%.2f*ln(x)*y»,C1,C2,C3,C4);

else if(p==6) printf(«%.2f*y’=y*%.2f+%.2f*sin(x)+%.2f*cos(x)*y»,C1,C2,C3,C4);

else if(p==8) printf(«y’/%.2f=y/%.2f+%.2f*sin(x)+%.2f*x*y»,C1,C2,C3,C4);

else if(p==9) printf(«sin(%.2f)*y’=%.2f*y+|%.2f|*x+x*y/%.2f»,C1,C2,C3,C4);

double formyl3(int p,double h,double x,double y,double C1,double C2,double C3,double C4)

else if(p==2) Y=h*(C1-100)*(y*C2+C3*x+(C4+x)*y)+y;

else if(p==3) Y=h*(C2*y+C3*cos(x)+C4+x+y)/exp(C1)+y;

else if(p==4) Y=h*(exp(1)*C2*y+C3*asin(x)+C4*y/x)/(C1*sin(x))+y;

else if(p==5) Y=h*(sin(C2)*y+tan(C3*x)+C4*log10(x)*y)/C1+y;

else if(p==6) Y=h*(y*C2+C3*sin(x)+C4*cos(x)*y)/C1+y;

else if(p==7) Y=h*(C2*y+(C3-x)+log10(C4*x)*y)/(C1+C2+C3+C4)+y;

else if(p==8) Y=h*(y/C2+C3*sin(x)+C4*x*y)*C1+y;

else if(p==9) Y=h*(C2*y+abs(C3)*x+x*y/C4)/sin(C1)+y;

int vv=0,vv1=0; // руководит операциями

int N=0,W; // кол промежутков

int i,j,k; // используются во всех «for»

int nom; // номер примера

int st=4,vst=0; // строчка в меню

double C1,C2,C3,C4; // константы

double M; // масштаб

double xtoch,ytoch; // считает y(x) по графику

double A=0,B=0,ii,jj,kk; // пределы интегрирования

double x[102],y[102]; // главные переменные x,y

int g_driver=9,g_mode=2, g_error;

printf(«\n error=%d, reason=%s\n», g_error, grapherrormsg(g_error));

Дифференциальное уравнение Эйлера

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

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

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

Функция , стоящая под знаком интеграла, зависит от трех аргументов . Будем считать ее определенной и дважды непрерывно дифференцируемой по аргументу для всех значений, по аргументам же и — в некоторой области плоскости . Ниже предполагается, что мы всегда будем находиться внутри этой области.

Под понимается некоторая функция от

непрерывно дифференцируемая на отрезке , и есть производная от нее.

Геометрически функцию можно изобразить в плоскости некоторой линией , лежащей над отрезком (рис. 3).

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

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

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

1) функция непрерывно дифференцируема на отрезке ;

2) на концах отрезка функция принимает заданные наперед значения

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

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

Рассмотрим семейство функций, зависящее от численного параметра

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

Интеграл (9), вычисленный для , будет некоторой функцией параметра

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

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

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

и придать условию (14) другую форму

Может быть доказана следующая простая лемма.

Пусть выполняются условия:

1) функция непрерывна на отрезке ;

2) функция непрерывно дифференцируема на отрезке и на концах отрезка обращается в нуль.

Если при любой такой функции интеграл равен нулю, то отсюда следует, что .

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

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

Всегда можно построить функцию , непрерывно дифференцируемую на , положительную на и равную нулю всюду вне (рис. 4).

Такой будет, например, , определенная равенствами

Но для такой функции

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

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

или после вычисления производной по переменной

Равенство это является дифференциальным уравнением 2-го порядка относительно функции . Оно называется уравнением Эйлера .

Мы можем сделать следующее заключение.

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

Сами решения уравнения (17) обладают тем свойством, что производная

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

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

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

Их нужно определить так, чтобы интегральная кривая проходила через точки и , что доставляет два уравнения для нахождения постоянных и

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

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

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

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

Пример . Ранее было установлено, что [url]задача о линии наискорейшего ската[/url] может быть приведена к нахождению минимума интеграла

на множестве функций, удовлетворяющих граничным условиям .


источники:

http://www.bestreferat.ru/referat-238024.html

http://mathhelpplanet.com/static.php?p=differentsialnoe-uravnenie-eilera