Аналитическое решение обыкновенных дифференциальных уравнений

Калькулятор Обыкновенных Дифференциальных Уравнений (ОДУ) и Систем (СОДУ)

Порядок производной указывается штрихами — y»’ или числом после одного штриха — y’5

Ввод распознает различные синонимы функций, как asin , arsin , arcsin

Знак умножения и скобки расставляются дополнительно — запись 2sinx сходна 2*sin(x)

Список математических функций и констант :

• ln(x) — натуральный логарифм

• sh(x) — гиперболический синус

• ch(x) — гиперболический косинус

• th(x) — гиперболический тангенс

• cth(x) — гиперболический котангенс

• sch(x) — гиперболический секанс

• csch(x) — гиперболический косеканс

• arsh(x) — обратный гиперболический синус

• arch(x) — обратный гиперболический косинус

• arth(x) — обратный гиперболический тангенс

• arcth(x) — обратный гиперболический котангенс

• arsch(x) — обратный гиперболический секанс

• arcsch(x) — обратный гиперболический косеканс

Приближенные аналитические решения обыкновенных дифференциальных уравнений Текст научной статьи по специальности « Компьютерные и информационные науки»

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Васильев Александр Николаевич, Тархов Дмитрий Альбертович, Шемякина Татьяна Алексеевна

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Васильев Александр Николаевич, Тархов Дмитрий Альбертович, Шемякина Татьяна Алексеевна

Текст научной работы на тему «Приближенные аналитические решения обыкновенных дифференциальных уравнений»

Васильев А.Н., Тархов Д.А., Шемякина Т.А.

Санкт-Петербургский политехнический университет Петра Великого, Санкт-Петербург, Россия

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

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

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

Vasilyev A.N., Tarkhov D.A., Shemyakina T.A.

Peter the Great St. Petersburg Polytechnic University, Saint Petersburg, Russia

APPROXIMATE ANALYTICAL SOLUTIONS OF ORDINARY DIFFERENTIAL

Original approaches to building multi-layered approximate solutions of differential equations are discussed. These approaches are based on classical approximate methods. In contrast to classical approaches, we obtain as the result of the calculation not pointwise approximations but approximate solutions as functions. These methods can be applied for generating arbitrarily accurate approximate neural network solutions without time-consuming learning procedure. Computational experiments were carried out on several test problems.

Neural networks; approximate solutions; differential equations. Введение

Мы неоднократно отмечали в качестве одного из преимуществ неиросетевого моделирования над классическими подходами к построению приближенных решении дифференциальных уравнении (типа метода сеток) то обстоятельство, что неиросетевои подход позволяет получить решение в виде аналитическои формулы, а не набора числовых значении [1-5, 7-14]. В даннои работе показано, что это не совсем верно: задаваемые аналитически приближения для решения можно получить на основе более общих подходов, куда неиросетевои входит как частныи случаи. На примере обыкновенных дифференциальных уравнении с помощью метода Эилера и некоторых его обобщении получены приближенные аналитические решения. Обычные оценки точности исходных классических методов позволяют получить удобные оценки точности полученных приближении.

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

Рассмотрим задачу Коши для системы обыкновенных дифференциальных уравнении

на промежутке D = [х0; х0 + а]. Здесь х е В с □ , у с □ р, f : □ р ^ □ р. Классический метод Эйлера состоит в разбиении промежутка В на п частей: х0 у к), (7)

при этом У1 = У о + ¥ (Хо + Уо + у Ъ (Хо, Уо)).

Применяем уточненныи метод Эилера (7) при п = 2, тогда получаем формулу

уп (х) = 1 — о.5х^т1 (8)

Графики данного приближенного решения уп (х) и решения у(х), построенного с помощью встроеннои операции МаШетайса 10, при а = 1;2;3 выглядят следующим образом:

Рис. 3. Графики приближённого решения yn (x) из (8) и y (x), построенного с помощью Mathematica 10, при

На рис.3 видим, что точность приближённого решения yn (x) из формулы (8) существенно выше, чем приближенного решения, полученного применением метода Эилера по формуле (6).

