Решение дифференциальных уравнений в частных производных методом функционального программирования в Maple
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
±олического типа методом разделения переменных:
. Ввод уравнения и разделение переменных
:=diff(u(t,r),t)=a^2*(diff(u(t,r),r,r)+(1/r)*diff(u(t,r),r));:=pdsolve(PDE,HINT=T(t)*R(r));
.Переобозначения постоянной и решение разделенных уравнений
_c[1]=-lambda^2*a^2: dsolve(diff(T(t),t)=-lambda^2*a^2*T(t));(diff(R(r),`$`(r,2))=-lambda^2*R(r)-diff(R(r), r)/r);
3.Учет условия регулярности решения в начале координат
(0,lambda*r)=series(BesselJ(0,lambda*r),r=0,4):(0,lambda*r)=series(BesselY(0,lambda*r),r=0,4):_C2=0;
. Учет граничного условия для решения на краю области: r = r0
[n](r):=BesselJ(0,lambda[n] *r);(0,mu[n])=0;:=BesselJZeros:mu(0,n);[n]:=mu(0,n)/r0;
5.Вывод решений радиального и временного уравнений
[n](r):=BesselJ(0,r*lambda [n]);[n](t):= C[n]*exp(-lambda[n]^2*a^2*t);
.Построение общего решения
[n](t,r):=T[n](t)*R[n](r): u(t,r):=Sum(u[n](t,r), n=1..infinity);
.Замена переменной
(t,rho):=subs(r=rho*r0,u(t,r));
.Учет начальных условий
(subs(t=0,u(t,rho))= F(rho*r0));
. Определение коэффициентов
[n]:=2/BesselJ(1,BesselJZeros(0,n))^2*
*int(rho*BesselJ(0,BesselJZeros(0,n)*rho)*F(rho*r0),rho = 0 .. 1);
.Вывод общего решения
(t,rho):=Sum(C[n]*exp(-BesselJZeros(0,n)^2/r0^2*a^2*t)*
*BesselJ(0,BesselJZeros(0,n)*rho),n=1..infinity);
3. Метод функций Грина и другие методы
Средства MAPLE позволяют использовать и другие методы решения уравнений. Рассмотрим процедуру построения формальных решений неоднородных уравнений параболического типа методом функций Грина.
Основными этапами построения решения этим методом являются:
) ввод неоднородного уравнения;
) ввод представления для решения уравнения в виде ряда Фурье;
) разложение функций в ряд Фурье;
) определение коэффициентов разложения;
) подстановка разложений функций в исходное уравнение;
) представление решения в виде суммы решений однородного и неоднородного уравнений;
) учет НУ, определение коэффициентов и вывод решения однородного уравнения;
) построение функции Грина;
) вывод решения однородного уравнения и частного решения неоднородного уравнения с помощью функции Грина;
) вывод решения уравнения.
Для неоднородных уравнений представим функциональные алгоритмы построения решений задачи о теплопроводности.
Функциональный алгоритм формального решения неоднородного уравнения параболического типа методом функций Грина:
.Ввод неоднородного уравнения
:=diff(u(t,x),t)=a^2*diff(u(t,x),x,x)+w(t,x);
.Ввод представления для решения уравнения в виде ряда Фурье
u(t,x):=Sum(u[n](t)*sin(Pi*n* x/L),n=1..infinity);
.Разложение функций в ряд Фурье
(t,x):=Sum(w[n](t)*sin(Pi*n*x/ L),n=1..infinity);(x):=Sum(F[n]*sin(Pi*n*x/L),n=1..infinity);
.Определение коэффициентов разложения
[n](t)=(2/L)*int(w(t,xi)*sin(Pi*n*xi/l), xi=0..L);[n]=(2/L)*int(F(xi)*sin(Pi*n* xi/L),xi=0..L);
5.Подстановка разложений функций u(t,x) и w(t,x) в исходное уравнение PDE;
.Представление решения в виде суммы решений однородного и неоднородного уравнений
[n](t)=u_Un[n](t)+u_Nu[n](t): u_Un[n](t):=_C1*exp(-a^2*Pi^2*n^2/L^2*t): u_Nu[n](t):=(Int(w[n](tau)*exp(a^2*Pi^2*n^2/L^2*(tau-t)),tau)):
7.Учет начальных условий, определение коэффициентов и вывод решения однородного уравнения
_0:=subs(t=0,u(t,x))=F(x): u[n](0)=F[n];(subs(t=0,u_Un[n](t)))= F[n];
.Построение функции Грина
(x,xi,t,tau):=Sum(2/L*exp(-a^2*Pi^2*n^2/L^2*(ttau))*
*sin(Pi*n*xi/L)*sin(Pi*n*x/L),n=1..infinity);
.Вывод решения однородного уравнения и частного решения неоднородного уравнения с помощью функции Грина
_Un(t,x):=Sum(u_Un[n](t)*sin(Pi*n*x/L),n=1..infinity);_Nu(t,x):=int(int(G(x,xi,t,tau)*w(tau,xi),xi=0..L),tau=0..t);
10.Вывод решения исходного неоднородного уравнения
u(t,x):=u_Un(t,x)+u_Nu(t,x);
ЗАКЛЮЧЕНИЕ
К дифференциальным уравнениям с частными производными мы приходим при решении самых разнообразных задач. Например, при помощи дифференциальных уравнений с частными производными можно решать задачи теплопроводности, диффузии, многих физических и химических процессов.
Курсовая работа посвящена именно решению дифференциальных уравнений в частных производных методом функционального программирования в прикладном математическом пакете Maple.
Были рассмотрены основные этапы реализации решений уравнений математическими методами, такими как метод разделенных переменных и метод Грина. Показаны решения уравнений параболического типа, и в приложении приведены примеры решения неоднородных уравнений методом функции Грина.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1.Араманович И.Г., Левин В.И.. Уравнения математической физики. - М.: Наука, 1964.
2.Голоскоков Д.П. Уравнения математической физики. Решение задач в системе Maple. -С-Пб: Питер, 2004.
.Сдвижников О.А., Математика на компьютере: Maple8. М.:Солон-Пресс, 2003. -176 с.
.Тихоненко А.В. Компьютерные математические пакеты в курсе Линейные и нелинейные уравнения физики. Часть 2. Параболические уравнения в MAPLE. - Обнинск: ИАТЭ, 2005.- 80 с.
ПРИЛОЖЕНИЕ А
Листинг программы на Maple 13
> restart;
Решить неоднородное уравнение
с неоднородностью
> w(tau,xi):=mu*(x-L/2)*sin(x/7)*t*exp(-alpha*t);
и однородными начальными условиями.
Функция Грина (функция источника):
> G(x,xi,t,tau):=sum(2/L*exp(-a^2*Pi^2*n^2/L^2*(t-tau))*sin(Pi*n*xi/L)*sin(Pi*n*x/L),n = 1 .. infinity);
Решение уравнения:
> u(t,x):=simplify(sum(int(2/L*exp(-a^2*Pi^2*n^2/L^2*(t-tau))*int(mu*(x-L/2)*sin(x/7)*t*exp(-alpha*t)*sin(Pi*n*xi/L),xi = 0 .. L),tau = 0 .. t)*sin(Pi*n*x/L),n = 1 .. infinity)) assuming n::integer;
> a:=0.1;L:=100;mu:=1; alpha:=0.25;(t,x):=sum(-mu*sin(1/7*x)*t*L^2*(-2*x+2*x*(-1)^n+L-L*(-1)^n)*(-1+exp(a^2*Pi^2*n^2/L^2*t))/a^2/Pi^3/n^3*exp(-t*(a^2*Pi^2*n^2+alpha*L^2)/L^2)*sin(Pi*n*x/L),n = 1 .. 300):(t,x):=mu*(x-L/2)*sin(x/7)*t*exp(-alpha*t);
Представим полученные решения в виде двумерных анимированных графиков:
> with(plots):(plot,[w(t,x),x=0..L, color=blue],t=0..40,frames=20,thickness=3);(plot,[u(t,x),x=0..L],t=0..40,frames=20,thickne