WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 |   ...   | 3 | 4 ||

Как же все-таки выяснить, может ли быть решено аналитически то или иное дифференциальное уравнение Для этого нужно ответить на ряд вопросов:

принадлежит ли оно к «решаемому» типу можно ли понизить его порядок и как с какими интегралами придется иметь дело в процессе преобразований и т.д. За последние годы издано большое число справочной литературы по обыкновенным дифференциальным уравнениям, но она, во-первых, не всегда оказываются под рукой, а, во-вторых, найти в ней нужное уравнение и провести с ним необходимые преобразования тоже не всегда просто. С другой стороны, в настоящее время рабочим инструментом любого исследователя (инженера, научного работника, студента) стал компьютер. Естественно ожидать, что компьютерные методы, в частности, могут быть использованы и при решении дифференциальных уравнений. Конечно, для этого нужно установить соответствующее программное обеспечение. Одним из наиболее удобных и мощных пакетов символьной математики, хотя, быть может и не самым распространенным, на наш взгляд является компьютерная система “Mathematica”, созданная в начале 90-х годов под руководством С. Вольфрама (S.Wolfram). Не вдаваясь в споры о преимуществах того или иного математического пакета, познакомимся с тем, как система “Mathematica” справляется с задачей решения обыкновенных дифференциальных уравнений.

Пусть дифференциальное уравнение имеет вид f (x, y, y ) = 0 (#) Для его решения в системе “Mathematica” существует команда:

DSolve[eqn, y[x], x] где eqn представляет собой запись уравнения (#) в соответствующих обозначениях. Так для примера 1, рассмотренного в первом занятии, y = e- y sin x (1) запись в системе “Mathematica” выглядит следующим образом:

eq1=DSolve[y'[x]==E^(-y[x])Sin[x],y[x],x] (2) (Вполне понятная форма обозначений!) Отметим некоторые особенности записи (2):

а) использование знака == (двойное равенство) нужно для того, чтобы отличить уравнение от оператора присваивания;

б) искомая функция y(x) должна быть записана с указанием своего аргумента: y[x];

в) eq1 в записи (2) – это метка, позволяющая программе работать с решением уравнения.

Решение, полученное программой “Mathematica”, имеет вид {{y[x] Log[C[1]-Cos[x]]}}, полностью совпадающий с полученным нами аналитическим решением, если учесть, что C[1] есть первая (она же – единственная) константа интегрирования, Cos[x] обозначает функцию косинус, Log[x] – натуральный логарифм (в англоязычном обозначении).

Если в уравнении заданы начальные или граничные условия, то их тоже можно включить в состав уравнений. Так, выполнение операции eq2= DSolve[{y'[x]==E^(-y[x])Sin[x],y[0]==0},y[x],x] дает решение уравнения (1) с граничным условием y (0) = 0:

{{y[x] Log[2-Cos[x]]}}, (3) поскольку постоянная C[1] при этом оказывается равной двум.

Функцию (3), являющуюся решением уравнения eq 2, можно использовать в программе для дальнейших преобразований. Например, если нас интересует вычисление значения полученного решения y (x) в точке x = /2, то надо задать команду y[x]/.eq2/.x->Pi/Здесь пара символов «/.» означает подстановку следующего за этими символами выражения (т.е. из найденного решения eq2 при x = /2). В результате программа выдает искомое значение:

{-Log[2]}.

Часто возникает необходимость в построении графика функции, являющейся решением дифференциального уравнения при заданных начальных условиях. Для этого существует команда Plot[f,{x,xmin,xmax}];

строящая график функции f аргумента x на отрезке [xmin,xmax].

Так, график функции (3) на отрезке [0, 10], полученный в результате исполнения команды Plot[y[x]/.eq2,{x,0,10}];

изображен на рис.2.

0.0.0.0.2 4 6 8 Рис.2. График решения уравнения (1) с граничным условием y (0) = 0 на отрезке [0, 10].

Аналогичным способом на компьютере может быть решено уравнение второго порядка. Пусть дано уравнение xy - 2 y = x2 (4) Команда для его решения в среде “Mathematica” выглядит следующим образом (для удобства само уравнение запишем отдельной командой, обозначив ее через eqn3 ):

eqn3= x*y''[x]-2y'[x]==x^eq3=DSolve[eqn3,y[x],x] Решение уравнения (4) x3 1 {{y[x] - + x3C[1]+ C[2]+ x3 Log[x]}} 9 3 полученное программой, с точностью до замены постоянных интегрирования совпадает с найденным ранее в примере 2 четвертого занятия.

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

y(1) = 1, y (1) = Задаем команду eq4=DSolve[{eqn3,y[1]==1,y'[1]==2},y[x],x] В результате получаем {{y[x] ( 4+5x3 +3x3Log[x])}} График найденной функции система “Mathematica” строит в результате выполнения команды Plot[y[x]/.eq4,{x,1,3}];

Полученный график решения дифференциального уравнения (4) с началь ными условиями y(1) = 1, y (1) = 2 изображен на рис. 3.

1.5 2 2.5 Рис.3. График решения уравнения (4) с начальными условиями y(1) = 1, y (1) = 2.

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

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

y + y - 2 y = x2 + xex Для того, чтобы аналитически получить его общее решение y = y(x), нужно выполнить следующие шаги:

1) найти общее решение yo соответствующего однородного уравнения y + y - 2 y = 0;

2) найти частное решение yч1 уравнения с правой частью f1(x) = x2 ;

3) найти частное решение yч2 уравнения с правой частью f2(x) = xex ;

4) сложить решения, найденные в пп. 1) – 3):