С увеличением количества разбиении n = 5 уточненныи метод Эилера (7) представим формулои

yn (x) = 1 — 0.0168х2а- 0.32х2а sin Ti — 0.0168x2a]-

— 0.16x2a sin [i- 0.0168x2a — 0.16x2a sin [i — 0.0168x2a]]

Графики данного приближенного решения yn (x) и решения y(x), построенного с помощью встроеннои операции Mathematica 10, при а = 1;2;3 практически сливаются:

Рассмотрим метод средней точки из книги [6]:

y *+1 = y * + hf (** + у, y * + y f(**, y *)) [10]

Применяем метод среднеи точки (10) при n = 2, тогда получаем формулу

yn (x) = 1- 0.316х2а — 0.125×2« sin [1 — 0.105х2а] (11)

Графики данного приближённого решения уп (х) и решения у(х), построенного с помощью встроенной операции МаШетайса 10, при а = 1;2;3 выглядят следующим образом:

Точность приближенного решения (11) еще выше, чем у формулы, получающеися применением уточненного метода Эилера (7) — (9). Применяем метод среднеи точки (10) при п = 5, тогда получаем формулу

уп (х) = 1 — 0.151х2а — 0.12х2а Sin[1 — 0.0337х2а] — 0.02х2а Sin[1 — 0.0168х2а] —

— 0.02х2а Sin[1 — 0.05х2а — 0.02х2а Sin[1 — 0.0168х2а]] —

-0.08×2аSin[1 — 0.0673х2а — 0.02×2аSin[1 — 0.0337х2а] — 0.02х2а Sin[1 — 0.0168х2а]] —

-0.02х2а Sin[1 — 0.0841х2а — 0.04х2а Sin[1 — 0.0337х2а] -0.02х2аЗт[1 — 0.0168х2а] —

— 0.02х2а Sin[1 — 0.05х2а — 0.02х2а Sin[1 — 0.0168х2а]]] —0.04х2а Sin[1 — 0.1х2а — 0.06х2а Sin[1 — 0.0337х2а] — 0.02х2а Sin[1 — 0.0168х2а] —0.02х2а Sin[1 — 0.05х2а — 0.02х2а Sin[1 — 0.0168х2а]] —

-0.02х2а Sin[1 — 0.0673х2а — 0.02х2а Sin[1 — 0.0337х2а] — 0.02х2а Sin[1 — 0.0168х2а]]] —0.02х2а Sin[1 — 0.119х2а — 0.08х2а Sin[1 — 0.0337х2а] — 0.02х2а Sin[1 — 0.0168х2а] —0.02х2а Sin[1 — 0.05х2а — 0.02х2а Sin[1 — 0.0168х2а]] —

-0.04х2а Sin[1 — 0.0673х2а — 0.02х2а Sin[1 — 0.0337х2а] — 0.02х2а Sin[1 — 0.0168х2а]] —0.02х2а Sin[1 — 0.0841х2а — 0.04х2а Sin[1 — 0.0337х2а] — 0.02х2а Sin[1 — 0.0168х2а] —0.02х2а Sin[1 — 0.0505х2а — 0.02х2а Sin[1 — 0.0168х2а]]]] Графики данного приближенного решения уп (х) из последнеи формулы и решения у(х), построенного с помощью Mаthemаticа 10, при а = 1;2;3 практически сливаются.

Рассматриваем еще один метод, подобньш выше тестируемым, это метод Хоина из книги [6]:

Уk+1 = y* + у [f(Xk, yk) + f X + К, yk + hf (x*, yk))]. (12)

Результаты применения метода Хоина (12) к рассматриваемой задаче (4) аналогичны результатам применения метода среднеи точки (10).

Рассмотрим тесты исправленного метода Эилера, которыи работает в соответствии с формулои:

у k+1 = у k + hk [f (Xk, y k) + \ (fX (Xk, у k) + fy (Xk, у k )f (Xk, у k))] (13)

