Алгебра и пакет Mathematica 5

новости в казахстане


Системы дифференциальных уравнений



Функция DSolve позволяет также решать системы дифференциальных уравнений.

Пример 10.9. Найдем решение системы дифференциальных уравнений х' = у, у' = -а2х, удовлетворяющее начальным условиям х = 1, у' = 0 при t = 0.

Теперь построим графики функций x(t) и y(t) для случая, когда параметр а принимает значение 1/2.

Чтобы построить фазовый портрет, нужно воспользоваться функцией ParametricPlot.

Однако не всегда функция DSolve справляется с системами дифференциальных уравнений.

Пример 10.10. Найдем решение системы дифференциальных уравнений у"= y2+z, z'= -2yy'+y, удовлетворяющее начальным условиям у = 0, у'= 0, z = 0 при х = 0.

sol2=DSolve[{y''[x]==y[x]^2+z[x] ,
z'[x]==-2*y[x]*y'[x]+y[x], у[0]==1,у'[0]==l,z[0]==0},{y,z},{x})
DSolve [{у"[x]==y[x]2+z[x],
z'[x]=y[x]-2y[x]y'[x],y[0]==1,y'[0] = 1,z[0] == 0},{y, z),{x}]

Как видите, несмотря на то что в данном случае решением является пара функций у = ё*, z - ef—e1*, функция DSolve не смогла найти его. В таких случаях, как и одно дифференциальное уравнение, так и систему дифференциальных уравнений приходится решать численно. Для этого можно воспользоваться функцией NDSolve. Вызов ее отличается от вызова функции DSolve лишь тем, что в нем нужно указать интервал, на котором ищется решение.
sol2=NDSolve[{y''[x]==y[x]^2+z[x],
2'[х]==-2*у[х]*у'[х]+у[х],
у[0]==1,у'[0]= =1, z[0]==0}, {y,z},{x,0,10}]
{{y->InterpolatingFunction[{{0.,10.}},<>],
z->InterpolatingFunction[{{0.,10.}),<>]}}

В данном случае уравнения представлены в виде интерполяционных функций для у(х) и z(x) на интервале (0, 10). Хотя это и не аналитические выражения, они позволяют вычислить значения наших функций — решений системы дифференциальных уравнений — в любой точке интервала (0, 10).

{y[5],z[5]}/.sol2
{ {148.413,-21878.}} 


Несложно представить решение и в табличном виде. Ниже, например, приведена таблица значений функций у(х) и z(x) на отрезке [1, 5].

Конечно, это совершенно нечитаемо, и лучше превратить это в обычную таблицу.


x

y(x)

z(х)

1

2.71828

-4.67077

1.2

3.32012

-7.70305

1.4

4.0552

-12.3894

1.6

4.95303

-19.5795

1.8

6.04965

-30.5486

2.

7.38906

-47.2091

2.2

9.02501

-72.4259

2.4

11.0232

-110.487

2.6

13.4637

-167.808

2.8

16.4446

-253.982

3.

20.0855

-383.343

3.2

24.5325

-577.312

3.4

29.9641

-867.883

3.6

36.5982

-1302.83

3.8

44.7012

-1953.49

4.

54.5981

-2926.36

4.2

66.6863

-4380.38

4.4

81.4508

-6552.79

4.6

99.4843

-9797.64

4.8

121.51

-14643.3

5.

148.413

-21878.


Эта таблица, несомненно, более читабельна, чем список, но гораздо нагляднее выглядят графики функций. Никаких проблем с их построением не возникает.

Назад Начало Вперед