我用下面的代码解决了一个等式:
from numpy import arange
wt=647
wp=119000
e0=10983849
w = arange(0, 1000)
e = e0-(wp**2/(w*2+wt))
plot(w, e)
然而,我想要一个w
的小变体,而不是从0到1000或100,但是从5到6,每个数字之间有100步。
变异应该有100个步骤,例如w
变化为[5.01,5.02,5.03,5.04,5.05 ...... 5.98,5.99,6.00]
有人知道怎么做吗?
答案 0 :(得分:2)
使用np.linspace
:
In [217]: np.linspace(5.01, 6, 100)
Out[217]:
array([ 5.01, 5.02, 5.03, 5.04, 5.05, 5.06, 5.07, 5.08, 5.09,
5.1 , 5.11, 5.12, 5.13, 5.14, 5.15, 5.16, 5.17, 5.18,
5.19, 5.2 , 5.21, 5.22, 5.23, 5.24, 5.25, 5.26, 5.27,
5.28, 5.29, 5.3 , 5.31, 5.32, 5.33, 5.34, 5.35, 5.36,
5.37, 5.38, 5.39, 5.4 , 5.41, 5.42, 5.43, 5.44, 5.45,
5.46, 5.47, 5.48, 5.49, 5.5 , 5.51, 5.52, 5.53, 5.54,
5.55, 5.56, 5.57, 5.58, 5.59, 5.6 , 5.61, 5.62, 5.63,
5.64, 5.65, 5.66, 5.67, 5.68, 5.69, 5.7 , 5.71, 5.72,
5.73, 5.74, 5.75, 5.76, 5.77, 5.78, 5.79, 5.8 , 5.81,
5.82, 5.83, 5.84, 5.85, 5.86, 5.87, 5.88, 5.89, 5.9 ,
5.91, 5.92, 5.93, 5.94, 5.95, 5.96, 5.97, 5.98, 5.99, 6. ])
np.arange
和np.linspace
通常用于返回均匀间隔的数字。 arange
明确指定step
,而linspace
使用(stop-start)/(num-1)
隐式计算步骤。
答案 1 :(得分:1)
arange
function采用可选的step
参数:
>>> arange(5, 6.01, .01)
array([ 5. , 5.01, 5.02, 5.03, 5.04, 5.05, 5.06, 5.07, 5.08,
5.09, 5.1 , 5.11, 5.12, 5.13, 5.14, 5.15, 5.16, 5.17,
5.18, 5.19, 5.2 , 5.21, 5.22, 5.23, 5.24, 5.25, 5.26,
5.27, 5.28, 5.29, 5.3 , 5.31, 5.32, 5.33, 5.34, 5.35,
5.36, 5.37, 5.38, 5.39, 5.4 , 5.41, 5.42, 5.43, 5.44,
5.45, 5.46, 5.47, 5.48, 5.49, 5.5 , 5.51, 5.52, 5.53,
5.54, 5.55, 5.56, 5.57, 5.58, 5.59, 5.6 , 5.61, 5.62,
5.63, 5.64, 5.65, 5.66, 5.67, 5.68, 5.69, 5.7 , 5.71,
5.72, 5.73, 5.74, 5.75, 5.76, 5.77, 5.78, 5.79, 5.8 ,
5.81, 5.82, 5.83, 5.84, 5.85, 5.86, 5.87, 5.88, 5.89,
5.9 , 5.91, 5.92, 5.93, 5.94, 5.95, 5.96, 5.97, 5.98,
5.99, 6. ])
答案 2 :(得分:0)
您只需指定np.arange
的步骤参数即可。例如:
>>> np.arange(0, 1, .1)
[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
或者,您可以使用np.linspace
,指定在给定的时间间隔内您想要多少个数字:
>>> np.linspace(0, 0.9, 10)
[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
有关详细信息,请参阅Numpy文档。