Применение данного метода к рассматриваемои задаче (4) дает такие же результаты, как и у предыдущих методов среднеи точки (10) и Хоина (12).

Приведем результаты для стандартного решения задачи (4), полученного с помощью разложения в степеннои ряд в окрестности x0 = 0 для n = 6

yn (x) = 1 — 0.5а sinl X2 + а2 sin2 x4/12 + a3sin1 x6 (3sin21 — cos2l)/720. (14)

Заметим, что первые два слагаемых совпадают с результатом, полученным с помощью

На рис.6 видим, что во второй половине промежутка приближенное решение (14) проигрывает в точности всем приведенным выше решениям, кроме решения, полученного (5) методом Эилера для разбиения п = 2.

Результаты вычислительных экспериментов для промежутка [0,5].

Приведем результаты для значении параметра« = 1 и а=3 .

Графики приближенного решения уп (х), полученного по формуле (14), и решения у(х), построенного с помощью встроеннои операции МаШетайса 10, при а = 1 выглядят следующим образом:

Рис. 7. Графики приближённого решения уп (х) из (14) и у(х), построенного с помощью МаАетаИса 10,

при а = 1 и для ( в), г), д), е)) — п = 10

На рис.7 видим, что метод Эйлера (2) существенно проигрывает всем остальным методам, причем ситуацию не спасает значительное увеличение числа разбиении п .

Графики приближенного решения уп (х), полученного по формуле (14), и решения у(х), построенного с помощью встроеннои операции МаШетайса 10, приа = 3 выглядят следующим образом:

г) Метод средней точки (10)

д) Метод Хойна (12)

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

Рис. 8. Графики приближённого решения yn (x) из (14) и y (x), построенного с помощью Mathematica 10

при а = 3 и для ( в), г), д), е)) — n = 10 На рис.8 видим, что в данном случае лучше всего работает метод Хойна (12). По данным графикам может сложиться неверное представление о сравнительной эффективности методов: более точными представляются (2), (7), (10), (12), (13). Однако уточненныи метод Эилера (7) при n = 10 дает вполне обозримое приближение:

yn (x) = 0.02 (50 — 5х2а Sinl — 8x 2а Sin[1 — 0.02x 2а Sinl] —

— 6×2а Sin[0.04(25 — x2а Sinl — x2a Sin[-0.02×2а Sinl])] —

— 4×2аSin[0.02(50 — 3×2а Sinl — 4x2aSin [l — 0.02×2а Sinl] —

— 2×2а Sin[0.04(25 — x2а Sinl — x2aSin[l — 0.02×2а Sinl])])] —

-2x2a Sin[0.04(25 — 2×2а Sinl — 3×2а Sin[l — 0.02×2а Sinl] —2x2a Sin[0.04(25 — x2a Sinl- x2а Sin[l- 0.02×2а Sinl])] —x2aSin[0.02(50 — 3×2а Sinl — 4x2aSin [l — 0.02x2a Sinl] —

-2xa Sin[0.04(25 — x2a Sinl- x2a Sin[l- 0.02Sinl])])])]). Методы, использующие формулы (10) — метод среднеи точки, (12) — метод Хоина, (13) -исправленныи метод Эилера, дают существенно более сложные аналитические выражения.

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

í y» (x) + a sin(y) = 0,

1 y(0) = y0,y’ (0) = yl. Методом Эилера при n = 3 получаем приближенное решение

y0 + yl x — 2 x2a sin y0 -1 x2a sin

а при n = 5 — приближенное решение

