Компьютерная алгебра в программе Mathematica 4

         

Решение дифференциальных уравнений в символьном виде



Решение дифференциальных уравнений в символьном виде

Дифференциальными принято называть уравнения, в состав которых входят производные функции у(х), представляющей решение уравнения. Дифференциальные уравнения могут быть представлены в различной форме, например в общеизвестной форме Коши:

у'(х) = 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 в решении задач динамического моделирования.









Содержание раздела