Mathematica VectorPlot ***保持***

Mathematica VectorPlot ***Hold***

我需要求解并绘制方程 y'=cos(y)-1 的斜率场。

DSolve[{y'[x] == -1 + Cos[y[x]]}, y[x], x]

VectorPlot[{1, (-1 + Cos (y))}, {x, -3, 3}, {y, -3, 3}]

我得到一张空图。有帮助吗?

如评论中所建议,您应该在 Mathematica.

中使用 Cos[] 而不是 Cos()

你可以解出这首颂歌并将 VectorPlot 与这样的求解曲线结合起来

soln[y0_?NumericQ] :=First@DSolve[{y'[x] == -1 + Cos[y[x]], y[0] == y0}, {y}, {x, 0,10}];
vp = VectorPlot[{1, (-1 + Cos[y])}, {x, -3, 3}, {y, -3, 3}];
Show[vp, Plot[
  Evaluate[{y[x]} /. soln[#] & /@ Range[-20, 20, 0.3]], {x, -3, 3}, 
  PlotRange -> All, MaxRecursion -> 8, AxesLabel -> {"x", "y"}]]