y0 + y1 x — — (4x2a sin [y0 ] + 3x2asin

3 y1 x 2 2 1 2 y0 +—^—— x asin[y0]+

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

Г y»(x) + a sin(y) = О, 1 У(О) = Уo, У(а) = Уа ,

можно решать, определяя y1 из уравнения y(a) = ya, используя в качестве y(x) полученное параметрическое решение.

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

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

Четвёртое направление связано с распространением изложенного подхода на уравнения в частных производных. Для этого можно применить, например, метод прямых.

Работа поддержана Российским фондом фундаментальных исследований (гранты №14-01-00660 и №14-01-00733).

1. Васильев А.Н., Тархов Д.А., Шемякина Т.А. Гибридный метод построения параметрической нейросетевой модели катализатора// Современные информационные технологии и ИТ-образование, 2014. — №10. — С.476-484.

2. Васильев А.Н., Тархов Д.А., Шемякина Т.А. Модель неизотермического химического реактора на основе параметрических нейронных сетей. Гибридный метод// Современные информационные технологии и ИТ-образование, 2015. — Т.2. №11. — С.271-278.

3. Васильев А.Н., Тархов Д.А., Шемякина Т.А. Многоуровневые модели окружающей среды в мегаполисах// Современные информационные технологии и ИТ-образование, 2015. — Т. 2. № 11. — С. 267-270.

4. Васильев А.Н., Тархов Д.А., Шемякина Т.А. Мезо-уровневая нейросетевая модель загрязнения атмосферного воздуха Санкт-Петербурга по данным мониторинга// Современные информационные технологии и ИТ-образование, 2015. — Т. 2. № 11. — С. 279-283.

5. Васильев А.Н., Тархов Д.А., Шемякина Т.А. Нейросетевой подход к задачам математической физики. — СПб.: «Нестор-История», 2015. — 260 с.

6. Вержбицкий В.М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения. -М.: Оникс 21 век, 2005. — 400 с.

7. Романова А.Г., Тархов Д.А, Шемякина Т.А. О применении нейросетевых моделей в экологии// Современные информационные технологии и ИТ-образование, 2013. — № 9. — С.534 -539.

8. Budkina E. M., Kuznetsov E. B., Lazovskaya T. V., Leonov S. S., Tarkhov D. A., Vasilyev A. N. Neural Network Technique in Boundary Value Problems for Ordinary Differential Equations // Springer International Publishing Switzerland 2016 L. Cheng et al. (Eds.): ISNN 2016, LNCS 9719. 2016. — pp. 277-283.

9. Gorbachenko V. I., Lazovskaya T. V., Tarkhov D. A., Vasilyev A. N., Zhukov M.V. Neural Network Technique in Some Inverse Problems of Mathematical Physics // Springer International Publishing Switzerland 2016 L. Cheng et al. (Eds.): ISNN 2016, LNCS 9719. 2016. — pp. 310-316.

10. Kainov N.U., Tarkhov D.A., Shemyakina T.A. Application of neural network modeling to identication and prediction problems in ecology data analysis for metallurgy and welding industry// Nonlinear Phenomena in Complex Systems, 2014. — vol. 17, 1. — pp. 57-63.

11. Lazovskaya T.V., Tarkhov D.A. Fresh approaches to the construction of parameterized neural network solutions of a stiff differential equation. St. Petersburg Polytechnical University Journal: Physics and Mathematics (2015), http://dx.doi.org/10.1016/j.spjpm.2015.07.005

12. Shemyakina T. A., Tarkhov D. A., Vasilyev A. N.// Springer International Publishing Switzerland 2016 L. Cheng et al. (Eds.): ISNN 2016, LNCS 9719. 2016. — pp. 547-554.

13. Tarkhov D., Vasilyev A. New neural network technique to the numerical solution of mathematical physics problems. I: Simple problems Optical Memory and Neural Networks (Information Optics), 2005. — 14. — pp. 59-72.

14. Tarkhov D., Vasilyev A. New neural network technique to the numerical solution of mathematical physics problems. II: Complicated and nonstandard problems Optical Memory and Neural Networks (Information Optics), 2005. — 14. — pp. 97122.

15. Vasilyev A., Tarkhov D. Mathematical Models of Complex Systems on the Basis of Artificial Neural Networks// Nonlinear Phenomena in Complex Systems, 2014. — vol. 17, 2. — pp. 327-335.

1. Vasil’ev A.N., Tarkhov D.A., Shemyakina T.A. Gibridnyy metod postroeniya parametricheskoy neyrosetevoy modeli katalizatora// Sovremennye informatsionnye tekhnologii i IT-obrazovanie, 2014. — №10. — S.476-484.

2. Vasil’ev A.N., Tarkhov D.A., Shemyakina T.A. Model’ neizotermicheskogo khimicheskogo reaktora na osnove parametricheskikh neyronnykh setey. Gibridnyy metod// Sovremennye informatsionnye tekhnologii i IT-obrazovanie,

2015. — T.2. №11. — S.271-278.

3. Vasil’ev A.N., Tarkhov D.A., Shemyakina T.A. Mnogourovnevye modeli okruzhayushchey sredy v megapolisakh// Sovremennye informatsionnye tekhnologii i IT-obrazovanie, 2015. — T. 2. № 11. — S. 267-270.

4. Vasil’ev A.N., Tarkhov D.A., Shemyakina T.A. Mezo-urovnevaya neyrosetevaya model’ zagryazneniya atmosfernogo vozdukha Sankt-Peterburga po dannym monitoringa// Sovremennye informatsionnye tekhnologii i IT-obrazovanie, 2015. — T. 2. № 11. — S. 279-283.

5. Vasil’ev A.N., Tarkhov D.A., Shemyakina T.A. Neyrosetevoy podkhod k zadacham matematicheskoy fiziki. — SPb.: «Nestor-Istoriya», 2015. — 260 s.

6. Verzhbitskiy V.M. Chislennye metody. Matematicheskiy analiz i obyknovennye differentsial’nye uravneniya. — M.: Oniks 21 vek, 2005. — 400 s.

7. Romanova A.G., Tarkhov D.A, Shemyakina T.A. O primenenii neyrosetevykh modeley v ekologii// Sovremennye informatsionnye tekhnologii i IT-obrazovanie, 2013. — № 9. — S.534 -539.

8. Budkina E. M., Kuznetsov E. B., Lazovskaya T. V., Leonov S. S., Tarkhov D. A., Vasilyev A. N. Neural Network Technique in Boundary Value Problems for Ordinary Differential Equations // Springer International Publishing Switzerland 2016 L. Cheng et al. (Eds.): ISNN 2016, LNCS 9719. 2016. — pp. 277-283.

9. Gorbachenko V. I., Lazovskaya T. V., Tarkhov D. A., Vasilyev A. N., Zhukov M.V. Neural Network Technique in Some Inverse Problems of Mathematical Physics // Springer International Publishing Switzerland 2016 L. Cheng et al. (Eds.): ISNN

2016, LNCS 9719. 2016. — pp. 310-316.

10. Kainov N.U., Tarkhov D.A., Shemyakina T.A. Application of neural network modeling to identication and prediction problems in ecology data analysis for metallurgy and welding industry// Nonlinear Phenomena in Complex Systems, 2014. — vol. 17, 1. — pp. 57-63.

11. Lazovskaya T.V., Tarkhov D.A.: Fresh approaches to the construction of parameterized neural network solutions of a stiff differential equation. St. Petersburg Polytechnical University Journal: Physics and Mathematics (2015), http://dx.doi.org/10.1016/j.spjpm.2015.07.005

12. Shemyakina T. A., Tarkhov D. A., Vasilyev A. N.// Springer International Publishing Switzerland 2016 L. Cheng et al. (Eds.): ISNN 2016, LNCS 9719. 2016. — pp. 547-554.

13. Tarkhov D., Vasilyev A. New neural network technique to the numerical solution of mathematical physics problems. I: Simple problems Optical Memory and Neural Networks (Information Optics), 2005. — 14. — pp. 59-72.

14. Tarkhov D., Vasilyev A. New neural network technique to the numerical solution of mathematical physics problems. II: Complicated and nonstandard problems Optical Memory and Neural Networks (Information Optics), 2005. — 14. — pp. 97122.

15. Vasilyev A., Tarkhov D. Mathematical Models of Complex Systems on the Basis of Artificial Neural Networks// Nonlinear Phenomena in Complex Systems, 2014. — vol. 17, 2. — pp. 327-335.

Аналитическое решение обыкновенных дифференциальных уравнений

Для нахождения аналитических решений дифференциальных уравнений в Maple применяется команда dsolve(eq,var,options), где eq – дифференциальное уравнение, var – неизвестные функции, options – параметры. Параметры могут указывать метод решения задачи, например, по умолчанию ищется аналитическое решение: type=exact. При составлении дифференциальных уравнений для обозначения производной применяется команда diff, например, дифференциальное уравнение y»+y=x записывается в виде: diff(y(x),x$2)+y(x)=x.

Общее решение дифференциального уравнения зависит от произвольных постоянных, число которых равно порядку дифференциального уравнения. В Maple такие постоянные, как правило, обозначаются как _С1, _С2, и т.д.

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

Команда dsolve выдает решение дифференциального уравнения в невычисляемом формате. Для того, чтобы с решением можно было бы работать далее (например, построить график решения) следует отделить правую часть полученного решения командой rhs(%).

1. Найти общее решение дифференциального уравнения y’+ycosx=sinxcosx.

Итак, решение искомого уравнения есть функция

Замечание: при записи решения диффреренциального уравнения в Maple в строке вывода произвольная постоянная обозначена как _С1.

Найти общее решение дифференциального уравнения второго порядка y» — 2y’+y=sinx+e — x.

Замечание: так как исходное уравнение было второго порядка, то полученное решение содержит две произвольные константы, которые в Maple обычно обознаются как _С1 и _С2. Первые два слагаемых представляют собой общее решение соответствующего однородного дифференциального уравнения, а вторые два – частное решение неоднородного дифференциального уравнения.

3. Найти общее решение дифференциального уравнения порядка y»+k2y=sin(qx) в двух случаях: q ¹ k и q=k (резонанс).

Теперь найдем решение в случае резонанса. Для этого перед вызовом команды dsolve следует приравнять q=k.

Фундаментальная (базисная) система решений.

Команда dsolveпредставляет возможность найти фундаментальную систему решений (базисные функции) дифференциального уравнения. Для этого в параметрах команды dsolve следует указать output=basis.

Найти фундаментальную систему решений дифференциального уравнения: y(4)+2y»+y=0.

>dsolve(de, y(x), output=basis);

Решение задачи Коши или краевой задачи.

Команда dsolve может найти решение задачи Коши или краевой задачи, если помимо дифференциального уравнения задать начальные или краевые условия для неизвестной функции. Для обозначения производных в начальных или краевых условиях используется дифференциальный оператор , например, условие y»(0)=2 следует записать в виде

1. Найти решение задачи Коши: y(4)+y»=2cosx, y(0)= — 2, y'(0)=1, y»(0)=0, y»'(0)=0.

y(x)= — 2cos(x) — xsin(x)+ х

2. Найти решение краевой задачи:кккк

y(x)=2x — p + p cos(x)

Замечание: для построения графика решения предварительно следует отделить правую часть полученного выражения.

Системы дифференциальных уравнений.

Команда dsolve может найти решение системы дифференциальных уравнений (или задачи Коши), если в ней указать: dsolve(,), где sys — система дифференциальных уравнений, x(t),y(t),… — набор неизвестных функций.

Найти решение системы дифференциальных уравнений:

Найдены две функции x(t) и y(t), которые зависят от двух произвольных постоянных _С1 и _С2.

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

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

Чтобы найти приближенное решение дифференциального уравнения в виде степенного ряда, в команде dsolve следует после переменных указать параметр type=series (или просто series). Для того, чтобы указать порядок разложения n, т.е. порядок степени, до которой производить разложение, следует перед командой dsolve вставить определение порядка с помощью команды Order:=n.

Если ищется общее решение дифференциального уравнения в виде разложения в степенной ряд, то коэффициенты при степенях х найденного разложения будут содержать неизвестные значения функции в нуле y(0) и ее производных D(y)(0), (D@@2)(y)(0) и т.д. Полученное в строке вывода выражение будет иметь вид, похожий на разложение искомого решения в ряд Маклорена, но с другими коэффициентами при степенях х. Для выделения частного решения следует задать начальные условия y(0)=у1, D(y)(0)=у2, (D@@2)(y)(0)=у3 и т.д., причем количество этих начальных условий должно совпадать с порядком соответствующего дифференциального уравнения.

Разложение в степенной ряд имеет тип series, поэтому для дальнейшей работы с этим рядом его следует преобразовать в полином с помощью команды convert(%,polynom), а затем выделить правую часть полученного выражения командой rhs(%).

1. Найти решение задачи Коши:

y(0)=0>, y(x), type=series);

