2

関数を保持する配列を作成したいf(x,y,z)。それが 1 つの変数の関数である場合、たとえば、次のようにします。

sinx = numpy.sin(numpy.linspace(-5,5,100))

sin(x)に入れるx[-5,5]

たとえば、どうすれば同じことを取得できますsin(x+y+z)か?

4

3 に答える 3

5

私は方法を見つけたようです:

# define the range of x,y,z
x_range = numpy.linspace(x_min,x_max,x_num)
y_range = numpy.linspace(y_min,y_max,y_num)
z_range = numpy.linspace(z_min,z_max,z_num)

# create arrays x,y,z in the correct dimensions
# so that they create the grid
x,y,z = numpy.ix_(x_range,y_range,z_range)

# calculate the function of x, y and z
sinxyz = numpy.sin(x+y+z)
于 2009-09-05T12:00:49.777 に答える
4
xyz = numpy.mgrid[-5:5,-5:5,-5:5]
sinxyz = numpy.sin(xyz[0]+xyz[1]+xyz[2])
于 2010-02-18T11:20:02.593 に答える
-1

numpy.mgrid 関数も同様に機能します。

x,y,z = numpy.mgrid[x_min:x_max:x_num, y_min:y_max:y_num, z_min:z_max:z_num]  
sinxyz = numpy.sin(x+y+z)

編集:それを機能させるにはx_num、明示的な数字の後に が続く必要があります。たとえば、y_numz_numjx,y = numpy.mgrid[-1:1:10j, -1:1:10j]

于 2013-04-03T01:16:44.490 に答える