我试图使用numpy.mgrid创建两个网格数组,但我想要一种方法来插入一个变量作为步骤数.
如果没有可变数量的步骤,numpy.mgrid将按预期使用此代码:
x, y = np.mgrid[0:1:3j, 0:2:5j]
Run Code Online (Sandbox Code Playgroud)
但是,我想要的是这样的,因为我无法在代码行中明确说明我的步骤编号以生成网格数组(由于我的脚本中的其他进程,值可能会更改):
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
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,返回一个等效于第一个方法的结果?
我尝试使用括号和不带括号运行我的3行代码并尝试了其他一些修改,但似乎没有任何工作.
注意:我尝试阅读此主题,但我不确定该主题涉及的内容是否适用于此问题; 我不太明白被问到什么或如何回答.(另外,我尝试从答案中运行代码行,它返回了一个MemoryError.)如果说的主题确实回答了我的问题,有人可以更好地解释它,以及它如何适用于我的问题?
小故障是j括号后面没有转换为复数.
In [41]:(1)j
File "<ipython-input-41-874f75f848c4>", line 1
(1)j
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
将值乘以1j将起作用,这些行x, y等同于您的第一行:
num_x_steps = 3
num_y_steps = 5
x, y = np.mgrid[0:1:(num_x_steps * 1j), 0:2:(num_y_steps * 1j)]
Run Code Online (Sandbox Code Playgroud)