哪个包有这个python函数



我在网上找到了这段代码,但是它不起作用。

from numpy import *
from mayavi import *
N = 100 
a = 0.
b = 1.
dt = b / N;
q = [1., -1., 1., -1.]
qpos = [[0.56, 0.56, 0.50],
        [0.26, 0.76, 0.50],
        [0.66, 0.16, 0.50],
        [0.66, 0.86, 0.50]]
x,y,z = mgrid[a:b:dt, a:b:dt, 0.:1.:0.5]
Ex, Ey, Ez = mgrid[a:b:dt, a:b:dt, 0.:1.:0.5]
for i in range(N):
    for j in range(N):
        Ex[i,j] = 0.0
        Ey[i,j] = 0.0
        for num in range(len(q)):
            rs = ((x[i,j] - qpos[num][0])**2 + (y[i,j] - qpos[num][1])**2)
            r = sqrt(rs)
            q1x = q[num] * (x[i,j] - qpos[num][0]) / (r * rs)
            q1y = q[num] * (y[i,j] - qpos[num][1]) / (r * rs)
            Ex[i,j] = q1x + Ex[i,j]
            Ey[i,j] = q1y + Ey[i,j]
fig = figure(fgcolor=(0,0,0), bgcolor=(1,1,1))
streams = list()
for s in range(len(q)):
    stream = flow(x,y,z,Ex, Ey, Ez, seed_scale=0.5, seed_resolution=1, seedtype='sphere')
    streams.append(stream)
fig.scene.z_plus_view()
fig.scene.parallel_projection = True

我已经安装了numpy和mayavi,但是当我试图运行。不能识别图形和流程函数。我还需要别的图书馆吗?

首先,检查您是否有NumPy和Mayavi实际工作。只要运行python(或IDLE),当您看到>>>提示符时,输入import numpy,然后是import mayavi。如果您看到任何ImportError消息(或任何其他错误),那么您没有。通常,您应该拥有的只是另一个>>>提示符。

它应该是这样的:

$ python
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> import mayavi
>>>

如果你让它工作,一个大胆的猜测是你可以试着在import语句下面添加这个:

from mayavi.mlab import flow
from mayavi.tools.figure import figure

也许它会起作用。

(我实际上不熟悉Mayavi库,不知道你的代码是做什么的-只是在谷歌上找到了可疑的函数。)

相关内容

  • 没有找到相关文章

最新更新