Решение дифференциальных уравнений в символьном виде
Решение дифференциальных уравнений в символьном виде
Дифференциальными принято называть уравнения, в состав которых входят производные функции у(х), представляющей решение уравнения. Дифференциальные уравнения могут быть представлены в различной форме, например в общеизвестной форме Коши:
у'(х) = eqn=f(x,y).
Несколько дифференциальных уравнений образуют систему дифференциальных уравнений. Решение таких систем также возможно средствами Mathematica и подробно описано в ряде книг по использованию системы [65-71]. Дифференциальные уравнения и системы дифференциальных уравнений могут быть линейными и нелинейными. Для линейных уравнений обычно существуют решения в аналитическом виде. Нелинейные дифференциальные уравнения в общем случае аналитических решений не имеют, но могут решаться приближенными численными методами.
Дифференциальные уравнения широко используются в практике математических вычислений. Они являются основой при решении задач моделирования — особенно в динамике. Немногие математические системы имеют реализации численных методов решения систем дифференциальных уравнений. Но система Mathematica имеет средства как для символьного, так и для численного решения дифференциальных уравнений и их систем.
Для решения дифференциальных уравнений в символьном виде используются следующие средства:
-
DSolve[eqn, y[x], х] — решает дифференциальное уравнение относительно функций у [ х ] с независимой переменной х;
-
DSolve[{eqnl, eqn2,...}, {yl [xl,...],...}, {xl,...}]-решает систему дифференциальных уравнений.
У функции DSolve и ее численного варианта NDSolve есть пара опций, на которые следует обратить внимание:
-
DSolveConstants — опция к DSolve, определяющая постоянные интегрирования, которые будут использованы в результате;
-
StartingStepSize — опция к NDSolve, определяющая величину начального шага.
В решении дифференциальных уравнений встречаются постоянные интегрирования. По умолчанию они обозначаются как С [ i ].
Приведем примеры решения дифференциальных уравнений:
DSolve [Derivative [1] [у] [х] ==2*а*х^3, у[х], х]
{{у[х]->aх4/2+С[1]}}
DSolve[{yl' [х] == 2 х2, у2' [х] == 3 х}, {yl[х], у2[х]}, х]
{{yl[x] ->-2х3/3+C[1], у2[х] ->3х2/2+C[2]}}
DSo2ve{y'[x] +у[х] ==х, у[х], х}
{{у[х] -*-1+х + е-хС[1]}}
DSolve [у" [х] - у' [х] - 6 у [х] == 0, у [х] , х]
{{У[х] ->| е-4хС[1] + С[2] -Cos[2x] -|sin[2x]}}
DSolve [у" [х] + 4 у'[х] == 10 Sin [2 х] , у [х] , х]
{{У[х] ->| е-4хС[1] + С[2] -Cos[2x] -|sin[2x]}}
DSolve[y'[x] == Sin[Ex] , y[x] , x]
{{y[x] ->C[1] +Sinlntegral[ex]}}
DSolvefz2 w"[z] +zw'[z] - (z2 + l)w[z] ==0, w[z], z]
{{w[z] ->BesselI[l, z] C[l] +BesselK[l, z] C[2] }}
Как нетрудно заметить, аналитические решения дифференциальных уравнений могут содержать не только элементарные, но и специальные математические функции, что заметно расширяет возможности применения системы Mathematica в решении задач динамического моделирования.
Содержание раздела