y = yo + yч1 + yч2.

Система “Mathematica” после команд eqn4= y''[x]+y'[x]-2y[x]==x^2+xExp[x];

eq4=DSolve[eqn4,y[x],x] сразу дает искомое решение:

{{y[x] (-81+4ex-54x-12exx-54x2+18exx2)+ e-2xC[1]+exC[2]}} Это решение можно упростить командой Simplify:

Simplify[eq4] Получаем {{y[x] ( -3-2x-2x2+ e-2xC[1]+ ex(2-6x+9x2+54C[2])}} Если решение дифференциального уравнения не может быть найдено в элементарных функциях, программа записывает его через специальные функции. Например, решение уравнения Бесселя:

y + y + y = 0 (5) x после выполнения команд eqn5= y''[x]+y'[x]/x+y[x]==0;

eq5=DSolve[eqn5,y[x],x] программа выражает через, так называемые, Бесселевы функции:

{{y[x] x BesselJ[1,x]C[1] + BesselY[1,x]C[2]}} Бывают, однако, случаи, когда и мощная “Mathematica” бессильна. Например, уравнение y + y3 = x (6) она решить не может.

Команды eqn6= y'[x]+y[x]^3==x;

eq6=DSolve[eqn6,y[x],x] приводят программу в некоторое замешательство. После раздумий “Mathematica” выдает в качестве «результата» само исходное уравнение:

DSolve[-x-y[x]3+y'[x]==0,y[x],x] Если же в задаче требуется найти численное решение дифференциального уравнения при заданных начальных условиях, то можно воспользоваться командой NDSolve[eqn,y,{x,xmin,xmax}];, предназначенной для поиска решения дифференциального уравнения eqn на интервале [xmin,xmax]. В нашем примере, для того, чтобы найти решение уравнения (6) с начальным условием y (0) = 0 на интервале x[0; 1,5], задаем команду eq7=NDSolve[{eqn6,y[0]==0},y,{x,0,1.5}] В результате получаем {{y InterpolatingFunction[{{0.,1.5}},<>]}} Несмотря на странную форму представления полученной функции, с ней на компьютере можно производить любые операции. Например, вычислим значение найденной функции в точке x = 1:

y[x]/.eq7/.x->Компьютер дает ответ {0.519057} Теперь построим график полученной функции в области x[ 0; 1,5] (рис.4).

Plot[y[x]/.eq7,{x,0,1.5}];

1.1.1.0.0.0.0.2 0.4 0.6 0.8 1 1.2 1.Рис.4. График решения уравнения (6) с начальным условием y (0) = 0.

Таким образом, компьютерные системы символьной математики (в частности, система «Mathematica») представляют собой мощный аппарат, позволяющий проводить как аналитические, так и численные расчеты в области решения обыкновенных дифференциальных уравнений. Естественно, возможности таких программ имеют ограничения, в каких-то областях они отстают от возможностей человеческого разума. Тем не менее, компьютер может значительно облегчить труд исследователя, давая ему возможность избежать проведения мучительных алгебраических преобразований. Область применения математических пакетов весьма широка и в образовательной сфере. Несмотря на недостаток образовательной компоненты (компьютер выдает только ответ без подробного описания хода решения), математические пакеты позволяют проверить правильность найденных решений, провести их визуализацию. Нет сомнений, что использование компьютерных математических систем должно стать одной из важнейших составляющих современного образовательного процесса.

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

Уравнения первого порядка и уравнения, допускающие понижение порядка.

dy 1. Уравнения с разделяющимися y = f (x) g( y) = f (x)dx переменными g( y) y y 2. Однородные уравнения u =, y = ux, y = ux + u y = f x 1-го порядка x 3. Линейные уравнения 1-го порядка y + P(x) y = Q(x) y = uv, y = u v + uv y + P(x) y = Q(x) y, 4. Уравнения Бернулли y = uv, y = u v + uv 0, y(n-1) = f (x)dx + C1, 5. Уравнения, решаемые последо- y(n) = f (x) вательным интегрированием y(n-2) = y(n-1) dx + C1x + C2,...

6. Уравнения 2-го порядка, не y = f (x, y ) y = p(x), y = p (x) содержащие явно функцию y dp 7. Уравнения 2-го порядка, не y = p( y), y = p y = f ( y, y ) содержащие явно переменную x dy ax + by + c axo + byo + c = x = x - xo где 8. Уравнения, сводящиеся к y = f y = y - yo, однородным mx + ny + p mx + nyo + p = o P(x, y)dx + Q(x, y)dy = 0, F F 9. Уравнения в полных диффеP Q = P(x, y), = Q(x, y), F(x, y) = С ренциалах = x y y x f f x = ( p) y = f (x, y ) p = y, pdx = dx + dp, x p y = f (( p), p) 10. Уравнения, не разрешен ные относительно производной dy f f x = f (( p), p) x = f ( y, y ) p = y, = dy + dp, p y p y = ( p) x = et уравнение не изменяется 11. Обобщенно однородные уравнения при замене x = kx, y = km y y = z(t) emt Линейные дифференциальные уравнения второго порядка с постоянными коэффициентами.

k2 + pk + q = 0 (*) – характеристическое уравнение Однородное линейное 1) k1 k2 y = C1ek1x + C2ek2x y"+ py'+qy = уравнение 2-го порядка с постоянными коэф 2) k1 = k2 y = (C1x + C2)ek1x фициентами 3) k1,2 = ± i y = e x (C1 cos x + C2 sin x) Неоднородное уравy = yч + yo, y"+ py'+qy = f (x)yo – общее решение однородного уравнения нение с правой частью f (x) специального вида yч – частное решение неоднородного уравнения 1) a k1, a k2 yч = Qn(x)eax I. Правая часть вида f (x) = Pn(x)eax 2) a = k1 k2 yч = xQn(x)eax 3) a = k1 = k2 yч = x2Qn(x)eax 1) z = a + i b не является корнем характерист. уравнения (*) II. Правая часть вида yч = eax(Sn(x)cosbx + Tn(x)sinbx) f (x) = = eax(Pn(x)cosbx + Qn(x)sinbx) 2) z = a + i b является корнем характерист. уравнения (*) yч = x eax (Sn(x)cosbx + Tn(x)sinbx) ЛИТЕРАТУРА 1. Пискунов Н.С. Дифференциальное и интегральное исчисления. Т.2. – М.:

Интеграл-Пресс, 2004. – 544 с.

2. Филиппов А.Ф. Сборник задач по дифференциальным уравнениям. – М.

– Ижевск: Изд. РХД, 2000. – 176 с.

3. Демидович Б.П. (ред.). Задачи и упражнения по математическому анализу для ВТУЗов. – М.: АСТ, 2001. – 496 с.

4. Зайцев В.Ф., А.Д. Полянин. Спрвавочник по обыкновенным дифференциальным уравнениям. – М.: Физматлит, 2001. – 576 с.

5. Wolfram S. The Mathematica book. 3-d ed. Wolfram Media/Cambridge Univ.

Press, 1996. – 1409 p.

Материалы, связанные с данным изданием, можно найти на сайте кафедры высшей математики РГУ нефти и газа им. И.М. Губкина:

http://kvm.gubkin.ru/Index.html

Pages:     | 1 |   ...   | 3 | 4 ||










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.