Эффективный способ дискретизации непрерывных функций в Python - PullRequest
0 голосов
/ 26 сентября 2019

Я хочу дискретизировать непрерывные функции в Python, где я могу произвольно установить степень дискретизации eta.В моей текущей реализации нет дискретизации вообще, если eta идет в бесконечность.Вот два примера с eta = 5.

enter image description here enter image description here

Я хотел бы знать, если есть гораздо лучшеспособ дискретизации непрерывной функции в 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...