朱莉娅的3D矢量绘图

unc*_*erg 5 plot julia

我正在尝试在Julia中绘制EM波(沿z方向传播)矢量场。我环顾四周,看起来像颤抖是我需要使用的,但我尝试了失败的结果。据我了解,(x,y,z)是向量的原点,(u,v,w)是向量本身在(x,y,z)点的原点。这是我到目前为止的内容,但这似乎无法产生正确的情节。我该如何工作?我也愿意尝试其他绘图库。提前致谢。

using Plots; gr()
t = 0; n = 100; k = 1; ? = 1; ? = ?/4
x = y = w = zeros(n)
z = range(0, stop=10, length=n)
u = @. cos(k*z - ?*t)
v = @. sin(k*z - ?*t)
quiver(x, y, z, quiver=(u, v, w), projection="3d")
Run Code Online (Sandbox Code Playgroud)

输出量

JKH*_*KHA 2

我不确定这是否是您想要的结果,但我已设法使您的代码在 Julia v1.1 中工作:

\n\n
using PyPlot\n\npygui(true)\n\nfig = figure()\nax = fig.gca(projection="3d")\nt = 0; n = 100; k = 1; \xcf\x89 = 1; \xcf\x86 = \xcf\x80/4\nx = y = w = zeros(n)\nz = range(0, stop=10, length=n)\nu = cos.(k*z .- \xcf\x89*t)\nv = sin.(k*z .- \xcf\x89*t)\nax.quiver(x,y,z, u,v,w)\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n\n

或者,用颜色:

\n\n
using PyPlot\nusing Random\n\nfunction main()\n    pygui(true)\n\n    fig = figure()\n    ax = fig.gca(projection="3d")\n    t = 0; n = 100; k = 1; \xcf\x89 = 1; \xcf\x86 = \xcf\x80/4\n    x = y = w = zeros(n)\n    z = range(0, stop=10, length=n)\n    u = cos.(k*z .- \xcf\x89*t)\n    v = sin.(k*z .- \xcf\x89*t)\n    a = ((u[1], 0.8, 0.5), (u[2], 0.8, 0.5))\n    for i in 3:length(u)-2\n        a = (a..., (abs(u[i]), 0.8, 0.5))\n    end\n    c = ((0.4, 0.5, 0.4), (0.4, 0.9, 0.4), (0.1, 0.1, 0.1))\n    q = ax.quiver(x,y,z, u,v,w, color = a)\nend\nmain()\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n