【发布时间】:2019-12-22 03:43:33
【问题描述】:
我使用 numpy 网格网格已经很长时间了,并且在尝试通过函数传递网格网格时通常没有发现任何问题。根据我的经验,我总是可以将我的坐标空间定义为
x,y,z = numpy.meshgrid(numpy.linspace(-10,10,10),
numpy.linspace(-10,10,10),
numpy.linspace(-10,10,10))
然后可以很容易地计算出类似的东西
u,v,w = numpy.sin(x*y)+numpy.cos(z).
我的问题源于需要在该计算中进行叉积。我正在使用网格网格定义一个字段,并尝试通过函数传递整个网格网格:
field_equation = lambda x,y,z: sum([parameter*np.cross([wire_x[i],wire_y[i],wire_z[i]],[x,y,z]) for i in range(len(wire))])
根据我尝试解决问题的方式,我会遇到很多问题。该代码在一次通过一个点(x,y,z)时运行良好,但无法计算整个字段。我该如何解决这个问题?
【问题讨论】:
-
什么是
wire? (如果数组它的维度是多少?)parameter相同? -
@9mat:wire 是一个基本上由 3 个点列表 (x,y,z) 组成的类。因此,wire_x[i] 是一个单独的数字。参数是一个浮点数。
标签: python arrays numpy simulation