我正在寻找一些类似于MATLAB中的ARRAYFUN的东西,但是是Python。我需要做的是计算一个矩阵,它的分量是exp(j*dot([kx,ky],[x,y]),其中[kx,ky]是一个固定的已知向量,[x,y]是网格中的一个元素。你知道吗
我想做的是定义
RX, RY = np.meshgrid(np.arange(N), np.arange(M))
R = np.dstack((RX,RY))
然后在R索引上迭代,填充一个与R形状相同的矩阵,其中每个分量都是exp(j*dot([kx,ky],[x,y]),其中[x,y]在R中。这看起来既不高效也不优雅。你知道吗
谢谢你的帮助。你知道吗
在他们添加
ARRAYFUN
之前,您可以像我们在MATLAB中所做的那样-更改计算,使其与数组一起工作。在MATLAB中的一切都是2d的时代,这可能会很棘手;允许更多的维度使它变得更容易。numpy
允许2个以上的维度。你知道吗总之,这里有一个快速的尝试:
还有其他版本的
dot
、matmul
和tensordot
,但是einsum
是我喜欢使用的。我已经做了足够多的工作来快速建立一个多维的dot
。你知道吗现在只需对每个元素应用
1j
和exp
:相关问题 更多 >
编程相关推荐