В полученном решении слагаемое O(x^5) означает, что точность разложения была до 5-го порядка.

2. Найти общее решение дифференциального уравнения y»(х) — y3(х)=е — хcosx, в виде разложения в степенной ряд до 4-го порядка. Найти разложение при начальных условиях: y(0)=1, y'(0)=0.

>restart; Order:=4: de:=diff(y(x),x$2)-

Замечание: в полученном разложении запись D(y)(0) обозначает производную в нуле: y'(0). Для нахождения частого решения осталось задать начальные условия:

3. Найти приближенное решение в виде степенного ряда до 6-го порядка и точное решение задачи Коши:

Замечание: тип решения дифференциального уравнения в виде ряда есть series, поэтому для дальнейшего использования такого решения (вычислений или построения графика) его обязательно следует конвертировать в полином с помощью команды convert

На этом рисунке видно, что наилучшее приближение точного решения степенным рядом достигается примерно на интервале — 1

Численное решение дифференциальных уравнений

Численное решение дифференциальных уравнений с помощью команды dsolve. Построение графиков решений дифференциальных уравнений с помощью команды odeplot.

Для того, чтобы найти численное решение дифференциального уравнения (задачи Коши или краевой задачи) в команде dsolve следует указать параметр type=numeric (или просто numeric). Тогда команда решения дифференциального уравнения будет иметь вид dsolve(eq, vars, type=numeric, options), где eq – уравнения, vars – список неизвестных функций, options – параметры, позволяющие указать метод численного интегрирования дифференциального уравнения. В Maple реализованы такие методы: method=rkf45 — метод Рунге-Кутта-Фельберга 4-5-ого порядка (установлен по умолчанию); method=dverk78 – метод Рунге-Кутта 7-8 порядка; mtthod=classical – классический метод Рунге-Кутта 3-его порядка; method=gear и method=mgear – одношаговый и многошаговый методы Гира.

