首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建精细化的2D网格?Python

如何创建精细化的2D网格?Python
EN

Stack Overflow用户
提问于 2015-11-15 21:04:07
回答 2查看 955关注 0票数 1

我如何创建一个精细化的网格,假设x和y在两个方向上从0到1,在0.4到0.6之间,我希望这些点更接近。

我一直在读关于numpy.logspace的文章,但它不允许太多的自由。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2015-11-15 21:33:31

此功能没有特定的命令,但您可以通过以下方式使用numpy.concatenate构建阵列:

代码语言:javascript
复制
import numpy

start = 0
end = 1
bigstep = 0.1

refinedstart = 0.4
refinedend = 0.6
smallstep = 0.01

x = numpy.concatenate([numpy.arange(start, refinedstart, bigstep),
                       numpy.arange(refinedstart, refinedend, smallstep),
                       numpy.arange(refinedend, end, bigstep)])
票数 1
EN

Stack Overflow用户

发布于 2015-11-15 23:42:59

这取决于您希望如何“挤压”中间值。但是假设你想做二次,在每个轴上使用一个从-10到10的11 x 11网格:

代码语言:javascript
复制
a = np.linspace(-np.sqrt(10), np.sqrt(10), 11)
b = np.sign(a)*a**2
x, y = np.meshgrid(b, b)

要查看此网格的外观,请执行以下操作:

代码语言:javascript
复制
import matplotlib.pyplot as plt
plt.plot(x.flatten(), y.flatten(), '*')
plt.show()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33719975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档