Mathematica如何使用1个变量绘制矢量场?

时间:2012-01-04 19:43:06

标签: vector wolfram-mathematica plot

我无法弄清楚如何仅使用1个变量绘制矢量场。也许Mathematica不支持这一点。例如:

 r(t) = cost j + sint i

相同
 <cost, sint>

这不起作用:

VectorPlot[{cos t, sin t}, {t, 0, 2 Pi}] 

作为奖励如何获取向量的导数?

1 个答案:

答案 0 :(得分:13)

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

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

VectorPlot with dummy variable

或者更有意义的是,在增加t时跟随向量时得到的曲线离散化。这是例如对量子力学中的费曼式动作积分很有用。

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}]]
]

Feynman 1D-vectorplot