2016-09-01 8 views
-4

このコードはWebで見つかりましたが、動作しません。この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をインストールしましたが、実行しようとしました。フィギュアとフロー機能を認識しません。他の図書館が必要ですか?

+3

あなたがどこかの浮遊コードを拾って、あなたは私たちがそれを修正したいですあなたが何をしているのか分からないときは? –

+0

私はあなたがウェブで見つけたコードだとは思わない。 – Goyo

+3

'import *'を使うと、どの関数がさまざまな関数のソースであるかを知ることが難しくなります。 – hpaulj

答えて

1

まず、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ライブラリに慣れていないんだし、あなたのコードが何をするか分からない - 。ちょうどGoogleで容疑者の機能を発見した)

関連する問題