Я хочу дискретизировать непрерывные функции в Python, где я могу произвольно установить степень дискретизации eta
.В моей текущей реализации нет дискретизации вообще, если eta
идет в бесконечность.Вот два примера с eta = 5
.
Я хотел бы знать, если есть гораздо лучшеспособ дискретизации непрерывной функции в Python?Может быть, есть реализация Numpy такой функции, о которой я сейчас не знаю, которая работает намного быстрее.Прямо сейчас реализация в моем коде является узким местом.
import numpy as np
import matplotlib.pyplot as plt
def continous2discrete(x, eta):
return (x*eta).astype(np.int).astype(np.double) / eta
def main():
x = np.linspace(-2,2,1000);
plt.plot(x,np.sin(np.pi*x))
y = continous2discrete(np.sin(np.pi*x), eta=5)
plt.plot(x,y)
plt.show()
if __name__ == "__main__":
main()