График численного решения дифференциального уравнения можно построить с помощью команды odeplot(dd, [x,y(x)], x=x1..x2), где в качестве функции используется команда dd:=dsolve(, y(x), numeric) численного решения, после нее в квадратных скобках указывают переменную и неизвестную функцию [x,y(x)], и интервал x=x1..x2 для построения графика.

1. Найти численное и приближенное решение в виде степенного ряда до 6-ого порядка задачи Коши: ,

Сначала найдем численное решение задачи Коши

Замечание: в строке вывода появляется сообщение о том, что при решении использован метод rkf45. Во избежание вывода строк, не несущих полезной информации, рекомендуется отделять промежуточные команды двоеточием. Если необходимо получить значение решения при каком-то фиксированном значении переменной х (заодно будет выведено значение производной решения в этой точке), например, при х=0.5, то следует набрать:

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

Наилучшее приближение решения степенным рядом достигается примерно на интервале — 1

2. Построить графики решений задачи Коши системы дифференциальных уравнений:

х ‘(t)=2y(t)sin(t) — х (t) — t,

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

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

Команда DEplot из пакета DEtools строит численными методами графики решения или фазовые портреты. Эта команда аналогична команде odeplot, но более функциональна. Она, в отличие от odeplot, сама производит численное решение дифференциального уравнения. Основные параметры DEplot похожи на параметры odeplot: DEplot(de, vars, range, x=х1..х2, y=у1..у2, cond, ptions), где de — дифференциальное уравнение или система дифференциальных уравнений; vars – список неизвестных функций; range – диапазон измерения независимой переменной; cond – начальные условия; x=х1..х2 и y=у1..у2 – диапазоны изменения функций; options – дополнительные параметры.

