Решение дифференциальных уравнений
Maple располагает встроенной функцией dsolve для численного и аналитического решения дифференциальных
уравнений и систем следующей структуры:
dsolve({ODE, 1С},{ funcs}, extra_args).
Здесь ODE - дифференциальное уравнение или система уравнений, 1С - начальные или граничные условия,
funcs - неизвестная функция (или функции), extra_args - параметры, определяющие метод решения задачи, для
численного решения необходимо указать type=numeric.
Решение дифференциального уравнения рассмотрим на примере.
Eq1:=diff(x(t),t$2)+4*diff(x(t),t)+13*x(t)=exp(t);#Определяем уравнение
Init_cond:=x(0.25)=-1,D(x)(0.25)=1;#Определяем начальные условия
dsolve({Eq1,Init_cond},x(t));#Решаем уравнение аналитически с помощью функции dsolve
Теперь на примере этой же задачи рассмотрим решение систем. Это уравнение может быть записано как система обыкновенных дифференциальных уравнений с начальными условиями. Решение систем,в Maple мало чем отличается от решения уравнений, просто вместо одного уравнения через запятую записывается несколько.
Eq2:=diff(y(t),t)+4*diff(y(t),t)+13*x(t)=exp(t),diff(x(t),t)=y(t);#Определяем систему уравнение
init_2:=y(0.25)=1,x(0.25)=-1;#Определяем начальные условия
dsolve({Eq2,init_2},{x(t),y(t)}); #Решаем систему уравнение аналитически с помощью функции dsolve
Аналогичным образом можно решать и более сложные системы. В качестве еще одного примера рассмотрим жесткую систему.Однако, интервал интегрирования системы следует разбивать на меньшие участки и решать жесткую систему последовательно на каждом из них.
eq3:=diff(x(t),t)=-7*x(t)+7*y(t),diff(y(t),t)=157*x(t)+y(t)-1.15*x(t)*z(t),diff(z(t),t)=0.96*x(t)*y(t)-8.36*z(t);#Система дифференциальных уравнений
init_3:=x(0)=-1,y(0)=0,z(0)=1; #Начальные условия системы
XYZ:=dsolve({eq3,init_3},{x(t),y(t),z(t)},type=numeric);#Формируем численное решение системы
XYZ(0); XYZ(0,2); XYZ(1); #Вычмсляем значения x,y,z в нужных точках