Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中连续函数离散化的有效方法_Python_Performance - Fatal编程技术网

Python中连续函数离散化的有效方法

Python中连续函数离散化的有效方法,python,performance,Python,Performance,我想在Python中离散连续函数,在这里我可以任意设置离散强度eta。在我当前的实现中,如果eta变为无穷大,则根本没有离散化。下面是两个eta=5的示例 我想知道是否有更好的方法在Python中离散化连续函数?也许有这样一个函数的Numpy实现,我目前不知道哪个更快。现在,下面的实现是我代码中的一个瓶颈 将numpy导入为np 将matplotlib.pyplot作为plt导入 def continous2discrete(x,eta): return(x*eta).astype(np.i

我想在Python中离散连续函数,在这里我可以任意设置离散强度
eta
。在我当前的实现中,如果
eta
变为无穷大,则根本没有离散化。下面是两个
eta=5
的示例

我想知道是否有更好的方法在Python中离散化连续函数?也许有这样一个函数的Numpy实现,我目前不知道哪个更快。现在,下面的实现是我代码中的一个瓶颈

将numpy导入为np
将matplotlib.pyplot作为plt导入
def continous2discrete(x,eta):
return(x*eta).astype(np.int).astype(np.double)/eta
def main():
x=np.linspace(-2,21000);
plt.plot(x,np.sin(np.pi*x))
y=continuus2discrete(np.sin(np.pi*x),eta=5)
平面图(x,y)
plt.show()
如果名称=“\uuuuu main\uuuuuuuu”:
main()

考虑发布在
.astype(np.int).astype(np.double)
我想不出任何理由。“穷人的”舍入?@roganjosh你说得对!我可能应该改为使用
np.round()
。谢谢你为我指出这一点@Samuel更像是
np.trunc()
-
np.round()
舍入到下一个偶数值。