Наиболее часто используемые параметры: linecolor=цвет линии; scene=[x,y] — определяет, какие зависимости выводить на график; iterations=число итераций, необходимое для повышения точности вычислений (по умолчанию это число равно 1); stepsize=число, равное расстоянию между точками на графике, по умолчанию оно равно (x2 — x1)/20, этот параметр необходим для вывода более гладкой кривой решения;obsrange=true/false — прерывать или нет вычисления, если график решения выходит за установленный для рисования интервал.

Для решения дифференциального уравнения n-ого порядка начальные условия можно задавать в более компактной форме: [x0, y0, y’0, y»0,…], где x0 — точка, в которой задаются начальные условия, y0 — значение искомой функции в точке x0, y’0, y»0,… — значения производных первой, второй и т.д. до (n — 1)-ого порядка.

Нарисовать график решения дифференциального уравнения:

, у(0)=0,у'(0)=1 ,у»(0)=1 , в интервале .

> restart; with(D Е tools):

(D@@2)(y)(0)=1]], stepsize=.1, linecolor=black,

Построение фазовых портретов систем дифференциальных уравнений.

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

С помощью команды DEplot можно построить фазовый портрет в плоскости (x, y), для системы двух дифференциальных уравнений:

Если система дифференциальных уравнений является автономной, то на фазовом портрете будет построено поле направлений в виде стрелок. Размер стрелок регулируется параметром arrows=SMALL, MEDIUM, LARGE, LINE или NONE.

