Дифференциальное уравнение Эйлера и методы его решения
Более общее уравнение Эйлера имеет вид:
.
Это уравнение подстановкой 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
Курсовая работа: Решение дифференциальных уравнений по методу Эйлера
Название: Решение дифференциальных уравнений по методу Эйлера Раздел: Рефераты по математике Тип: курсовая работа Добавлен 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