Необходимая вам команда (начиная с версии 7): VectorPlot
. В документации есть хорошие примеры.
Я думаю, что интересующий вас случай - это дифференциальное уравнение
y'[x] == f[x, y[x]]
В случае, если вы задали вопрос,
f[x_, y_] := y
Который интегрируется в экспоненте
In[]:= sol = DSolve[y'[x] == f[x, y[x]], y, x]
Out[]= {{y -> Function[{x}, E^x c]}}
Мы можем построить поле наклона
(см. вики-книги: ODE: График ) с использованием
VectorPlot[{1, f[x, y]}, {x, -2, 2}, {y, -2, 2}]
Это можно построить с решениями DE, используя что-то вроде
Show[VectorPlot[{1, f[x, y]}, {x, -2, 2}, {y, -2, 8},
VectorStyle -> Arrowheads[0.03]],
Plot[Evaluate[Table[y[x] /. sol, {c, -10, 10, 1}]], {x, -2, 2},
PlotRange -> All]]
Возможно, более интересный пример - гауссовский
In[]:= f[x_, y_] := -x y
In[]:= sol = DSolve[y'[x] == f[x, y[x]], y, x] /. C[1] -> c
Out[]= {{y -> Function[{x}, E^(-(x^2/2)) c]}}
Show[VectorPlot[{1, f[x, y]}, {x, -2, 2}, {y, -2, 8},
VectorStyle -> Arrowheads[0.026]],
Plot[Evaluate[Table[y[x] /. sol, {c, -10, 10, 1}]], {x, -2, 2},
PlotRange -> All]]
Наконец, есть связанная концепция градиентного поля, где вы смотрите на градиент (векторную производную) функции:
In[]:= f[x_, y_] := Sin[x y]
D[f[x, y], {{x, y}}]
VectorPlot[%, {x, -2, 2}, {y, -2, 2}]
Out[]= {y Cos[x y], x Cos[x y]}