|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
В графическом виде
Для нахождения численного решения задачи Коши (краевой задачи) в команде dsolve следует указать параметр type=numeric (или просто numeric). Формат команды для численного решения дифференциального уравнения имеет вид
dsolve(eq, vars, type=numeric, options); где eq – уравнения; vars – список неизвестных функций; options – параметры, позволяющие указать метод численного интегрирования дифференциального уравнения. В Maple реализованы такие методы: method=rkf45 - метод Рунге-Кутта-Фельберга 4-5-го порядка (установлен по умолчанию); method=dverk78 – метод Рунге–Кутта 7-8-го порядка; method=classical – классический метод Рунге–Кутта 3-го порядка; method=gear и method=mgear – одношаговый и многошаговый методы Гира. График численного решения дифференциального уравнения можно построить с помощью команды odeplot(dd, [x,y(x)], x=x1..x2), где в качестве функции используется команда dd:=dsolve({eq,cond}, y(x), numeric) численного решения, после нее в квадратных скобках указывают переменную и неизвестную функцию [x,y(x)], а также интервал x=x1..x2 для построения графика. Пример. Найти численное и приближенное решение в виде степенного ряда до 6-го порядка задачи Коши: , , . [> restart; Order=6: [> eq:=diff(y(x),x$2)-x*sin(y(x))=sin(2*x): [> cond:=y(0)=0, D(y)(0)=1: [> de:=dsolve({eq,cond},y(x),numeric); de:=proc(rkf45_x)...end Замечание: в строке вывода появляется сообщение о том, что при решении использован метод rkf45. Если необходимо получить значение решения при каком-то фиксированном значении переменной х (заодно будет выведено значение производной решения в этой точке), например, при х = 0,5, то следует набрать: [> de(0.5);
Построим график при фиксированном значении переменной х=0,5 (рис. 7.3) [> with(plots): [> odeplot(de,[x,y(x)],-10..10,thickness=2);
Теперь найдем приближенное решение задачи Коши в виде степенного ряда и построим графики численного решения и полученного степенного ряда в интервале их лучшего совпадения (рис. 7.4).
Рис. 7.3. График
[> dsolve({eq, cond}, y(x), series)
[> convert(%, polynom):p:=rhs(%): [> p1:=odeplot(de,[x,y(x)],-2..3, thickness=2, color=black): [> p2:=plot(p,x=-2..3,thickness=2,linestyle=3, color=blue): [> display(p1,p2);
Рис. 7.4. Графики точного и приближенного решений задачи Коши , , . Таким образом, наилучшее приближение решения степенным рядом достигается примерно на интервале -1< x <1.
Пример. Построить графики решений задачи Коши системы дифференциальных уравнений: (рис. 7.5). [> restart; cond:=x(0)=1,y(0)=2: [> sys:=diff(x(t),t)=2*y(t)*sin(t)-x(t)-t, diff(y(t),t)=x(t): [> F:=dsolve({sys,cond},[x(t),y(t)],numeric): [> with(plots): [> p1:=odeplot(F,[t,x(t)],-3..7, color=black, thickness=2,linestyle=3): [> p2:=odeplot(F,[t,y(t)],-3..7,color=green, thickness=2): [> p3:=textplot([3.5,8,"x(t)"], font=[TIMES, ITALIC, 12]): [> p4:=textplot([5,13,"y(t)"], font=[TIMES, ITALIC, 12]): [> display(p1,p2,p3,p4);
Рис. 7.5. Графики решений задачи Коши системы дифференциальных уравнений 7.2.2. Пакет графического представления решений дифференциальных уравнений DEtools Для численного решения задачи Коши, построения графиков решения и фазовых портретов в Maple имеется специальный пакет DEtools. Команда DEplot из пакета DEtools строит графики решения или фазовые портреты c использованием численных методов. Эта команда аналогична команде odeplot, но более функциональна. Она, в отличие от odeplot, сама производит численное решение дифференциального уравнения. Основные параметры команды DEplot похожи на параметры odeplot: DEplot(de, vars, range, x=х1..х2, y=у1..у2, cond, options); где 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)- ого порядка.
Пример. Построить график решения дифференциального уравнения (рис. 7.6): , , , в интервале . [>restart; with(DЕtools): [>DEplot(diff(y(x),x$3)+x* sqrt(abs(diff(y(x),x)))+x^2*y(x)=0, {y(x)}, x=-4..5,[[y(0)=0,D(y)(0)=1, (D@@2)(y)(0)=1]], stepsize=.1, linecolor=black, thickness=2); Рис. 7.6. График решения дифференциального уравнения Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |