КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Приближенное решение дифференциальных уравнений
Класс уравнений, для которых можно получить точное решение, то есть, аналитическую функцию, удовлетворяющую заданному дифференциальному уравнению и всем дополнительным условиям (задача Коши), очень узок. Чаще всего дифференциальные уравнения решаются приближенно. С одним из методов – итерационным – мы познакомились при доказательстве теоремы существования и единственности.
1. Приближение решения с помощью степенного ряда. Представим, что мы должны решить задачу Коши для дифференциального уравнения
остальные – неизвестные – коэффициенты обозначаются буквами
П р и м е р. Решить следующую задачу Коши: Искать решение будем в виде ряда по степеням
Перемножим входящие в правую часть сомножители:
Мы могли бы и далее сравнивать коэффициенты при степенях
Задачу Коши для системы уравнений можно решать подобным способом.
2. Метод Эйлера и его модификации. Познакомимся с методом Эйлера численного решения задачи Коши для дифференциального уравнения первого порядка Мы здесь приравниваем отношение приращений функции и аргумента производной в точке, соответствующей началу отрезка разбиения:
Очевидно, что такое приближение является тем менее точным, чем дальше мы отойдем от точки
Наиболее распространенным численным методом решения указанной задачи Коши является метод Рунге-Кутта. При решениидифференциального уравнения этим методом интегральная кривая заменяется ломаной, состоящей из кусков парабол. Метод Рунге-Кутта встроен в пакет программ MAXIMA.
Например, мы хотим решить дифференциальное уравнение
load(dynamics); rk(y^2+x,y,0.3,[x,0,1,0.05]); После того, как мы нажмем клавиши Shift+Enter, получим данные [[0,0.3],[0.05,0.30583128660202],[0.1,0.31438277172198],[0.15, 0.32574776902574],[0.2,0.34003114365951],[0.25,0.35735268712942],[0.3, 0.37785103897622],[0.35,0.40168830090343],[0.4,0.42905553899765],[0.45, 0.46017943684494],[0.5,0.49533045405802],[0.55,0.53483297195895],[0.6, 0.57907808748734],[0.65,0.62853997325452],[0.7,0.6837970957275],[0.75, 0.74556013793749],[0.8,0.81470931041585],[0.85,0.89234502470182],[0.9, 0.97985793824278],[0.95,1.079027666994073],[1.0,1.192164923146931]].
Это означает, что мы получили узловые значения решения: y (0.05)= 0.30583128660202,…, y (0.4)= 0.42905553899765,…..
Приближенное решение дифференциальных уравнений высших порядков сводятся к решению систем уравнений первого порядка. Например, требуется решить дифференциальное уравнение с начальными условиями
Для получения решения методом Рунге-Кутта вводим команду load(dynamics); rk([z,2-x*z^2-3*x^2*y], [y,z], [1,0], [x,0,2,0.1]).
Мы получим значения в узлах: [[0,1,0],[0.1,1.009973277486667,0.19889443755825],[0.2,1.03953179049664, 0.39025908431976],[0.3,1.087443707860848,0.56407930484999],[0.4,1.151355476824082, 0.70808296273707],[0.5,1.227625229955781,0.80905909503231],[0.6,1.31132100772257, 0.85473889531278],[0.7,1.396404177611673,0.83546996450053],[0.8,1.476033430956961, 0.74483368487679],[0.9,1.542855824183935,0.57873490276185],[1.0,1.589128945076604, 0.33294944409803],[1.1,1.606518986789783,-9.8829227227875682*10^-4],[1.2, 1.585353126452777,-0.44308261198787],[1.3,1.512758668789601,-1.041803224981043],[1.4 ,1.367721332806764,-1.927748829187044],[1.5,1.104119674291387,-3.562685524381777],[ 1.6,0.55276102463945,-9.157645341403534],[1.7,-3.785389000081017,-789.9052329768924], [1.8,-1.8741633219283803*10^14,-3.7934868677108632*10^30]].
Это означает, что, например, y(0.5)= 1.227625229955781, z(0.5)= 0.80905909503231.
3. Графический метод. Этим методом можно решать дифференциальные уравнения первого порядка вида
Реальное построение решения таким методом было бы очень сложным без применения компьютерной техники. MAXIMA содержит программу построения графических решений. Если мы введем load(plotdf); plotdf(f(x,y),[y,c,d],[x,a,b]), на экране появится прямоугольник
Например, мы хотим построить интегральную кривую уравнения
Введем load(plotdf); plotdf((5-x^2)/(2*x*y-y^2),[y,-7,9],[x,9,13]); и нажмем Shift+Enter. Мы получим выбранный прямоугольник с указанием направлений из точек прямоугольника. Теперь щелкнем по точке (11,2), и нарисуется соответствующая интегральная кривая.
Дата добавления: 2014-01-14; Просмотров: 2209; Нарушение авторских прав?; Мы поможем в написании вашей работы! |