Численное решение задачи с помощью пакета Maple. Сравнение с результатами приближённого аналитического решения
Дифференциальные уравнения лежат в основе математического моделирования различных, в том числе физических, систем и устройств [8,9]. Рассмотрим основные возможности для решения дифференциальных уравнений в частных производных в среде Maple, а также сравним результаты, полученные с помощью данного математического пакета с моим приближенным аналитическим решением.
В Maple имеется функция pdsolve для решения дифференциальных уравнений в частных производных. Она может использоваться в следующих формах записи:
pdsolve(PDE, f, HINT, INTEGRATE, build)
pdsolve(PDE_systern, funcs, HINT, other_options)(PDE_system, conds, numeric, other_options)(PDE_system, conds, type=numeric, other_options)
Эта функция введена вместо устаревшей функции pdesolve. В функции pdsolve используются следующие параметры:- одиночное дифференциальное уравнение с частными производными;- система дифференциальных уравнений с частными производными;- начальные или граничные условия;- неопределенная функция или имя;- (опция) множество или список с неопределенными функциями или именами;- (опция) равенство в форме HINT = argument, где аргумент может быть символом '+', '*', любым алгебраическим выражением или строкой 'strip';- (опция) задает автоматическое интегрирование для множества ODEs (если PDE решается при разделении переменных;- опция, задающая попытку построения явного выражения для неопределенной функции, независимо от общности найденного решения;- ключевое слова, задающее решение в численном виде;_options - другие опции.
Для решения дифференциальных уравнений с частными производными и его визуализации в Maple служит специальный инструментальный пакет PDEtool:
> with(PDEtools);
[PDEplot, build, casesplit, charstrip, dchange, dcoeffs, declare, difforder, dpolyform, dsubs, mapde, separability, splitstrip, splitsys, undeclare].
Ввиду небольшого числа функций этого пакета приведем их определения: build(sol) - конструирует улучшенную форму решения, полученного функцией pdsolve;(sys, o1, 02, .) - преобразует форму дифференциального уравнения;(PDE.f) - находит характеристическую последовательность, дающую дифференциальное уравнение первого порядка;(tr,expr,o1,02, .) - выполняет замену переменных в математических выражениях или функциях;(expr,y(x)) - возвращает коэффициенты полиномиала дифференциального уравнения;(expr) и др. - задает функцию для компактного ее отображения;(a.x) - возвращает порядок дифференциала в алгебраическом выражении а;(systno_Fn,opts) - возвращает полиномиальную форму для заданной системы sys не полиномиальных дифференциальных уравнений;(deriv1=a, .fexpr) - выполняет дифференциальные подстановки в выражение ехрг;(PDE,intoff) - создает карту PDE в различных форматах into с опциональным заданием имени неизвестной функции f;(PDE, F(x,y, .), '*') - определяет условия разделения для сумм или произведений PDE;(PDE,f) - разделяет характеристическую последовательность на несоединенные поднаборы;(sys.funcs) - разделяет наборы уравнений (алгебраические и дифференциальные) на несоединенные поднаборы;(f(x), .) и др. - отменяет задание функции для компактного ее отображения.
Одна из важнейших функций пакета DEtools - DEtools[PDEplot] - служит для построения графиков решения систем с квазилинейными дифференциальными уравнениями первого порядка в частных производных. Эта функция используется в следующем виде: