如何将变量步骤插入Numpy mgrid?

时间:2015-07-01 14:10:35

标签: python numpy

我正在尝试使用numpy.mgrid创建两个网格数组,但我想要一种方法来插入变量作为步数。

如果没有可变数量的步骤,numpy.mgrid将按预期使用此代码:

x, y = np.mgrid[0:1:3j, 0:2:5j]

但是,我想要的是这样的,因为我无法在代码行中明确说明我的步骤编号以生成网格数组(由于我的脚本中的其他进程,值可能会发生变化):

num_x_steps = 3
num_y_steps = 5
x, y = np.mgrid[0:1:(num_x_steps)j, 0:2:(num_y_steps)j] #Try convert to complex

有没有办法做到这一点,返回的结果等同于第一种方法?

我尝试使用括号和不带括号运行我的3行代码并尝试了其他一些修改,但似乎没有任何效果。

注意:我尝试阅读this主题,但我不确定该主题涉及的内容是否适用于此问题;我不太明白被问到什么或者如何回答。 (另外,我尝试从答案中运行代码行,它返回了一个MemoryError。)如果说的主题确实解决了我的问题,有人可以更好地解释它,以及它如何适用于我的问题?

2 个答案:

答案 0 :(得分:5)

小故障是Range("A1").Select 'Your query worksheet With Selection.QueryTable .CommandText = queryText .Refresh BackgroundQuery:=False End With 括号后面没有转换为复数。

j

将值乘以In [41]:(1)j File "<ipython-input-41-874f75f848c4>", line 1 (1)j ^ SyntaxError: invalid syntax 会有效,而这些行会使1j等同于您的第一行:

x, y

答案 1 :(得分:3)

我认为您要找的是将步数转换为复数。

num_x_steps = 3
x_steps = complex(str(num_x_steps) + "j")

num_y_steps = 5
y_steps = complex(str(num_y_steps) + "j")

x, y = np.mgrid[0:1:x_steps, 0:2:y_steps]