使用python

时间:2017-10-30 09:51:58

标签: numpy grid boundary

我可以通过简单地说:

在矩形域中制作简单的点网格
import numpy as np

x = np.linspace(0,2,M+1)
y = np.linspace(0,1,N+1)
X,Y = np.meshgrid(x,y)

并按照我想要的特定顺序放置此值(我希望代码读取x中的点,然后转移到下面的y)

positions = np.vstack([Y.ravel(), X.ravel()])

现在,我需要我的代码来区分外围点和网格的内部点,并且能够轻松地调用它们,因为我的函数已知道这些点的值。怎么办呢?

1 个答案:

答案 0 :(得分:0)

矩形轴对齐网格的周长由任一坐标最极端的所有点组成。

简单地说,找到x和y最大和最小的所有位置:

$ cat f2
.doubleclick.com
.doubleclick.net
0------------0-------------0.0n-line.info
0----0.0----0.1596.hk

$ awk 'sub(/^\./,"")+1' f2
doubleclick.com
doubleclick.net
0------------0-------------0.0n-line.info
0----0.0----0.1596.hk

如果相应的点is_perimeter = (positions[0] == np.min(y)) | (positions[0] == np.max(y)) | (positions[1] == np.min(x)) | (positions[1] == np.max(x)) 在周边,则i is_perimeter[i]True,否则为positions[:, i]

让我们验证结果:

False

enter image description here