我不知道如何绘制仅包含1个变量的 vector 场。也许Mathematica不支持这一点。例如:

 r(t) = cost j + sint i

和...一样
 <cost, sint>

这不起作用:
VectorPlot[{cos t, sin t}, {t, 0, 2 Pi}]

作为奖励,如何取 vector 的导数?

最佳答案

一个简单的解决方法是将2D- VectorPlot与一个虚拟变量一起使用,如下所示:

VectorPlot[
  {Cos[t], Sin[t]}, {t, 0, 2 \[Pi]}, {s, -1/2, 1/2},
  AspectRatio -> Automatic,
  VectorPoints -> {15, 3},
  FrameLabel -> {"t", None}
]

或者可能更有意义的是在增加t的同时跟踪 vector 时离散化得到的曲线。这是例如对于量子力学中的费曼式动作积分有用。
Module[
  {t, dt = 0.1, vectors, startpoints, startpoint, vector, spv, spvs},
  vectors = Table[dt {Cos[t], Sin[t]}, {t, 0, 2 \[Pi], dt}];
  startpoints = Accumulate[vectors];
  spvs = Transpose[{startpoints, vectors}];
  Graphics[Table[Arrow[{spv[[1]], spv[[1]] + spv[[2]]}], {spv, spvs}]]
]

关于vector - Mathematica如何绘制带有1个变量的矢量场?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8732974/

10-10 05:14