Для того, чтобы нарисовать весь фазовый портрет, необходимо для каждой фазовой траектории указывать начальные условия: например, для системы двух дифференциальных уравнений первого порядка несколько начальных условий в команде DEplots указываются после задания диапазона изменения независимой переменной t: [[x(0)=x1, y(0)=y1], [x(0)=x2, y(0)=y2],…, [x(0)=xn, y(0)=yn]].

Начальные условия можно задавать в более компактной форме: [t0, x0, y0], где t0 — точка, в которой задаются начальные условия, x0 и y0 — значения искомых функций в точке t0.

Фазовый протрет системы двух дифференциальных уравнений первого порядка можно также построить с помощью команды phaseportrait(sys, [x,y],x1..x2,[[cond]]), где sys — система двух дифференциальных уравнений первого порядка, [x,y] — имена искомых функций, x1..x2 — интервал, на котором следует построить фазовый портрет, а в фигурных скобках указываются начальные условия. Эта команда находится в пакете DEtools, поэтому данный пакет должен быть предварительно загружен.

1. Построить фазовый портрет системы дифференциальных уравнений:

для нескольких наборов начальных условий: х(0)=1, у(0)=0.2; х(0)=0, у(0)=1; х(0)=1, у(0)=0.4; х(0)=1, у(0)=0.75; х(0)=0, у(0)=1.5; х(0)= — 0.1, у(0)=0.7.

> restart; with(D Е tools):

stepsize=0.1, arrows=none, linecolor=black);

2. Построить фазовый портрет с полем направлений автономной системы

для различных начальных условий х(0)=1, у(0)=0; х(0)= — 1, у(0)=0; х(0)= p , у(0)=1; х(0)= — p , у(0)=1; х(0)=3 p , у(0)=0.2; х(0)=3 p , у(0)=1; х(0)=3 p , у(0)=1.8; х(0)= — 2 p , у(0)=1;.

> restart; with(D Е tools):

3. Построить фазовый портрет системы дифференциальных уравнений:

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


источники:

http://cyberleninka.ru/article/n/priblizhennye-analiticheskie-resheniya-obyknovennyh-differentsialnyh-uravneniy

http://www.sites.google.com/site/camoucitelmaple13/urok-7-analiticeskoe-resenie-differencialnyh-uravnenij-cislennoe-resenie-differencialnyh-uravnenij