开区间(a,b)和半开区间(a,b]使用Python的linspace
Open interval (a,b) and half-open interval (a,b] using Python's linspace
可以使用以下代码创建 [0,0.5) 形式的半开区间:
rv = np.linspace(0., 0.5, nr, endpoint=False)
其中 nr 是区间中的点数。
问题:如何使用linspace创建(a,b)形式的开区间或(a,b]形式的半开区间?
可能最简单的方法(因为 np.linspace()
中没有内置此功能)就是只切片您想要的内容。
假设您对间距为 0.1.
的区间 [0,1] 感兴趣
>>> import numpy as np
>>> np.linspace(0, 1, 11) # [0,1]
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
>>> np.linspace(0, 1, 11-1, endpoint=False) # [0,1)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
>>> np.linspace(0, 1, 11)[:-1] # [0,1) again
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
>>> np.linspcae(0, 1, 11)[1:] # (0,1]
array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
>>> np.linspace(0, 1, 11)[1:-1] # (0,1)
array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
可以使用以下代码创建 [0,0.5) 形式的半开区间:
rv = np.linspace(0., 0.5, nr, endpoint=False)
其中 nr 是区间中的点数。
问题:如何使用linspace创建(a,b)形式的开区间或(a,b]形式的半开区间?
可能最简单的方法(因为 np.linspace()
中没有内置此功能)就是只切片您想要的内容。
假设您对间距为 0.1.
>>> import numpy as np
>>> np.linspace(0, 1, 11) # [0,1]
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
>>> np.linspace(0, 1, 11-1, endpoint=False) # [0,1)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
>>> np.linspace(0, 1, 11)[:-1] # [0,1) again
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
>>> np.linspcae(0, 1, 11)[1:] # (0,1]
array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
>>> np.linspace(0, 1, 11)[1:-1] # (0,1)
array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])