我无法弄清楚如何仅使用1个变量绘制矢量场。也许Mathematica不支持这一点。例如:
r(t) = cost j + sint i
与
相同 <cost, sint>
这不起作用:
VectorPlot[{cos t, sin t}, {t, 0, 2 Pi}]
作为奖励如何获取向量的导数?
答案 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}
]
或者更有意义的是,在增加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}]]
]