我需要求解并绘制方程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}]
我得到一张空图。有什么帮助吗?
答案 0 :(得分:1)
根据评论中的建议,您可以在 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"}]]