Функция DSolve позволяет также решать системы дифференциальных уравнений.
Пример 10.9. Найдем решение системы дифференциальных уравнений х' = у, у' =
-а2х, удовлетворяющее начальным условиям х = 1, у' = 0 при t = 0.
Теперь построим графики функций x(t) и y(t) для случая, когда параметр а принимает значение 1/2.
Чтобы построить фазовый портрет, нужно воспользоваться функцией
ParametricPlot.
Однако не всегда функция DSolve справляется с системами дифференциальных уравнений.
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}]
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.}),<>]}}
{y[5],z[5]}/.sol2
{ {148.413,-21878.}}
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. |
Эта таблица, несомненно, более читабельна, чем список, но гораздо нагляднее выглядят графики функций. Никаких проблем с их построением не возникает.