我不知道如何绘制仅包含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/